class views_plugin_argument_default_field in Views Arguments Extras 7
Hierarchy
- class \views_object
- class \views_plugin
Expanded class hierarchy of views_plugin_argument_default_field
2 string references to 'views_plugin_argument_default_field'
- views_arguments_extras_views_plugins in ./
views_arguments_extras.module - views_plugin_argument_validate_field_extractor::validate_argument in ./
views_arguments_extras_plugin_argument_validate_field.inc - We are going to take the current argument, find the enitity object to which it relates and then change the argument to reflect a value from one if its fields
File
- ./
views_plugin_argument_default_field.inc, line 3
View source
class views_plugin_argument_default_field extends views_plugin_argument_default {
var $option_name = 'default_argument_field';
function option_definition() {
$options = parent::option_definition();
$options['field'] = array(
'default' => '',
);
$options['settings'] = array(
'default' => array(),
);
return $options;
}
function options_form(&$form, &$form_state) {
$default_options = $this->argument->options;
$fields = field_info_fields();
$options = array();
$plugins = array();
$type_selector = array();
// find all types that are useed and which fields use them
$types = array();
foreach ($fields as $key => $field) {
$types[$field['type']][$key] = $key;
}
foreach ($plugins as $id => $plugin) {
if (array_intersect($plugin['types'], array_keys($types))) {
//build info for type select box
foreach ($plugin['types'] as $type_name) {
foreach ($types[$type_name] as $fid => $fname) {
$options[$plugin['title']]["{$id}::{$fid}"] = $fname;
}
}
}
}
module_load_include("inc", "views_arguments_extras", "views_arguments_extras.field_plugins");
$options = views_arguments_extras_get_plugin_options();
$form['field'] = array(
'#title' => 'Field',
'#type' => 'select',
'#options' => $options,
'#default_value' => $this->options['field'],
'#ajax' => array(
'callback' => 'views_plugin_argument_default_field_field_callback',
'wrapper' => 'field-settings-wrapper',
'method' => 'replace',
'effect' => 'fade',
),
);
$form['settings'] = array(
'#title' => "Settings",
'#type' => 'fieldset',
'#prefix' => '<div class="field-settings-wrapper">',
'#suffix' => '</div>',
);
$plugins = views_plugin_argument_default_field();
if ($this->options['field']) {
list($p_id, $field) = explode("::", $this->options['field']);
$plugin = $plugins[$p_id];
$form['settings']['#title'] = "Settings for {$plugin['name']}";
if ($form_fun = ctools_plugin_get_function($plugin, "form callback")) {
$plugin_form = $form_fun();
foreach ($plugin_form as $id => $form_element) {
$form['settings'][$id] = $form_element;
$form['settings'][$id]['#default_value'] = $this->options['settings'][$id];
}
}
}
}
function get_argument() {
//$nid = parent::get_argument();
if ($this->options['field']) {
global $language;
list($plugin_id, $field_name) = explode("::", $this->options['field']);
$node = views_plugin_argument_default_get_node();
$lang = isset($node->{$field_name}[$language->language]) ? $language->language : 'und';
$field = isset($node->{$field_name}[$lang]) ? $node->{$field_name}[$lang] : array();
$plugin = views_plugin_argument_default_field($plugin_id);
if ($arg_fun = ctools_plugin_get_function($plugin, "argument callback")) {
$return = $arg_fun($field, $this->options['settings'], $node, $this);
return $return;
}
/*
$options = $this->options['options'];
$type = $options[$this->option_name];
$field_name = $options[$this->option_name ."-$type"];
$node = views_plugin_argument_default_get_node();
$field = $node->{$field_name};
$plugin = views_plugin_argument_default_field($type);
if (($arg_fun = $plugin['argument callback']) && function_exists($arg_fun)) {
$return = $arg_fun($field,$options, $node, $this);
return $return;
}
*/
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 | Add anything to the query that we might need to. | 7 |
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:: |
public | function | Validate that the plugin is correct and can be saved. | 3 |
views_plugin_argument_default:: |
public | function | Determine if the administrator has the privileges to use this plugin. | 1 |
views_plugin_argument_default:: |
public | function | 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. | |
views_plugin_argument_default:: |
public | function | Convert options from the older style. | 3 |
views_plugin_argument_default:: |
public | function | Initialize this plugin with the view and the argument it is linked to. | 1 |
views_plugin_argument_default:: |
public | function |
Provide the default form form for submitting options. Overrides views_plugin:: |
1 |
views_plugin_argument_default:: |
public | function |
Provide the default form form for validating options. Overrides views_plugin:: |
|
views_plugin_argument_default_field:: |
property | |||
views_plugin_argument_default_field:: |
function |
Return the default argument. Overrides views_plugin_argument_default:: |
||
views_plugin_argument_default_field:: |
function |
Provide the default form for setting options. Overrides views_plugin_argument_default:: |
||
views_plugin_argument_default_field:: |
function |
Retrieve the options when this is a new access control plugin. Overrides views_plugin_argument_default:: |