You are here

class views_rules_plugin_display_rules in Views Rules 7

Rules display plugin.

Hierarchy

Expanded class hierarchy of views_rules_plugin_display_rules

1 string reference to 'views_rules_plugin_display_rules'
views_rules_views_plugins in ./views_rules.module
Implements hook_views_plugins().

File

views/views_rules_plugin_display_rules.inc, line 10
Configures views for use within Rules.

View source
class views_rules_plugin_display_rules extends views_plugin_display implements views_rules_iterator {

  /**
   * Defines options for configuring the display with Rules.
   */
  function option_definition() {
    $options = parent::option_definition();
    $options['rules_parameter'] = array(
      'default' => array(),
    );
    $options['rules_variables'] = array(
      'default' => array(),
    );
    return $options;
  }

  /**
   * Displays Rules configuration summary.
   */
  function options_summary(&$categories, &$options) {
    parent::options_summary($categories, $options);
    if ($this
      ->uses_fields() || ($entity_info = entity_get_info($this->view->base_table))) {

      // Add Rules category.
      $categories['rules'] = array(
        'title' => t('Rules settings'),
        'column' => 'second',
        'build' => array(
          '#weight' => -10,
        ),
      );

      // Add 'parameter' and 'provides' options.
      if ($this
        ->get_handlers('argument')) {
        $options['rules_parameter'] = array(
          'category' => 'rules',
          'title' => t('Parameters'),
          'value' => t('edit contextual filter info'),
        );
      }
      $options['rules_variables'] = array(
        'category' => 'rules',
        'title' => t('Row variables'),
        'value' => isset($entity_info) ? $entity_info['label'] : t('edit field info'),
      );
    }
  }

  /**
   * Builds display options.
   */
  function options_form(&$form, &$form_state) {
    parent::options_form($form, $form_state);
    switch ($form_state['section']) {
      case 'rules_parameter':
        $form['#tree'] = TRUE;
        $this
          ->parameter_option_form($form, $form_state);
        break;
      case 'rules_variables':
        $form['#tree'] = TRUE;
        $this
          ->variables_option_form($form, $form_state);
        break;
    }
  }

  /**
   * Validates submitted option values.
   */
  function options_validate(&$form, &$form_state) {
    parent::options_validate($form, $form_state);
    $errors = array();
    if (isset($form_state['values']['options'])) {
      switch ($form_state['section']) {
        case 'rules_parameter':
          $errors = $this
            ->parameter_options_validate($form_state['values']['options']);
          break;
        case 'rules_variables':
          $errors = $this
            ->variables_options_validate($form_state['values']['options']);
          break;
      }
    }
    foreach ($errors as $error) {
      if (isset($error['id'])) {
        $element =& $form[$error['id']];
        if (isset($error['element'])) {
          $element =& $element[$error['element']];
        }
        form_error($element, $error['message']);
      }
      else {
        form_error($form, $error['message']);
      }
    }
  }

  /**
   * Consolidates submitted option values.
   */
  function options_submit(&$form, &$form_state) {
    parent::options_submit($form, $form_state);
    switch ($form_state['section']) {
      case 'rules_parameter':
      case 'rules_variables':
        $options = isset($form_state['values']['options']) ? $form_state['values']['options'] : array();
        $this
          ->set_option($form_state['section'], $options);
        break;
    }
  }

  /**
   * Validates display options.
   */
  function validate() {
    $errors = parent::validate();
    $options = $this
      ->get_option('rules_parameter');
    if ($this
      ->parameter_options_validate($options)) {
      $errors[] = t('Parameters in display "@display" are not correctly configured.', array(
        '@display' => $this->display->display_title,
      ));
    }
    $options = $this
      ->get_option('rules_variables');
    if ($this
      ->variables_options_validate($options)) {
      $errors[] = t('Row variables in display "@display" are not correctly configured.', array(
        '@display' => $this->display->display_title,
      ));
    }
    return $errors;
  }

