class views_oai_pmh_plugin_row_dc in Views OAI-PMH 7
Same name and namespace in other branches
- 6.2 plugins/views_oai_pmh_plugin_row_dc.inc \views_oai_pmh_plugin_row_dc
- 6 plugins/views_oai_pmh_plugin_row_dc.inc \views_oai_pmh_plugin_row_dc
- 7.2 plugins/views_oai_pmh_plugin_row_dc.inc \views_oai_pmh_plugin_row_dc
Hierarchy
- class \views_object
- class \views_plugin
- class \views_plugin_row
- class \views_oai_pmh_plugin_row_dc
- class \views_plugin_row
- class \views_plugin
Expanded class hierarchy of views_oai_pmh_plugin_row_dc
1 string reference to 'views_oai_pmh_plugin_row_dc'
- views_oai_pmh_views_plugins in ./
views_oai_pmh.views.inc - Implementation of hook_views_plugins().
File
- plugins/
views_oai_pmh_plugin_row_dc.inc, line 2
View source
class views_oai_pmh_plugin_row_dc extends views_plugin_row {
function render($row) {
return theme($this
->theme_functions(), array(
'view' => $this->view,
'options' => $this->options,
'row' => $row,
));
}
function validate() {
$errors = parent::validate();
$dc_errors = array();
$link = $this->display->handler
->option_link('Row options', 'row_options');
$field_handlers = $this->display->handler
->get_handlers('field');
foreach ($field_handlers as $id => $field) {
$ui_label = $field
->ui_name();
$label = $field
->label();
if (empty($label) || substr($label, 0, 3) != 'dc:') {
$dc_errors[] = t('The field "@title" does not have a Dublin Core label associated with it. Go to the !link page to fix it.', array(
'@title' => $ui_label,
'!link' => $link,
));
}
}
return array_merge($errors, $dc_errors);
}
function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$field_handlers = $this->display->handler
->get_handlers('field');
foreach ($field_handlers as $id => $handler) {
$ui_labels[$id] = $handler
->ui_name();
if ($label = $handler
->label()) {
$labels[$id] = $label;
}
}
$dc_elements = array(
'none' => t('None'),
'dc:title' => 'dc:title',
'dc:creator' => 'dc:creator',
'dc:subject' => 'dc:subject',
'dc:description' => 'dc:description',
'dc:publisher' => 'dc:publisher',
'dc:contributor' => 'dc:contributor',
'dc:date' => 'dc:date',
'dc:type' => 'dc:type',
'dc:format' => 'dc:format',
'dc:identifier' => 'dc:identifier',
'dc:source' => 'dc:source',
'dc:language' => 'dc:language',
'dc:relation' => 'dc:relation',
'dc:coverage' => 'dc:coverage',
'dc:rights' => 'dc:rights',
);
$form['oai_labels'] = array(
'#type' => 'fieldset',
'#title' => t('Drupal field to Dublin Core mapping'),
'#theme' => 'oai_field_mapper_form',
);
foreach ($ui_labels as $id => $label) {
$form['oai_labels'][$id] = array(
'#type' => 'select',
'#options' => $dc_elements,
'#default_value' => isset($labels[$id]) && in_array($labels[$id], $dc_elements) ? $labels[$id] : 'none',
);
$form['oai_labels'][$id]['drupal_label'] = array(
'#markup' => $ui_labels[$id],
);
}
}
function options_submit(&$form, &$form_state) {
// It is very important to call the parent function here:
parent::options_submit($form, $form_state);
$section = $form_state['section'];
switch ($section) {
case 'row_options':
$field_handlers = $this->display->handler
->get_handlers('field');
$dc_labels = $form_state['values'][$section]['oai_labels'];
foreach ($field_handlers as $id => $field) {
$options = $field->options;
if ($dc_labels[$id] != 'none') {
$options['custom_label'] = TRUE;
$options['label'] = $dc_labels[$id];
$options['hide_empty'] = 1;
}
else {
unset($options['custom_label']);
$options['label'] = '';
}
$form_state['view']
->set_item($form_state['display_id'], 'field', $id, $options);
}
break;
}
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
views_oai_pmh_plugin_row_dc:: |
function |
Provide a form for setting options. Overrides views_plugin_row:: |
||
views_oai_pmh_plugin_row_dc:: |
function |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data. Overrides views_plugin_row:: |
||
views_oai_pmh_plugin_row_dc:: |
function |
Render a row object. This usually passes through to a theme template
of some form, but not always. Overrides views_plugin_row:: |
||
views_oai_pmh_plugin_row_dc:: |
function |
Validate that the plugin is correct and can be saved. Overrides views_plugin:: |
||
views_object:: |
public | property | Handler's definition. | |
views_object:: |
public | property | Except for displays, options for the object will be held here. | 1 |
views_object:: |
function | Collect this handler's option definition and alter them, ready for use. | ||
views_object:: |
public | function | Views handlers use a special construct function. | 4 |
views_object:: |
public | function | Destructor. | 2 |
views_object:: |
public | function | 1 | |
views_object:: |
public | function | ||
views_object:: |
public | function | Always exports the option, regardless of the default value. | |
views_object:: |
public | function | Set default options on this object. | 1 |
views_object:: |
public | function | Set default options. | |
views_object:: |
public | function | Let the handler know what its full definition is. | |
views_object:: |
public | function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
views_object:: |
public | function | Unpack a single option definition. | |
views_object:: |
public | function | Unpacks each handler to store translatable texts. | |
views_object:: |
public | function | ||
views_plugin:: |
public | property | The current used views display. | |
views_plugin:: |
public | property | The plugin name of this plugin, for example table or full. | |
views_plugin:: |
public | property | The plugin type of this plugin, for example style or query. | |
views_plugin:: |
public | property |
The top object of a view. Overrides views_object:: |
1 |
views_plugin:: |
public | function | Provide a list of additional theme functions for the theme info page. | |
views_plugin:: |
public | function | Return the human readable name of the display. | |
views_plugin:: |
public | function | Returns the summary of the settings in the display. | 8 |
views_plugin:: |
public | function | Provide a full list of possible theme templates used by this style. | |
views_plugin_row:: |
public | function | 2 | |
views_plugin_row:: |
public | function |
Validate the options form. Overrides views_plugin:: |
|
views_plugin_row:: |
public | function |
Information about options for all kinds of purposes will be held here. Overrides views_object:: |
9 |
views_plugin_row:: |
public | function | Allow the style to do stuff before each row is rendered. | 5 |
views_plugin_row:: |
public | function |
Add anything to the query that we might need to. Overrides views_plugin:: |
|
views_plugin_row:: |
public | function |