class Php

Same name in this branch

Provide PHP code to validate whether or not an argument is ok.

Plugin annotation


@Plugin(
  id = "php",
  title = @Translation("PHP Code")
)

Hierarchy

Expanded class hierarchy of Php

Related topics

File

drupal/core/modules/views/lib/Drupal/views/Plugin/views/argument_validator/Php.php, line 23
Definition of Drupal\views\Plugin\views\argument_validator\Php.

Namespace

Drupal\views\Plugin\views\argument_validator
View source
class Php extends ArgumentValidatorPluginBase {
  protected function defineOptions() {
    $options = parent::defineOptions();
    $options['code'] = array(
      'default' => '',
    );
    return $options;
  }
  public function buildOptionsForm(&$form, &$form_state) {
    parent::buildOptionsForm($form, $form_state);
    $form['code'] = array(
      '#type' => 'textarea',
      '#title' => t('PHP validate code'),
      '#default_value' => $this->options['code'],
      '#description' => t('Enter PHP code that returns TRUE or FALSE. No return is the same as FALSE, so be SURE to return something if you do not want to declare the argument invalid. Do not use <?php ?>. The argument to validate will be "$argument" and the view will be "$view". You may change the argument by setting "$handler->argument". You may change the title used for substitutions for this argument by setting "$handler->validated_title".'),
    );
    $this
      ->check_access($form, 'code');
  }

  /**
   * Only let users with PHP block visibility permissions set/modify this
   * validate plugin.
   */
  public function access() {
    return user_access('use PHP for settings');
  }
  function validate_argument($argument) {

    // set up variables to make it easier to reference during the argument.
    $view =& $this->view;
    $handler =& $this->argument;
    ob_start();
    $result = eval($this->options['code']);
    ob_end_clean();
    return $result;
  }

}

Members

Name Modifiers Type Descriptionsort descending Overrides
Php::validate_argument function Overrides ArgumentValidatorPluginBase::validate_argument
PluginBase::setOptionDefaults protected function
PluginBase::query public function Add anything to the query that we might need to. 13
PluginBase::globalTokenForm public function Adds elements for available core tokens to a form.
PluginBase::destroy public function Clears a plugin. 2
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::__construct public function Constructs a Plugin object. Overrides PluginBase::__construct
PluginBase::$usesOptions protected property Denotes whether the plugin has an additional options form. 8
ArgumentValidatorPluginBase::check_access function If we don't have access to the form but are showing it anyway, ensure that the form is safe and cannot be changed from user input.
PluginBase::getDefinition public function Implements Drupal\Component\Plugin\PluginInterface::getDefinition(). Overrides PluginInspectionInterface::getDefinition
PluginBase::getPluginId public function Implements Drupal\Component\Plugin\PluginInterface::getPluginId(). Overrides PluginInspectionInterface::getPluginId
ArgumentValidatorPluginBase::init public function Initialize this plugin with the view and the argument it is linked to. 1
Php::access public function Only let users with PHP block visibility permissions set/modify this validate plugin. Overrides ArgumentValidatorPluginBase::access
PluginBase::$options public property Options for this plugin will be held here.
PluginBase::$definition public property Plugins's definition
ArgumentValidatorPluginBase::process_summary_arguments function Process the summary arguments for displaying. 2
PluginBase::themeFunctions public function Provide a full list of possible theme templates used by this style. 1
PluginBase::additionalThemeFunctions public function Provide a list of additional theme functions for the theme information page
Php::buildOptionsForm public function Provide the default form for setting options. Overrides ArgumentValidatorPluginBase::buildOptionsForm
ArgumentValidatorPluginBase::submitOptionsForm public function Provide the default form form for submitting options Overrides PluginBase::submitOptionsForm 3
ArgumentValidatorPluginBase::validateOptionsForm public function Provide the default form form for validating options Overrides PluginBase::validateOptionsForm
Php::defineOptions protected function Retrieve the options when this is a new access control plugin Overrides ArgumentValidatorPluginBase::defineOptions
PluginBase::pluginTitle public function Return the human readable name of the display.
PluginBase::globalTokenReplace public function Returns a string with any core tokens replaced.
PluginBase::getAvailableGlobalTokens public function Returns an array of available token replacements.
PluginBase::summaryTitle public function Returns the summary of the settings in the display. 6
PluginBase::usesOptions public function Returns the usesOptions property. 8
PluginBase::$discovery protected property The discovery object.
PluginBase::$displayHandler public property The display object this plugin is for.
PluginBase::$plugin_id protected property The plugin_id.
PluginBase::$view public property The top object of a view. 1
PluginBase::unpackOptions public function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
PluginBase::validate public function Validate that the plugin is correct and can be saved. 4