public function views_oai_pmh_plugin_style::options_form in Views OAI-PMH 7.3
Provide settings for this plugin.
Overrides views_plugin_style::options_form
File
- plugins/
views_oai_pmh_plugin_style.inc, line 58 - Contains the base OAI-PMH style plugin.
Class
- views_oai_pmh_plugin_style
- Views OAI-PMH_plugin style.
Code
public function options_form(&$form, &$form_state) {
// It is very important to call the parent function here:
parent::options_form($form, $form_state);
$handlers = $this->display->handler
->get_handlers('field');
if (empty($handlers)) {
$form['error_markup'] = array(
'#markup' => '<div class="error messages">' . t('You need at least one field before you can configure your table settings') . '</div>',
);
return;
}
$formats = views_oai_pmh_list_metadata_formats();
// Add metadata format checkboxes.
foreach ($formats as $id) {
$format_options[$id] = $id . ' - ' . views_oai_pmh_get_metadata_format($id)->label;
}
$form['enabled_formats'] = array(
'#type' => 'checkboxes',
'#title' => t('OAI-PMH metadata formats'),
'#description' => t('Select the metadata format(s) that you wish to publish. Note that the Dublin Core format must remain enabled as it is required by the OAI-PMH standard.'),
'#default_value' => $this->options['enabled_formats'],
'#options' => $format_options,
);
// 'oai_dc' is read-only.
$form['enabled_formats']['oai_dc']['#disabled'] = TRUE;
$form['metadata_prefix'] = array(
'#type' => 'fieldset',
'#title' => t('Metadata prefixes'),
);
// Add mapping selectors.
$fields = $this->display->handler
->get_option('fields');
$field_labels = $this->display->handler
->get_field_labels();
foreach ($formats as $id) {
$format = views_oai_pmh_get_metadata_format($id);
$form['metadata_prefix'][$id] = array(
'#type' => 'textfield',
'#title' => $format->label,
'#default_value' => $this->options['metadata_prefix'][$id] ? $this->options['metadata_prefix'][$id] : $id,
'#required' => TRUE,
'#size' => 16,
'#maxlength' => 32,
);
$form['field_mappings'][$id] = array(
'#type' => 'fieldset',
'#title' => t('Field mappings for <em>@format</em>', array(
'@format' => $format->label,
)),
'#theme' => 'views_oai_pmh_field_mappings_form',
'#states' => array(
'visible' => array(
':input[name="style_options[enabled_formats][' . $id . ']"]' => array(
'checked' => TRUE,
),
),
),
);
foreach ($fields as $field_name => $info) {
$form['field_mappings'][$id][$field_name] = array(
'#type' => 'select',
'#options' => $format->elements,
'#default_value' => !empty($this->options['field_mappings'][$id][$field_name]) ? $this->options['field_mappings'][$id][$field_name] : '',
'#title' => $field_labels[$field_name],
);
}
}
// Metadata prefix for 'oai_dc' is read-only.
$form['metadata_prefix']['oai_dc']['#disabled'] = TRUE;
}