  /**
   * Gets a list of argument labels.
   */
  function get_argument_labels() {
    $options = array();
    foreach ($this
      ->get_handlers('relationship') as $relationship => $handler) {
      $relationships[$relationship] = $handler
        ->label();
    }
    foreach ($this
      ->get_handlers('argument') as $id => $handler) {
      $options[$id] = $handler
        ->ui_name();
      if (!empty($handler->options['relationship']) && !empty($relationships[$handler->options['relationship']])) {
        $options[$id] = '(' . $relationships[$handler->options['relationship']] . ') ' . $options[$id];
      }
    }
    return $options;
  }

  /**
   * Builds parameter option form.
   */
  function parameter_option_form(&$form, &$form_state) {
    $form['#title'] = t('Rules: parameters');
    $form['help'] = array(
      '#prefix' => '<p>',
      '#markup' => t('Configure the variable info for each contextual filter as they would be used as parameters in Rules.'),
      '#suffix' => '</p>',
    );

    // Build variable forms.
    $option_parameter = (array) $this
      ->get_option('rules_parameter');
    foreach ($this
      ->get_argument_labels() as $variable => $label) {
      $option_parameter += array(
        $variable => array(),
      );
      $form[$variable] = $this
        ->get_parameter_form($variable, $label, $option_parameter[$variable]);
    }
  }

  /**
   * Builds row variables option form.
   */
  function variables_option_form(&$form, &$form_state) {
    $form['#title'] = t('Rules: row variables');

    // Add configuration for fields.
    if ($this
      ->uses_fields()) {
      $form['help'] = array(
        '#prefix' => '<p>',
        '#markup' => t('Configure the variable info for each field as they would be used in Rules.'),
        '#suffix' => '</p>',
      );

      // Build variable forms.
      $option_variables = (array) $this
        ->get_option('rules_variables');
      foreach ($this
        ->get_field_labels() as $variable => $label) {
        $option_variables += array(
          $variable => array(),
        );
        $form[$variable] = $this
          ->get_variable_form($variable, $label, $option_variables[$variable], TRUE);
      }
    }
    elseif ($entity_info = entity_get_info($entity_type = $this->view->base_table)) {
      $form['notice'] = array(
        '#markup' => '<p>' . t('The row style does not use fields. The loop item variable will be the entity variable.') . '</p>',
      );
      $form['variable'] = array(
        '#prefix' => '<p>' . t('Variable details:') . '</p>',
        '#markup' => '<dl>' . '<dt>' . t('Type') . '</dt>' . '<dd>' . $entity_info['label'] . '</dd>' . '<dt>' . t('Label') . '</dt>' . '<dd>' . $entity_info['label'] . '</dd>' . '<dt>' . t('Name') . '</dt>' . '<dd>' . $entity_type . '</dd>' . '</dl>',
      );
    }
  }

  /**
   * Builds the form element for a single parameter.
   */
  function get_parameter_form($name, $label, $info, $optional = FALSE) {
    $form_options = array(
      'optional' => $optional,
    );
    return $this
      ->build_variable_form($name, $label, $info, $form_options);
  }

  /**
   * Builds the form element for a single variable.
   */
  function get_variable_form($name, $label, $info, $optional = FALSE) {
    $items = views_rules_data_types(array(
      'entity' => TRUE,
      'list' => TRUE,
    ));
    $type_options = views_rules_data_type_options($items);
    $form_options = array(
      'optional' => $optional,
      'type_options' => $type_options,
      'rendered' => TRUE,
    );
    return $this
      ->build_variable_form($name, $label, $info, $form_options);
  }

