views_plugin_argument_default.inc
Contains the fixed argument default plugin.
File
plugins/views_plugin_argument_default.incView source
- <?php
- /**
- * @file
- * Contains the fixed argument default plugin.
- */
-
- /**
- * @defgroup views_argument_default_plugins Views' argument default plugins
- * @{
- *
- * Allow specialized methods of filling in arguments when they aren't
- * provided.
- *
- * @see hook_views_plugins
- */
-
- /**
- * The fixed argument default handler; also used as the base.
- */
- class views_plugin_argument_default extends views_plugin {
- var $option_name = 'default_argument_fixed';
- /**
- * Initialize this plugin with the view and the argument
- * it is linked to.
- */
- function init(&$view, &$argument, $id = NULL) {
- $this->view = &$view;
- $this->argument = &$argument;
- $this->id = $id;
- }
-
- /**
- * Determine if the administrator has the privileges to use this
- * plugin
- */
- function access() { return TRUE; }
-
- function argument_form(&$form, &$form_state) {
- $form[$this->option_name] = array(
- '#type' => 'textfield',
- '#title' => t('Default argument'),
- '#default_value' => $this->get_argument(),
- '#process' => array('views_process_dependency'),
- '#dependency' => array(
- 'radio:options[default_action]' => array('default'),
- 'radio:options[default_argument_type]' => array($this->id)
- ),
- '#dependency_count' => 2,
- );
-
- // Only do this if using one simple standard form gadget
- $this->check_access($form);
- }
-
- /**
- * If we don't have access to the form but are showing it anyway, ensure that
- * the form is safe and cannot be changed from user input.
- */
- function check_access(&$form) {
- if (!$this->access()) {
- $form[$this->option_name]['#disabled'] = TRUE;
- $form[$this->option_name]['#value'] = $form[$this->option_name]['#default_value'];
- $form[$this->option_name]['#description'] .= ' <strong>' . t('Note: you do not have permission to modify this. If you change the default argument type, this setting will be lost and you will NOT be able to get it back.') . '</strong>';
- }
- }
-
- /**
- * Return the default argument.
- */
- function get_argument() {
- return isset($this->argument->options[$this->option_name]) ? $this->argument->options[$this->option_name] : '';
- }
- }
-
- /**
- * @}
- */
-