You are here

function views_rules_plugin_display_rules::variables_options_validate in Views Rules 7

Validates row variable options.

2 calls to views_rules_plugin_display_rules::variables_options_validate()
views_rules_plugin_display_rules::options_validate in views/views_rules_plugin_display_rules.inc
Validates submitted option values.
views_rules_plugin_display_rules::validate in views/views_rules_plugin_display_rules.inc
Validates display options.

File

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

Class

views_rules_plugin_display_rules
Rules display plugin.

Code

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;
}