  /**
   * Builds the form element for a single variable.
   */
  function build_variable_form($name, $label, $info, $options = array()) {
    $options += array(
      'optional' => FALSE,
      'type_options' => NULL,
      'rendered' => FALSE,
    );
    $info += array(
      'type' => NULL,
      'label' => $label,
      'name' => $name,
      'enabled' => 1,
      'rendered' => 0,
    );
    $form = array(
      '#type' => 'fieldset',
      '#title' => check_plain($label),
      '#tree' => TRUE,
    );
    if (!$options['optional']) {
      $form['enabled'] = array(
        '#type' => 'value',
        '#value' => 1,
      );
    }
    else {
      $enabled_css_id = drupal_html_id('views-rules-variable-enabled');
      $form['enabled'] = array(
        '#type' => 'checkbox',
        '#title' => t('Enabled'),
        '#default_value' => $info['enabled'],
        '#description' => t('Uncheck this box to make this variable unavailable for use in Rules.'),
        '#attributes' => array(
          'id' => $enabled_css_id,
        ),
      );
    }
    $states = !isset($enabled_css_id) ? NULL : array(
      'visible' => array(
        '#' . $enabled_css_id => array(
          'checked' => TRUE,
        ),
      ),
    );
    if ($options['rendered']) {
      $form['rendered'] = array(
        '#type' => 'checkbox',
        '#title' => t('Use rendered result'),
        '#default_value' => $info['rendered'],
        '#description' => t('Check to use rendered value (e.g. rewritten) instead of the raw value. Note that a rendered field may contain markup but is not affected by the field\'s "Style settings".'),
        '#states' => $states,
      );
    }
    $form['_pre_wrap'] = array(
      '#markup' => '<div class="clearfix">',
    );
    $form['type'] = array(
      '#type' => 'select',
      '#title' => t('Data type'),
      '#options' => is_array($options['type_options']) ? $options['type_options'] : views_rules_data_type_options(),
      '#empty_value' => '',
      '#default_value' => $info['type'],
      '#required' => empty($options['optional']),
      '#prefix' => '<div class="views-left-30">',
      '#suffix' => '</div>',
      '#states' => $states,
    );
    $form['label'] = array(
      '#type' => 'textfield',
      '#title' => t('Label'),
      '#default_value' => $info['label'],
      '#size' => 25,
      '#required' => empty($options['optional']),
      '#prefix' => '<div class="views-left-30">',
      '#suffix' => '</div>',
      '#states' => $states,
    );
    $form['name'] = array(
      '#type' => 'textfield',
      '#title' => t('Name'),
      '#default_value' => $info['name'],
      '#size' => 25,
      '#required' => empty($options['optional']),
      '#prefix' => '<div class="views-left-30">',
      '#suffix' => '</div>',
      '#states' => $states,
    );
    $form['_post_wrap'] = array(
      '#markup' => '</div>',
    );
    return $form;
  }

  /**
   * Extracts options configured as enabled.
   */
  function extract_enabled_options($options) {
    $enabled_options = array();
    foreach ($options as $id => $option) {
      if (!empty($option['enabled'])) {
        $enabled_options[$id] = $option;
      }
    }
    return $enabled_options;
  }

  /**
   * Validates parameter options.
   */
  function parameter_options_validate($options) {
    $errors = array();
    if ($missing = array_diff_key($this
      ->get_argument_labels(), $options)) {
      foreach ($missing as $id => $label) {
        $errors[] = array(
          'id' => $id,
          'message' => t('The %var contextual filter is not configured.', array(
            '%var' => $label,
          )),
        );
      }
    }
    $errors = array_merge($errors, $this
      ->validate_machine_name($options));
    $errors = array_merge($errors, $this
      ->validate_unique_names($options));
    return $errors;
  }

