You are here

public function views_oai_pmh_plugin_style::options_validate in Views OAI-PMH 7.3

Option validate.

Overrides views_plugin_style::options_validate

File

plugins/views_oai_pmh_plugin_style.inc, line 128
Contains the base OAI-PMH style plugin.

Class

views_oai_pmh_plugin_style
Views OAI-PMH_plugin style.

Code

public function options_validate(&$form, &$form_state) {

  // 'oai_dc' is always on.
  $form_state['values']['style_options']['enabled_formats']['oai_dc'] = 'oai_dc';

  // 'oai_dc' is read-only.
  $form_state['values']['style_options']['metadata_prefix']['oai_dc'] = 'oai_dc';
  foreach ($form_state['values']['style_options']['metadata_prefix'] as $id1 => $metadata_prefix1) {

    // Check for invalid metadata prefixes.
    // Regex based on http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd.
    if (!preg_match("/^[A-Za-z0-9\\-_\\.!~\\*'\\(\\)]+\$/", $metadata_prefix1)) {
      form_error($form['metadata_prefix'][$id1], t("The metadata prefix '@prefix' contains characters that are not allowed in metadata prefixes.", array(
        '@prefix' => $metadata_prefix1,
      )));
    }

    // Check for duplicate metadata prefixes.
    foreach ($form_state['values']['style_options']['metadata_prefix'] as $id2 => $metadata_prefix2) {
      if ($metadata_prefix1 == $metadata_prefix2 && $id1 != $id2) {
        form_error($form['metadata_prefix'][$id2], t("Metadata prefix '@prefix' is not unique.", array(
          '@prefix' => $metadata_prefix1,
        )));
      }
    }
  }
  parent::options_validate($form, $form_state);
}