  /**
   * Validates row variable options.
   */
  function variables_options_validate($options) {
    $errors = array();
    if ($this
      ->uses_fields()) {
      if ($missing = array_diff_key($this
        ->get_field_labels(), $options)) {
        foreach ($missing as $id => $label) {
          $errors[] = array(
            'id' => $id,
            'message' => t('The %var field is not configured.', array(
              '%var' => $label,
            )),
          );
        }
      }
      $options = $this
        ->extract_enabled_options($options);
      $errors = array_merge($errors, $this
        ->validate_machine_name($options));

      // Send parameter names to unique names validation to make sure variable
      // names do not conflict with parameter names.
      $parameter_names = array();
      foreach ((array) $this
        ->get_option('rules_parameter') as $parameter) {
        $parameter_names[] = $parameter['name'];
      }
      $errors = array_merge($errors, $this
        ->validate_unique_names($options, $parameter_names));

      // Ensure enabled options are fully specified.
      $errors = array_merge($errors, $this
        ->validate_complete_variables($options));
    }
    return $errors;
  }

  /**
   * Validates variable uniqueness.
   */
  function validate_machine_name($options) {
    $errors = array();
    foreach ($options as $id => $info) {
      $name = $info['name'];
      if (!preg_match('!^[a-z0-9_]+$!', $name)) {
        $errors[] = array(
          'id' => $id,
          'element' => 'name',
          'message' => t('The machine-readable name %name contains invalid characters (valid characters are lowercase letters, numbers, and underscores).'),
        );
      }
    }
    return $errors;
  }

  /**
   * Validates variable uniqueness.
   */
  function validate_unique_names($options, $additional = array()) {
    $errors = array();
    $names = drupal_map_assoc($additional);
    foreach ($options as $id => $info) {
      $name = $info['name'];
      if (isset($names[$name])) {
        $errors[] = array(
          'id' => $id,
          'element' => 'name',
          'message' => t('The machine-readable name %name is already taken.', array(
            '%name' => $name,
          )),
        );
      }
      elseif ($name == 'views_rules_display') {
        $errors[] = array(
          'id' => $id,
          'element' => 'name',
          'message' => t('The machine-readable name %name is reserved for internal use.', array(
            '%name' => $name,
          )),
        );
      }
      else {
        $names[$name] = $name;
      }
    }
    return $errors;
  }

  /**
   * Validates variable info completeness.
   */
  function validate_complete_variables($options, $check_enabled = FALSE) {
    $errors = array();
    $labels = $this
      ->get_field_labels();
    foreach ($options as $id => $info) {
      if (!$check_enabled || !empty($info['enabled'])) {
        foreach (array(
          'type',
          'label',
          'name',
        ) as $element) {
          if (!isset($info[$element]) || $info[$element] === '') {
            $errors[] = array(
              'id' => $id,
              'element' => $element,
              'message' => t('The variable @element for %var is missing.', array(
                '@element' => $element,
                '%var' => $labels[$id],
              )),
            );
          }
        }
      }
    }
    return $errors;
  }

  /**
   * Gets parameter info for Rules.
   */
  function get_rules_parameter_info() {
    return $this
      ->get_processed_rules_parameter_info();
  }
  function get_processed_rules_parameter_info($view_key = FALSE) {
    $option_parameter = (array) $this
      ->get_option('rules_parameter');
    $option_parameter = $this
      ->extract_enabled_options($option_parameter);
    $option_parameter = $this
      ->variable_array_map_keys($option_parameter, array_keys($this
      ->get_argument_labels()));
    return $this
      ->get_rules_info_from_option($option_parameter, $view_key);
  }

  /**
   * Gets row variable info for Rules.
   */
  function get_rules_variable_info() {
    return $this
      ->get_processed_rules_variable_info();
  }
  function get_processed_rules_variable_info($view_key = FALSE) {

    // Return configured field variables.
    if ($this
      ->uses_fields()) {
      $option_variables = (array) $this
        ->get_option('rules_variables');
      $option_variables = $this
        ->extract_enabled_options($option_variables);
      $option_variables = $this
        ->variable_array_map_keys($option_variables, array_keys($this
        ->get_field_labels()));
      return $this
        ->get_rules_info_from_option($option_variables, $view_key);
    }
    elseif ($entity_info = entity_get_info($entity_type = $this->view->base_table)) {
      $info = array(
        $entity_type => array(
          'type' => $entity_type,
          'label' => $entity_info['label'],
        ),
      );
      return $info;
    }

    // Return no variable otherwise.
    return array();
  }

  /**
   * Extracts values from an array using an ordered list of keys.
   */
  function variable_array_map_keys($array, $keys) {
    $return = array();
    foreach ($keys as $key) {
      if (array_key_exists($key, $array)) {
        $return[$key] = $array[$key];
      }
    }
    return $return;
  }

  /**
   * Gets processed Rules info from an option value.
   */
  function get_rules_info_from_option($option, $view_key = FALSE) {
    $info = array();
    foreach ($option as $var => $var_info) {
      $var_info += array(
        'type' => NULL,
        'name' => NULL,
        'label' => NULL,
      );
      $info[$var_info['name']] = array(
        'type' => $var_info['type'],
        'label' => $var_info['label'],
      );
      if ($view_key) {
        $info[$var_info['name']]['view key'] = $var;
      }
    }
    return $info;
  }

  /**
   * Executes the iterator display.
   *
   * @param array $arguments
   * @param ViewsRulesIterable $iterable
   * @throws views_rules_iterator_exception
   *   If an error occurred while executing the view.
   */
  function execute_iterator($arguments, $iterable) {

    // Prepares the view.
    $this->view
      ->set_display($this->display->id);
    $this->view
      ->pre_execute($arguments);

    // Iterate view result rows.
    $this
      ->iterate_rows($iterable);
    $this->view
      ->post_execute();
  }

  /**
   * @param ViewsRulesIterable $iterable
   * @throws views_rules_iterator_exception
   *   If an error occurred while executing the view.
   */
  function iterate_rows($iterable) {

    // Execute view.
    $this->view
      ->execute($this->view->current_display);

    // Check display has not failed.
    if (!empty($this->build_info['fail'])) {
      throw new views_rules_iterator_exception('Failed to build view display.');
    }
    if (!empty($this->view->build_info['denied'])) {
      throw new views_rules_iterator_exception('Access to view display is denied.');
    }

    // Iterate through results.
    if ($variable_info = $this
      ->get_processed_rules_variable_info(TRUE)) {
      $view_variable_info = (array) $this
        ->get_option('rules_variables');
      foreach ($this->view->result as $row_index => $row) {

        // Build row data.
        $data = array();
        if ($this
          ->uses_fields()) {
          foreach ($variable_info as $var_name => $info) {
            $option_info = $view_variable_info[$info['view key']];
            if (empty($option_info['rendered'])) {
              $data[$var_name] = $this->view->style_plugin
                ->get_field_value($row_index, $info['view key']);
            }
            else {
              $data[$var_name] = $this->view->style_plugin
                ->get_field($row_index, $info['view key']);
            }
          }
        }
        else {
          $data[key($variable_info)] = $row->{$this->view->base_field};
        }

        // Evaluate row.
        $iterable
          ->evaluateRow($data);
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
views_object::$definition public property Handler's definition.
views_object::$options public property Except for displays, options for the object will be held here. 1
views_object::altered_option_definition function Collect this handler's option definition and alter them, ready for use.
views_object::construct public function Views handlers use a special construct function. 4
views_object::export_options public function
views_object::export_option_always public function Always exports the option, regardless of the default value.
views_object::options Deprecated public function Set default options on this object. 1
views_object::set_default_options public function Set default options.
views_object::set_definition public function Let the handler know what its full definition is.
views_object::unpack_options public function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
views_object::unpack_translatable public function Unpack a single option definition.
views_object::unpack_translatables public function Unpacks each handler to store translatable texts.
views_object::_set_option_defaults public function
views_plugin::$display public property The current used views display.
views_plugin::$plugin_name public property The plugin name of this plugin, for example table or full.
views_plugin::$plugin_type public property The plugin type of this plugin, for example style or query.
views_plugin::additional_theme_functions public function Provide a list of additional theme functions for the theme info page.
views_plugin::plugin_title public function Return the human readable name of the display.
views_plugin::summary_title public function Returns the summary of the settings in the display. 8
views_plugin::theme_functions public function Provide a full list of possible theme templates used by this style.
views_plugin_display::$extender public property Stores all available display extenders.
views_plugin_display::$handlers public property List of handlers for this display.
views_plugin_display::$view public property The top object of a view. Overrides views_plugin::$view
views_plugin_display::accept_attachments public function Can this display accept attachments?
views_plugin_display::access public function Determine if the user has access to this display of the view.
views_plugin_display::attach_to public function Allow displays to attach to other views. 2
views_plugin_display::defaultable_sections public function List which sections are defaultable and what items each section contains. 1
views_plugin_display::destroy public function Destructor. Overrides views_object::destroy
views_plugin_display::displays_exposed public function Determine if this display should display the exposed filters widgets. 1
views_plugin_display::execute public function When used externally, this is how a view gets run and returns data in the format required. 4
views_plugin_display::export_handler public function Special method to export items that have handlers.
views_plugin_display::export_option public function Override of export_option() Overrides views_object::export_option
views_plugin_display::export_plugin public function Special handling for plugin export.
views_plugin_display::export_style public function Special handling for the style export.
views_plugin_display::format_themes public function Format a list of theme templates for output by the theme info helper.
views_plugin_display::get_arguments_tokens public function Returns to tokens for arguments.
views_plugin_display::get_argument_text public function Provide some helpful text for the arguments. 1
views_plugin_display::get_field_labels public function List of fields for the current display with the associated relationship.
views_plugin_display::get_handler public function Get the handler object for a single handler.
views_plugin_display::get_handlers public function Get a full array of handlers for $type. This caches them.
views_plugin_display::get_link_display public function Check to see which display to use when creating links.
views_plugin_display::get_option public function Intelligently get an option either from this or default display.
views_plugin_display::get_pager_text public function Provide some helpful text for pagers. 1
views_plugin_display::get_path public function Return the base path to use for this display.
views_plugin_display::get_plugin public function Get the instance of a plugin, for example style or row.
views_plugin_display::get_special_blocks public function Provide the block system with any exposed widget blocks for this display.
views_plugin_display::get_style_type public function Displays can require a certain type of style plugin. 1
views_plugin_display::get_url public function
views_plugin_display::has_path public function Check to see if the display has a 'path' field. 1
views_plugin_display::hook_block_list public function If this display creates a block, implement one of these.
views_plugin_display::hook_menu public function If this display creates a page with a menu item, implement it here.
views_plugin_display::init public function 1
views_plugin_display::is_defaulted public function Determine if a given option is set to use the default or current display.
views_plugin_display::is_default_display public function If this display is the 'default' display which contains fallback settings. 1
views_plugin_display::is_identifier_unique public function Check if the provided identifier is unique.
views_plugin_display::options_override public function If override/revert was clicked, perform the proper toggle.
views_plugin_display::option_link public function Because forms may be split up into sections, this provides an easy URL to exactly the right section. Don't override this.
views_plugin_display::override_option public function Set an option and force it to be an override.
views_plugin_display::preview public function Fully render the display. 1
views_plugin_display::pre_execute public function Set up any variables on the view prior to execution.
views_plugin_display::query public function Inject anything into the query that the display handler needs. Overrides views_plugin::query
views_plugin_display::render public function Render this display. 1
views_plugin_display::render_area public function
views_plugin_display::render_empty public function
views_plugin_display::render_filters public function Not all display plugins will support filtering.
views_plugin_display::render_footer public function Render the footer of the view.
views_plugin_display::render_header public function Render the header of the view.
views_plugin_display::render_more_link public function Render the 'more' link.
views_plugin_display::render_pager public function Not all display plugins will suppert pager rendering. 1
views_plugin_display::set_option public function Intelligently set an option either from this display or from the default display, if directed to do so.
views_plugin_display::set_override public function Flip the override setting for the given section.
views_plugin_display::unpack_handler public function Special method to unpack items that have handlers.
views_plugin_display::unpack_plugin public function Special handling for plugin unpacking.
views_plugin_display::unpack_style public function
views_plugin_display::uses_breadcrumb public function Check to see if the display needs a breadcrumb. 1
views_plugin_display::uses_exposed public function Does this display uses exposed filters? 2
views_plugin_display::uses_exposed_form_in_block public function Check to see if the display can put the exposed form in a block.
views_plugin_display::uses_fields public function Determine if the display's style uses fields.
views_plugin_display::uses_link_display public function Check to see if the display has some need to link to another display. 1
views_plugin_display::use_ajax public function Does the display use AJAX?
views_plugin_display::use_group_by public function Does the display have groupby enabled?
views_plugin_display::use_more public function Does the display have a more link enabled?
views_plugin_display::use_more_always public function Should the enabled display more link be shown when no more items?
views_plugin_display::use_more_open_new_window public function Should the enabled display more link being opened in an new window?
views_plugin_display::use_more_text public function Does the display have custom link text?
views_plugin_display::use_pager public function Does the display have a pager enabled? 1
views_plugin_display::view_special_blocks public function Render any special blocks provided for this display.
views_rules_plugin_display_rules::build_variable_form function Builds the form element for a single variable.
views_rules_plugin_display_rules::execute_iterator function Executes the iterator display. Overrides views_rules_iterator::execute_iterator
views_rules_plugin_display_rules::extract_enabled_options function Extracts options configured as enabled.
views_rules_plugin_display_rules::get_argument_labels function Gets a list of argument labels.
views_rules_plugin_display_rules::get_parameter_form function Builds the form element for a single parameter.
views_rules_plugin_display_rules::get_processed_rules_parameter_info function
views_rules_plugin_display_rules::get_processed_rules_variable_info function
views_rules_plugin_display_rules::get_rules_info_from_option function Gets processed Rules info from an option value.
views_rules_plugin_display_rules::get_rules_parameter_info function Gets parameter info for Rules. Overrides views_rules_iterator::get_rules_parameter_info
views_rules_plugin_display_rules::get_rules_variable_info function Gets row variable info for Rules. Overrides views_rules_iterator::get_rules_variable_info
views_rules_plugin_display_rules::get_variable_form function Builds the form element for a single variable.
views_rules_plugin_display_rules::iterate_rows function
views_rules_plugin_display_rules::options_form function Builds display options. Overrides views_plugin_display::options_form
views_rules_plugin_display_rules::options_submit function Consolidates submitted option values. Overrides views_plugin_display::options_submit
views_rules_plugin_display_rules::options_summary function Displays Rules configuration summary. Overrides views_plugin_display::options_summary
views_rules_plugin_display_rules::options_validate function Validates submitted option values. Overrides views_plugin_display::options_validate
views_rules_plugin_display_rules::option_definition function Defines options for configuring the display with Rules. Overrides views_plugin_display::option_definition
views_rules_plugin_display_rules::parameter_options_validate function Validates parameter options.
views_rules_plugin_display_rules::parameter_option_form function Builds parameter option form.
views_rules_plugin_display_rules::validate function Validates display options. Overrides views_plugin_display::validate
views_rules_plugin_display_rules::validate_complete_variables function Validates variable info completeness.
views_rules_plugin_display_rules::validate_machine_name function Validates variable uniqueness.
views_rules_plugin_display_rules::validate_unique_names function Validates variable uniqueness.
views_rules_plugin_display_rules::variables_options_validate function Validates row variable options.
views_rules_plugin_display_rules::variables_option_form function Builds row variables option form.
views_rules_plugin_display_rules::variable_array_map_keys function Extracts values from an array using an ordered list of keys.