Inheritance diagram for views_handler_filter_term_node_tid:

Definition at line 7 of file views_handler_filter_term_node_tid.inc.
Public Member Functions | |
| has_extra_options () | |
| If a handler has 'extra options' it will get a little settings widget and another form called extra_options. | |
| get_value_options () | |
| Child classes should be used to override this function and set the 'value options', unless 'options callback' is defined as a valid function or static public method to generate these values. | |
| option_definition () | |
| Information about options for all kinds of purposes will be held here. | |
| extra_options_form (&$form, &$form_state) | |
| Provide a form for setting options. | |
| value_form (&$form, &$form_state) | |
| Provide a form for setting options. | |
| value_validate (&$form, &$form_state) | |
| accept_exposed_input ($input) | |
| Check to see if input from the exposed filters should change the behavior of this filter. | |
| exposed_validate (&$form, &$form_state) | |
| Validate the exposed filter form. | |
| validate_term_strings (&$form, $values) | |
| Validate the user string. | |
| value_submit ($form, &$form_state) | |
| Perform any necessary changes to the form values prior to storage. | |
| expose_form_right (&$form, &$form_state) | |
| Handle the 'right' side fo the exposed options form. | |
| admin_summary () | |
| Display the filter on the administrative summary. | |
| init (&$view, &$options) | |
| init (&$view, $options) | |
| Provide some extra help to get the operator/value easier to use. | |
| operators () | |
| This kind of construct makes it relatively easy for a child class to add or remove functionality by overriding this function and adding/removing items from this array. | |
| ensure_my_table () | |
| Override ensure_my_table so we can control how this joins in. | |
| op_helper () | |
| construct () | |
| Views handlers use a special construct function so that we can more easily construct them with variable arguments. | |
| expose_options () | |
| Provide default options for exposed filters. | |
| operator_options ($which= 'title') | |
| Build strings from the operators() for 'select' options. | |
| operator_options () | |
| Provide a list of options for the default operator form. | |
| operator_values ($values=1) | |
| reduce_value_options ($input=NULL) | |
| When using exposed filters, we may be required to reduce the set. | |
| query () | |
| Add this filter to the query. | |
| op_simple () | |
| op_empty () | |
| can_expose () | |
| Determine if a filter can be exposed. | |
| options_form (&$form, &$form_state) | |
| Provide the basic form which calls through to subforms. | |
| options_validate (&$form, &$form_state) | |
| Simple validate handler. | |
| options_validate ($form, &$form_state) | |
| Validate the options form. | |
| options_submit (&$form, &$form_state) | |
| Simple submit handler. | |
| options_submit ($form, &$form_state) | |
| Perform any necessary changes to the form values prior to storage. | |
| show_operator_form (&$form, &$form_state) | |
| Shortcut to display the operator form. | |
| operator_form (&$form, &$form_state) | |
| Provide a form for setting the operator. | |
| operator_validate ($form, &$form_state) | |
| Validate the operator form. | |
| operator_submit ($form, &$form_state) | |
| Perform any necessary changes to the form values prior to storage. | |
| show_value_form (&$form, &$form_state) | |
| Shortcut to display the value form. | |
| value_validate ($form, &$form_state) | |
| Validate the options form. | |
| show_expose_button (&$form, &$form_state) | |
| Shortcut to display the expose/hide button. | |
| show_expose_form (&$form, &$form_state) | |
| Shortcut to display the exposed options form. | |
| expose_form (&$form, &$form_state) | |
| Overridable form for exposed filter options. | |
| expose_form_left (&$form, &$form_state) | |
| Handle the 'left' side fo the exposed options form. | |
| expose_validate ($form, &$form_state) | |
| Validate the options form. | |
| expose_submit ($form, &$form_state) | |
| Perform any necessary changes to the form exposes prior to storage. | |
| exposed_form (&$form, &$form_state) | |
| Render our chunk of the exposed filter form when selecting. | |
| exposed_translate (&$form, $type) | |
| Make some translations to a form item to make it more suitable to exposing. | |
| exposed_info () | |
| Tell the renderer about our exposed form. | |
| store_exposed_input ($input, $status) | |
| If set to remember exposed input in the session, store it there. | |
| ui_name ($short=FALSE) | |
| Return a string representing this handler's name in the UI. | |
| extra_options (&$option) | |
| Provide defaults for the handler. | |
| extra_options_validate ($form, &$form_state) | |
| Validate the options form. | |
| extra_options_submit ($form, &$form_state) | |
| Perform any necessary changes to the form values prior to storage. | |
| exposed_submit (&$form, &$form_state) | |
| Submit the exposed filter form. | |
| access () | |
| Check whether current user has access to this handler. | |
| pre_query () | |
| Run before the view is built. | |
| set_relationship () | |
| Called just prior to query(), this lets a handler set up any relationship it needs. | |
| needs_style_plugin () | |
| Determine if the argument needs a style plugin. | |
| is_exposed () | |
| Determine if this item is 'exposed', meaning it provides form elements to let users modify the view. | |
| get_join () | |
| Get the join object that should be used for this handler. | |
| validate () | |
| Validates the handler against the complete View. | |
| broken () | |
| Determine if the handler is considered 'broken', meaning it's a a placeholder used when a handler can't be found. | |
| options () | |
| Set default options on this object. | |
| set_default_options () | |
| Set default options. | |
| _set_option_defaults (&$storage, $options, $level=0) | |
| unpack_options (&$storage, $options, $definition=NULL) | |
| Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
| set_definition ($definition) | |
| Let the handler know what its full definition is. | |
| destroy () | |
Public Attributes | |
| $value_form_type = 'select' | |
| $options = array() | |
| Except for displays, options for the object will be held here. | |
| views_handler_filter_term_node_tid::accept_exposed_input | ( | $ | input | ) |
Check to see if input from the exposed filters should change the behavior of this filter.
Reimplemented from views_handler_filter_in_operator.
Definition at line 191 of file views_handler_filter_term_node_tid.inc.
References views_object::options().
00191 { 00192 if (empty($this->options['exposed'])) { 00193 return TRUE; 00194 } 00195 00196 // If it's optional and there's no value don't bother filtering. 00197 if ($this->options['expose']['optional'] && empty($this->validated_exposed_input)) { 00198 return FALSE; 00199 } 00200 00201 $rc = parent::accept_exposed_input($input); 00202 if ($rc) { 00203 // If we have previously validated input, override. 00204 if (isset($this->validated_exposed_input)) { 00205 $this->value = $this->validated_exposed_input; 00206 } 00207 } 00208 00209 return $rc; 00210 }
| views_handler::access | ( | ) | [inherited] |
Check whether current user has access to this handler.
Reimplemented in views_handler_field_node_revision_link_delete, views_handler_field_node_revision_link_revert, views_handler_field_user_link, views_handler_field_user_link_delete, and views_handler_field_user_link_edit.
Definition at line 357 of file handlers.inc.
Referenced by views_handler_argument::default_argument_form(), views_handler_sort_random::options_form(), views_handler_argument::options_form(), views_handler_field_user_language::render_link(), and views_handler_field_user::render_link().
00357 { 00358 if (isset($this->definition['access callback']) && function_exists($this->definition['access callback'])) { 00359 if (isset($this->definition['access arguments']) && is_array($this->definition['access arguments'])) { 00360 return call_user_func_array($this->definition['access callback'], $this->definition['access arguments']); 00361 } 00362 return $this->definition['access callback'](); 00363 } 00364 00365 return TRUE; 00366 }
| views_handler_filter_term_node_tid::admin_summary | ( | ) |
Display the filter on the administrative summary.
Reimplemented from views_handler_filter_in_operator.
Definition at line 290 of file views_handler_filter_term_node_tid.inc.
00290 { 00291 // set up $this->value_options for the parent summary 00292 $this->value_options = array(); 00293 00294 if ($this->value) { 00295 $result = db_query("SELECT * FROM {term_data} td WHERE td.tid IN (" . implode(', ', $this->value) . ")"); 00296 00297 while ($term = db_fetch_object($result)) { 00298 $this->value_options[$term->tid] = $term->name; 00299 } 00300 } 00301 return parent::admin_summary(); 00302 }
| views_handler::broken | ( | ) | [inherited] |
Determine if the handler is considered 'broken', meaning it's a a placeholder used when a handler can't be found.
Reimplemented in views_handler_argument_broken, views_handler_field_broken, views_handler_filter_broken, views_handler_relationship_broken, and views_handler_sort_broken.
Definition at line 497 of file handlers.inc.
| views_handler_filter::can_expose | ( | ) | [inherited] |
Determine if a filter can be exposed.
Reimplemented from views_handler.
Reimplemented in views_handler_filter_node_access, views_handler_filter_node_tnid, and views_handler_filter_node_tnid_child.
Definition at line 71 of file views_handler_filter.inc.
Referenced by views_handler_filter::options_form().
| views_handler_filter_in_operator::construct | ( | ) | [inherited] |
Views handlers use a special construct function so that we can more easily construct them with variable arguments.
Reimplemented from views_object.
Definition at line 13 of file views_handler_filter_in_operator.inc.
00013 { 00014 parent::construct(); 00015 $this->value_title = t('Options'); 00016 $this->value_options = NULL; 00017 }
| views_handler_filter_many_to_one::ensure_my_table | ( | ) | [inherited] |
Override ensure_my_table so we can control how this joins in.
The operator actually has influence over joining.
Reimplemented from views_handler.
Definition at line 88 of file views_handler_filter_many_to_one.inc.
References views_handler_filter_many_to_one::operators().
Referenced by views_handler_filter_many_to_one::operators().
00088 { 00089 // Defer to helper if the operator specifies it. 00090 $info = $this->operators(); 00091 if (isset($info[$this->operator]['ensure_my_table']) && $info[$this->operator]['ensure_my_table'] == 'helper') { 00092 return $this->helper->ensure_my_table(); 00093 } 00094 00095 return parent::ensure_my_table(); 00096 }
| views_handler_filter::expose_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Overridable form for exposed filter options.
If overridden, it is best to call the parent or re-implement the stuff here.
Many filters will need to override this in order to provide options that are nicely tailored to the given filter.
Definition at line 260 of file views_handler_filter.inc.
References views_handler_filter::expose_form_left(), and views_handler_filter::expose_form_right().
Referenced by views_handler_filter::show_expose_form().
00260 { 00261 $form['expose']['start_left'] = array( 00262 '#value' => '<div class="views-left-50">', 00263 ); 00264 00265 $this->expose_form_left($form, $form_state); 00266 00267 $form['expose']['end_left'] = array( 00268 '#value' => '</div>', 00269 ); 00270 00271 $form['expose']['start_checkboxes'] = array( 00272 '#value' => '<div class="form-checkboxes views-left-40 clear-block">', 00273 ); 00274 00275 $this->expose_form_right($form, $form_state); 00276 00277 $form['expose']['end_checkboxes'] = array( 00278 '#value' => '</div>', 00279 ); 00280 }
| views_handler_filter::expose_form_left | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Handle the 'left' side fo the exposed options form.
Definition at line 285 of file views_handler_filter.inc.
References views_object::options(), and views_process_dependency().
Referenced by views_handler_filter::expose_form().
00285 { 00286 if (!empty($form['operator']['#type'])) { 00287 $form['expose']['use_operator'] = array( 00288 '#type' => 'checkbox', 00289 '#title' => t('Unlock operator'), 00290 '#description' => t('When checked, the operator will be exposed to the user'), 00291 '#default_value' => !empty($this->options['expose']['use_operator']), 00292 ); 00293 $form['expose']['operator'] = array( 00294 '#type' => 'textfield', 00295 '#default_value' => $this->options['expose']['operator'], 00296 '#title' => t('Operator identifier'), 00297 '#size' => 40, 00298 '#description' => t('This will appear in the URL after the ? to identify this operator.'), 00299 '#process' => array('views_process_dependency'), 00300 '#dependency' => array( 00301 'edit-options-expose-use-operator' => array(1) 00302 ), 00303 ); 00304 } 00305 else { 00306 $form['expose']['operator'] = array( 00307 '#type' => 'value', 00308 '#value' => '', 00309 ); 00310 } 00311 00312 $form['expose']['identifier'] = array( 00313 '#type' => 'textfield', 00314 '#default_value' => $this->options['expose']['identifier'], 00315 '#title' => t('Filter identifier'), 00316 '#size' => 40, 00317 '#description' => t('This will appear in the URL after the ? to identify this filter. Cannot be blank.'), 00318 ); 00319 $form['expose']['label'] = array( 00320 '#type' => 'textfield', 00321 '#default_value' => $this->options['expose']['label'], 00322 '#title' => t('Label'), 00323 '#size' => 40, 00324 ); 00325 }
| views_handler_filter_term_node_tid::expose_form_right | ( | &$ | form, | |
| &$ | form_state | |||
| ) |
Handle the 'right' side fo the exposed options form.
Reimplemented from views_handler_filter_in_operator.
Definition at line 283 of file views_handler_filter_term_node_tid.inc.
References views_object::options().
00283 { 00284 parent::expose_form_right($form, $form_state); 00285 if ($this->options['type'] != 'select') { 00286 unset($form['expose']['reduce']); 00287 } 00288 }
| views_handler_filter_in_operator::expose_options | ( | ) | [inherited] |
Provide default options for exposed filters.
Reimplemented from views_handler_filter.
Definition at line 40 of file views_handler_filter_in_operator.inc.
References views_object::options().
00040 { 00041 parent::expose_options(); 00042 $this->options['expose']['reduce'] = FALSE; 00043 }
| views_handler_filter::expose_submit | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Perform any necessary changes to the form exposes prior to storage.
There is no need for this function to actually store the data.
Definition at line 376 of file views_handler_filter.inc.
Referenced by views_handler_filter::options_submit().
| views_handler_filter::expose_validate | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Validate the options form.
Definition at line 356 of file views_handler_filter.inc.
References views_object::options().
Referenced by views_handler_filter::options_validate().
00356 { 00357 if (empty($this->options['expose']['identifier'])) { 00358 if (empty($form_state['values']['options']['expose']['identifier'])) { 00359 form_error($form['expose']['identifier'], t('The identifier is required if the filter is exposed.')); 00360 } 00361 } 00362 00363 if (!empty($form_state['values']['options']['expose']['identifier']) && $form_state['values']['options']['expose']['identifier'] == 'value') { 00364 form_error($form['expose']['identifier'], t('This identifier is not allowed.')); 00365 } 00366 00367 if (!$this->view->display_handler->is_identifier_unique($form_state['id'], $form_state['values']['options']['expose']['identifier'])) { 00368 form_error($form['expose']['identifier'], t('This identifier is used by another handler.')); 00369 } 00370 }
| views_handler_filter::exposed_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Render our chunk of the exposed filter form when selecting.
You can override this if it doesn't do what you expect.
Reimplemented from views_handler.
Reimplemented in views_handler_filter_search.
Definition at line 398 of file views_handler_filter.inc.
References views_handler_filter::exposed_translate(), views_handler_filter::operator_form(), views_object::options(), and views_handler_filter::value_form().
00398 { 00399 if (empty($this->options['exposed'])) { 00400 return; 00401 } 00402 00403 if (!empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator'])) { 00404 $operator = $this->options['expose']['operator']; 00405 $this->operator_form($form, $form_state); 00406 $form[$operator] = $form['operator']; 00407 00408 if (isset($form[$operator]['#title'])) { 00409 unset($form[$operator]['#title']); 00410 } 00411 00412 $this->exposed_translate($form[$operator], 'operator'); 00413 00414 unset($form['operator']); 00415 } 00416 00417 if (!empty($this->options['expose']['identifier'])) { 00418 $value = $this->options['expose']['identifier']; 00419 $this->value_form($form, $form_state); 00420 $form[$value] = $form['value']; 00421 00422 if (isset($form[$value]['#title']) && !empty($form[$value]['#type']) && $form[$value]['#type'] != 'checkbox') { 00423 unset($form[$value]['#title']); 00424 } 00425 00426 $this->exposed_translate($form[$value], 'value'); 00427 00428 if (!empty($form['#type']) && ($form['#type'] == 'checkboxes' || ($form['#type'] == 'select' && !empty($form['#multiple'])))) { 00429 unset($form[$value]['#default_value']); 00430 } 00431 00432 if (!empty($form['#type']) && $form['#type'] == 'select' && empty($form['#multiple'])) { 00433 $form[$value]['#default_value'] = 'All'; 00434 } 00435 00436 if ($value != 'value') { 00437 unset($form['value']); 00438 } 00439 } 00440 }
| views_handler_filter::exposed_info | ( | ) | [inherited] |
Tell the renderer about our exposed form.
This only needs to be overridden for particularly complex forms. And maybe not even then.
Reimplemented from views_handler.
Definition at line 479 of file views_handler_filter.inc.
References views_object::options().
00479 { 00480 if (empty($this->options['exposed'])) { 00481 return; 00482 } 00483 00484 return array( 00485 'operator' => $this->options['expose']['operator'], 00486 'value' => $this->options['expose']['identifier'], 00487 'label' => $this->options['expose']['label'], 00488 ); 00489 }
| views_handler::exposed_submit | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
| views_handler_filter::exposed_translate | ( | &$ | form, | |
| $ | type | |||
| ) | [inherited] |
Make some translations to a form item to make it more suitable to exposing.
Definition at line 446 of file views_handler_filter.inc.
References views_object::options().
Referenced by views_handler_filter::exposed_form().
00446 { 00447 if (!isset($form['#type'])) { 00448 return; 00449 } 00450 00451 if ($form['#type'] == 'radios') { 00452 $form['#type'] = 'select'; 00453 } 00454 // Checkboxes don't work so well in exposed forms due to GET conversions. 00455 if ($form['#type'] == 'checkboxes') { 00456 if (empty($form['#no_convert']) || !empty($this->options['expose']['single'])) { 00457 $form['#type'] = 'select'; 00458 } 00459 if (empty($this->options['expose']['single'])) { 00460 $form['#multiple'] = TRUE; 00461 } 00462 } 00463 if (!empty($this->options['expose']['single']) && isset($form['#multiple'])) { 00464 unset($form['#multiple']); 00465 $form['#size'] = NULL; 00466 } 00467 00468 if ($type == 'value' && !empty($this->options['expose']['optional']) && $form['#type'] == 'select' && empty($form['#multiple'])) { 00469 $any_label = variable_get('views_exposed_filter_any_label', 'old_any') == 'old_any' ? '<Any>' : t('- Any -'); 00470 $form['#options'] = array('All' => $any_label) + $form['#options']; 00471 $form['#default_value'] = 'All'; 00472 } 00473 }
| views_handler_filter_term_node_tid::exposed_validate | ( | &$ | form, | |
| &$ | form_state | |||
| ) |
Validate the exposed filter form.
Reimplemented from views_handler.
Definition at line 212 of file views_handler_filter_term_node_tid.inc.
References views_object::options(), and validate_term_strings().
00212 { 00213 if (empty($this->options['exposed'])) { 00214 return; 00215 } 00216 00217 $identifier = $this->options['expose']['identifier']; 00218 00219 // We only validate if they've chosen the text field style. 00220 if ($this->options['type'] != 'textfield') { 00221 if ($form_state['values'][$identifier] != 'All') { 00222 $this->validated_exposed_input = (array) $form_state['values'][$identifier]; 00223 } 00224 return; 00225 } 00226 00227 if (empty($this->options['expose']['identifier'])) { 00228 return; 00229 } 00230 00231 $values = drupal_explode_tags($form_state['values'][$identifier]); 00232 00233 $tids = $this->validate_term_strings($form[$identifier], $values); 00234 if ($tids) { 00235 $this->validated_exposed_input = $tids; 00236 } 00237 }
| views_handler::extra_options | ( | &$ | option | ) | [inherited] |
| views_handler_filter_term_node_tid::extra_options_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) |
Provide a form for setting options.
Reimplemented from views_handler.
Reimplemented in views_handler_filter_term_node_tid_depth.
Definition at line 22 of file views_handler_filter_term_node_tid.inc.
References views_object::$options, views_object::options(), and views_process_dependency().
00022 { 00023 $vocabularies = taxonomy_get_vocabularies(); 00024 foreach ($vocabularies as $voc) { 00025 $options[$voc->vid] = check_plain($voc->name); 00026 } 00027 00028 if ($this->options['limit']) { 00029 // We only do this when the form is displayed so this query doesn't run 00030 // unnecessarily just when the object is constructed. 00031 if ($this->options['vid'] == 0) { 00032 $this->options['vid'] = db_result(db_query('SELECT MIN(vid) FROM {vocabulary} v')); 00033 } 00034 00035 $form['vid'] = array( 00036 '#prefix' => '<div class="views-left-40">', 00037 '#suffix' => '</div>', 00038 '#type' => 'radios', 00039 '#title' => t('Vocabulary'), 00040 '#options' => $options, 00041 '#description' => t('Select which vocabulary to show terms for in the regular options.'), 00042 '#default_value' => $this->options['vid'], 00043 ); 00044 } 00045 00046 $form['markup_start'] = array( 00047 '#value' => '<div class="views-left-40">', 00048 ); 00049 00050 $form['type'] = array( 00051 '#type' => 'radios', 00052 '#title' => t('Selection type'), 00053 '#options' => array('select' => t('Dropdown'), 'textfield' => t('Autocomplete')), 00054 '#default_value' => $this->options['type'], 00055 ); 00056 00057 $form['hierarchy'] = array( 00058 '#type' => 'checkbox', 00059 '#title' => t('Show hierarchy in dropdown'), 00060 '#default_value' => !empty($this->options['hierarchy']), 00061 '#process' => array('views_process_dependency'), 00062 '#dependency' => array('radio:options[type]' => array('select')), 00063 ); 00064 00065 $form['markup_end'] = array( 00066 '#value' => '</div>', 00067 ); 00068 }
| views_handler::extra_options_submit | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data.
Definition at line 314 of file handlers.inc.
| views_handler::extra_options_validate | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
| views_handler::get_join | ( | ) | [inherited] |
Get the join object that should be used for this handler.
This method isn't used a great deal, but it's very handy for easily getting the join if it is necessary to make some changes to it, such as adding an 'extra'.
Definition at line 464 of file handlers.inc.
References views_handler::query(), and views_get_table_join().
Referenced by views_handler_argument_many_to_one::summary_query().
00464 { 00465 // get the join from this table that links back to the base table. 00466 // Determine the primary table to seek 00467 if (empty($this->query->relationships[$this->relationship])) { 00468 $base_table = $this->query->base_table; 00469 } 00470 else { 00471 $base_table = $this->query->relationships[$this->relationship]['base']; 00472 } 00473 00474 $join = views_get_table_join($this->table, $base_table); 00475 if ($join) { 00476 return drupal_clone($join); 00477 } 00478 }
| views_handler_filter_term_node_tid::get_value_options | ( | ) |
Child classes should be used to override this function and set the 'value options', unless 'options callback' is defined as a valid function or static public method to generate these values.
This can use a guard to be used to reduce database hits as much as possible.
Reimplemented from views_handler_filter_in_operator.
Definition at line 10 of file views_handler_filter_term_node_tid.inc.
| views_handler_filter_term_node_tid::has_extra_options | ( | ) |
If a handler has 'extra options' it will get a little settings widget and another form called extra_options.
Reimplemented from views_handler.
Definition at line 8 of file views_handler_filter_term_node_tid.inc.
| views_handler_filter::init | ( | &$ | view, | |
| $ | options | |||
| ) | [inherited] |
Provide some extra help to get the operator/value easier to use.
This likely has to be overridden by filters which are more complex than simple operator/value.
Reimplemented from views_handler.
Definition at line 24 of file views_handler_filter.inc.
References views_object::$options, and views_object::options().
00024 { 00025 parent::init($view, $options); 00026 00027 $this->operator = $this->options['operator']; 00028 $this->value = $this->options['value']; 00029 00030 // Compatibility: Set use_operator to true if the old way of using 00031 // the operator is set and use_operator is NULL (was never set). 00032 if (!empty($options['exposed']) && !empty($options['expose']['operator']) && !isset($options['expose']['use_operator'])) { 00033 $this->options['expose']['use_operator'] = TRUE; 00034 } 00035 00036 // If there are relationships in the view, allow empty should be true 00037 // so that we can do IS NULL checks on items. Not all filters respect 00038 // allow empty, but string and numeric do and that covers enough. 00039 if ($this->view->display_handler->get_option('relationships')) { 00040 $this->definition['allow empty'] = TRUE; 00041 } 00042 }
| views_handler::is_exposed | ( | ) | [inherited] |
Determine if this item is 'exposed', meaning it provides form elements to let users modify the view.
Definition at line 443 of file handlers.inc.
References views_object::options().
00443 { 00444 return !empty($this->options['exposed']); 00445 }
| views_handler::needs_style_plugin | ( | ) | [inherited] |
Determine if the argument needs a style plugin.
Reimplemented in views_handler_argument.
Definition at line 435 of file handlers.inc.
| views_handler_filter::operator_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Provide a form for setting the operator.
This may be overridden by child classes, and it must define $form['operator'];
Reimplemented in views_handler_filter_boolean_operator, views_handler_filter_search, views_handler_filter_node_tnid, and views_handler_filter_node_tnid_child.
Definition at line 131 of file views_handler_filter.inc.
References views_object::$options, views_handler_filter::operator_options(), and views_object::options().
Referenced by views_handler_filter::exposed_form(), and views_handler_filter::show_operator_form().
00131 { 00132 $options = $this->operator_options(); 00133 if (!empty($options)) { 00134 $form['operator'] = array( 00135 '#type' => count($options) < 10 ? 'radios' : 'select', 00136 '#title' => t('Operator'), 00137 '#default_value' => $this->operator, 00138 '#options' => $options, 00139 ); 00140 } 00141 }
| views_handler_filter::operator_options | ( | ) | [inherited] |
Provide a list of options for the default operator form.
Should be overridden by classes that don't override operator_form
Reimplemented in views_handler_filter_equality, and views_handler_filter_term_node_tid_depth.
Definition at line 147 of file views_handler_filter.inc.
Referenced by views_handler_filter_string::admin_summary(), views_handler_filter_numeric::admin_summary(), and views_handler_filter::operator_form().
| views_handler_filter_in_operator::operator_options | ( | $ | which = 'title' |
) | [inherited] |
Build strings from the operators() for 'select' options.
Definition at line 110 of file views_handler_filter_in_operator.inc.
References views_object::$options, and views_handler_filter_in_operator::operators().
00110 { 00111 $options = array(); 00112 foreach ($this->operators() as $id => $info) { 00113 $options[$id] = $info[$which]; 00114 } 00115 00116 return $options; 00117 }
| views_handler_filter::operator_submit | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data.
Definition at line 158 of file views_handler_filter.inc.
Referenced by views_handler_filter::options_submit().
| views_handler_filter::operator_validate | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Validate the operator form.
Definition at line 152 of file views_handler_filter.inc.
Referenced by views_handler_filter::options_validate().
| views_handler_filter_many_to_one::operators | ( | ) | [inherited] |
This kind of construct makes it relatively easy for a child class to add or remove functionality by overriding this function and adding/removing items from this array.
Reimplemented from views_handler_filter_in_operator.
Definition at line 27 of file views_handler_filter_many_to_one.inc.
References views_handler_filter_many_to_one::ensure_my_table(), views_handler_filter_in_operator::op_empty(), and views_handler_filter_many_to_one::op_helper().
Referenced by views_handler_filter_many_to_one::ensure_my_table().
00027 { 00028 $operators = array( 00029 'or' => array( 00030 'title' => t('Is one of'), 00031 'short' => t('or'), 00032 'short_single' => t('='), 00033 'method' => 'op_helper', 00034 'values' => 1, 00035 'ensure_my_table' => 'helper', 00036 ), 00037 'and' => array( 00038 'title' => t('Is all of'), 00039 'short' => t('and'), 00040 'short_single' => t('='), 00041 'method' => 'op_helper', 00042 'values' => 1, 00043 'ensure_my_table' => 'helper', 00044 ), 00045 'not' => array( 00046 'title' => t('Is none of'), 00047 'short' => t('not'), 00048 'short_single' => t('<>'), 00049 'method' => 'op_helper', 00050 'values' => 1, 00051 'ensure_my_table' => 'helper', 00052 ), 00053 ); 00054 // if the definition allows for the empty operator, add it. 00055 if (!empty($this->definition['allow empty'])) { 00056 $operators += array( 00057 'empty' => array( 00058 'title' => t('Is empty (NULL)'), 00059 'method' => 'op_empty', 00060 'short' => t('empty'), 00061 'values' => 0, 00062 ), 00063 'not empty' => array( 00064 'title' => t('Is not empty (NULL)'), 00065 'method' => 'op_empty', 00066 'short' => t('not empty'), 00067 'values' => 0, 00068 ), 00069 ); 00070 } 00071 00072 return $operators; 00073 }
| views_handler_filter_term_node_tid::option_definition | ( | ) |
Information about options for all kinds of purposes will be held here.
'option_name' => array( - 'default' => default value, - 'translatable' => TRUE/FALSE (wrap in t() on export if true), - 'contains' => array of items this contains, with its own defaults, etc. If contains is set, the default will be ignored and assumed to be array() ),
Reimplemented from views_handler_filter_many_to_one.
Reimplemented in views_handler_filter_term_node_tid_depth.
Definition at line 12 of file views_handler_filter_term_node_tid.inc.
References views_object::$options.
00012 { 00013 $options = parent::option_definition(); 00014 00015 $options['type'] = array('default' => 'textfield'); 00016 $options['limit'] = array('default' => TRUE); 00017 $options['vid'] = array('default' => 0); 00018 00019 return $options; 00020 }
| views_object::options | ( | ) | [inherited] |
Set default options on this object.
Called by the constructor in a complex chain to deal with backward compatibility.
Definition at line 46 of file base.inc.
Referenced by accept_exposed_input(), views_handler_filter_numeric::accept_exposed_input(), views_handler_filter_in_operator::accept_exposed_input(), views_handler_filter_date::accept_exposed_input(), views_handler_filter::accept_exposed_input(), views_plugin_access_role::access(), views_plugin_access_perm::access(), views_handler_field_term_node_tid::add_self_tokens(), views_handler_filter_history_user_timestamp::admin_summary(), views_handler_sort::admin_summary(), views_handler_filter_string::admin_summary(), views_handler_filter_numeric::admin_summary(), views_handler_filter_in_operator::admin_summary(), views_handler_filter_boolean_operator::admin_summary(), views_plugin_argument_default_php::argument_form(), views_plugin_argument_default::argument_form(), views_plugin_argument_default_user::argument_form(), views_plugin_style_table::build_sort(), views_plugin_style_table::build_sort_post(), views_plugin_cache_time::cache_expire(), views_handler_filter_string::case_transform(), views_handler_argument_string::case_transform(), views_handler_field::construct(), views_handler_argument::default_action(), views_handler_argument_date::default_argument_form(), views_handler_argument::default_argument_form(), views_handler_argument::default_summary(), views_plugin_display_attachment::displays_exposed(), views_handler_field_term_node_tid::document_self_tokens(), views_handler_filter::expose_form_left(), expose_form_right(), views_handler_filter_in_operator::expose_form_right(), views_handler_filter::expose_form_right(), views_handler_filter_in_operator::expose_options(), views_handler_filter_boolean_operator::expose_options(), views_handler_filter::expose_options(), views_handler_filter::expose_validate(), views_handler_filter_search::exposed_form(), views_handler_filter::exposed_form(), views_handler_filter::exposed_info(), views_handler_filter::exposed_translate(), views_handler_filter_user_name::exposed_validate(), exposed_validate(), views_handler_filter_search::exposed_validate(), views_handler_filter_date::exposed_validate(), views_handler_filter_term_node_tid_depth::extra_options_form(), extra_options_form(), views_plugin_access_role::get_access_callback(), views_plugin_access_perm::get_access_callback(), views_handler_argument_date::get_default_argument(), views_handler_argument::get_default_argument(), views_handler_argument_string::get_formula(), views_plugin_display::get_option(), views_handler_filter_profile_selection::get_value_options(), views_handler_filter_in_operator::get_value_options(), views_handler_argument::has_default_argument(), views_plugin_style::init(), views_plugin_row::init(), views_plugin_display::init(), views_plugin_cache::init(), views_plugin_access::init(), views_handler_field_user_name::init(), views_handler_field_user::init(), views_plugin_row_node_view::init(), views_handler_field_history_user_timestamp::init(), views_handler_field_node_new_comments::init(), views_handler_field_comment::init(), views_handler::init(), views_handler_filter::init(), views_handler_field::init(), views_plugin_display::is_defaulted(), views_handler::is_exposed(), views_plugin_display::is_identifier_unique(), views_handler_argument::is_wildcard(), views_handler_relationship::label(), views_handler_field::label(), views_handler_argument::needs_style_plugin(), views_handler_filter_numeric::op_between(), views_handler_filter_float::op_between(), views_handler_filter_date::op_between(), views_handler_filter_string::op_contains(), views_handler_filter_string::op_empty(), views_handler_filter_numeric::op_empty(), views_handler_filter_in_operator::op_empty(), views_handler_filter_string::op_ends(), views_handler_filter_string::op_equal(), views_handler_filter_string::op_not(), views_handler_filter_string::op_not_ends(), views_handler_filter_string::op_not_starts(), views_handler_filter_numeric::op_simple(), views_handler_filter_in_operator::op_simple(), views_handler_filter_float::op_simple(), views_handler_filter_date::op_simple(), views_handler_filter_string::op_starts(), views_handler_filter_string::op_word(), views_handler_filter_node_tnid::operator_form(), views_handler_filter_search::operator_form(), views_handler_filter::operator_form(), views_plugin_style_table::options_form(), views_plugin_style_summary_unformatted::options_form(), views_plugin_style_summary_jump_menu::options_form(), views_plugin_style_summary::options_form(), views_plugin_style_rss::options_form(), views_plugin_style_list::options_form(), views_plugin_style_jump_menu::options_form(), views_plugin_style_grid::options_form(), views_plugin_style::options_form(), views_plugin_row_fields::options_form(), views_plugin_row::options_form(), views_plugin_display_page::options_form(), views_plugin_display_feed::options_form(), views_plugin_display_block::options_form(), views_plugin_display_attachment::options_form(), views_plugin_display::options_form(), views_plugin_cache_time::options_form(), views_plugin_access_role::options_form(), views_plugin_access_perm::options_form(), views_handler_field_user_name::options_form(), views_handler_field_user_mail::options_form(), views_handler_field_user_link::options_form(), views_handler_field_is_online::options_form(), views_handler_field_upload_fid::options_form(), views_handler_field_upload_description::options_form(), views_handler_relationship_translation::options_form(), views_handler_relationship_node_term_data::options_form(), views_handler_field_term_node_tid::options_form(), views_handler_field_taxonomy::options_form(), views_handler_argument_term_node_tid_depth::options_form(), views_handler_argument_term_node_tid::options_form(), views_handler_field_file::options_form(), views_handler_field_accesslog_path::options_form(), views_plugin_row_search_view::options_form(), views_handler_field_search_score::options_form(), views_handler_field_profile_date::options_form(), views_plugin_row_node_view::options_form(), views_plugin_row_node_rss::options_form(), views_handler_field_node_link::options_form(), views_handler_field_node::options_form(), views_handler_field_history_user_timestamp::options_form(), views_handler_field_locale_link_edit::options_form(), views_handler_field_contact_link::options_form(), views_plugin_row_comment_view::options_form(), views_handler_field_comment_username::options_form(), views_handler_field_comment_node_link::options_form(), views_handler_field_comment_link::options_form(), views_plugin_row_aggregator_rss::options_form(), views_handler_field_aggregator_title_link::options_form(), views_handler_field_aggregator_category::options_form(), views_handler_sort_date::options_form(), views_handler_sort::options_form(), views_handler_relationship::options_form(), views_handler_filter_string::options_form(), views_handler_field_url::options_form(), views_handler_field_prerender_list::options_form(), views_handler_field_numeric::options_form(), views_handler_field_date::options_form(), views_handler_field_counter::options_form(), views_handler_field_boolean::options_form(), views_handler_field_file_size::options_form(), views_handler_field::options_form(), views_handler_argument_string::options_form(), views_handler_argument_numeric::options_form(), views_handler_argument_null::options_form(), views_handler_argument_many_to_one::options_form(), views_handler_argument::options_form(), views_plugin_display::options_submit(), views_handler_filter::options_submit(), views_plugin_display::options_summary(), views_handler_filter_date::options_validate(), views_handler_filter::options_validate(), views_handler_argument_term_node_tid_depth_modifier::pre_query(), views_handler_field_upload_description::pre_render(), views_handler_field_term_node_tid::pre_render(), views_plugin_style_summary::query(), views_plugin_row::query(), views_handler_filter_user_current::query(), views_handler_filter_upload_fid::query(), views_handler_relationship_translation::query(), views_handler_filter_node_tnid_child::query(), views_handler_filter_node_tnid::query(), views_handler_relationship_node_term_data::query(), views_handler_filter_term_node_tid_depth::query(), views_handler_argument_term_node_tid_depth::query(), views_handler_sort_search_score::query(), views_handler_filter_search::query(), views_handler_field_search_score::query(), views_handler_filter_node_status::query(), views_handler_filter_history_user_timestamp::query(), views_handler_sort_ncs_last_updated::query(), views_handler_sort_ncs_last_comment_name::query(), views_handler_sort_comment_thread::query(), views_handler_filter_comment_user_uid::query(), views_handler_sort_random::query(), views_handler_sort_formula::query(), views_handler_sort_date::query(), views_handler_sort::query(), views_handler_relationship::query(), views_handler_filter_boolean_operator_string::query(), views_handler_filter_boolean_operator::query(), views_handler_filter::query(), views_handler_argument_string::query(), views_handler_argument_numeric::query(), views_handler_argument_many_to_one::query(), views_handler_filter_in_operator::reduce_value_options(), views_plugin_style_summary_jump_menu::render(), views_plugin_style_summary::render(), views_plugin_style_rss::render(), views_plugin_style_jump_menu::render(), views_plugin_style::render(), views_plugin_row::render(), views_handler_field_user_mail::render(), views_handler_field_user_link_edit::render(), views_handler_field_user_link_delete::render(), views_handler_field_user_link::render(), views_handler_field_accesslog_path::render(), views_plugin_row_search_view::render(), views_handler_field_profile_date::render(), views_handler_field_node_link::render(), views_handler_field_locale_link_edit::render(), views_plugin_row_comment_rss::render(), views_handler_field_ncs_last_comment_name::render(), views_handler_field_comment_link_reply::render(), views_handler_field_comment_link_delete::render(), views_handler_field_comment_link::render(), views_plugin_row_aggregator_rss::render(), views_handler_field_counter::render(), views_handler_field_file_size::render(), views_handler_field_user_name::render_link(), views_handler_field_user_language::render_link(), views_handler_field_user::render_link(), views_handler_field_upload_description::render_link(), views_handler_field_taxonomy::render_link(), views_handler_field_file::render_link(), views_handler_field_node::render_link(), views_handler_field_comment_username::render_link(), views_handler_field_comment::render_link(), views_handler_field_aggregator_category::render_link(), views_handler_argument_term_node_tid_depth::set_breadcrumb(), views_handler_argument_term_node_tid::set_breadcrumb(), views_object::set_default_options(), views_plugin_display::set_option(), views_plugin_display::set_override(), views_handler::set_relationship(), views_handler_filter::show_expose_button(), views_handler_filter::show_expose_form(), views_handler_filter::store_exposed_input(), views_handler_argument_string::summary_argument(), views_handler_argument_string::summary_query(), views_handler_argument_many_to_one::summary_query(), views_plugin_cache_time::summary_title(), views_plugin_access_role::summary_title(), views_plugin_access_perm::summary_title(), views_handler_argument_string::title(), views_handler_argument_numeric::title(), views_handler_argument_many_to_one::title(), views_handler_argument::uses_breadcrumb(), views_plugin_display_attachment::uses_exposed(), views_plugin_display::validate(), views_handler_argument_null::validate_argument_basic(), views_handler_argument::validate_fail(), views_plugin_argument_validate_php::validate_form(), views_plugin_argument_validate_user::validate_form(), views_plugin_argument_validate_taxonomy_term::validate_form(), views_plugin_argument_validate_node::validate_form(), validate_term_strings(), views_handler_filter_user_name::value_form(), value_form(), views_handler_filter_history_user_timestamp::value_form(), views_handler_filter_string::value_form(), views_handler_filter_numeric::value_form(), views_handler_filter_in_operator::value_form(), views_handler_filter_equality::value_form(), views_handler_filter_date::value_form(), views_handler_filter_boolean_operator::value_form(), views_handler_filter_in_operator::value_submit(), views_handler_filter_user_name::value_validate(), value_validate(), views_handler_filter_boolean_operator::value_validate(), and views_handler_argument::wildcard_title().
| views_handler_filter::options_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Provide the basic form which calls through to subforms.
If overridden, it is best to call through to the parent, or to at least make sure all of the functions in this form are called.
Reimplemented from views_handler.
Reimplemented in views_handler_filter_broken, and views_handler_filter_string.
Definition at line 79 of file views_handler_filter.inc.
References views_handler_filter::can_expose(), views_handler_filter::show_expose_button(), views_handler_filter::show_expose_form(), views_handler_filter::show_operator_form(), and views_handler_filter::show_value_form().
00079 { 00080 if ($this->can_expose()) { 00081 $this->show_expose_button($form, $form_state); 00082 } 00083 $form['op_val_start'] = array('#value' => '<div class="clear-block">'); 00084 $this->show_operator_form($form, $form_state); 00085 $this->show_value_form($form, $form_state); 00086 $form['op_val_end'] = array('#value' => '</div>'); 00087 if ($this->can_expose()) { 00088 $this->show_expose_form($form, $form_state); 00089 } 00090 }
| views_handler::options_submit | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data.
Definition at line 287 of file handlers.inc.
| views_handler_filter::options_submit | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Simple submit handler.
Definition at line 107 of file views_handler_filter.inc.
References views_handler_filter::expose_submit(), views_handler_filter::operator_submit(), views_object::options(), and views_handler_filter::value_submit().
00107 { 00108 unset($form_state['values']['expose_button']); // don't store this. 00109 $this->operator_submit($form, $form_state); 00110 $this->value_submit($form, $form_state); 00111 if (!empty($this->options['exposed'])) { 00112 $this->expose_submit($form, $form_state); 00113 } 00114 }
| views_handler::options_validate | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
| views_handler_filter::options_validate | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Simple validate handler.
Reimplemented in views_handler_filter_date.
Definition at line 95 of file views_handler_filter.inc.
References views_handler_filter::expose_validate(), views_handler_filter::operator_validate(), views_object::options(), and views_handler_filter::value_validate().
00095 { 00096 $this->operator_validate($form, $form_state); 00097 $this->value_validate($form, $form_state); 00098 if (!empty($this->options['exposed'])) { 00099 $this->expose_validate($form, $form_state); 00100 } 00101 00102 }
| views_handler::pre_query | ( | ) | [inherited] |
Run before the view is built.
This gives all the handlers some time to set up before any handler has been fully run.
Reimplemented in views_handler_argument_term_node_tid_depth_modifier.
Definition at line 374 of file handlers.inc.
| views_handler_filter_in_operator::query | ( | ) | [inherited] |
Add this filter to the query.
Due to the nature of fapi, the value and the operator have an unintended level of indirection. You will find them in $this->operator and $this->value respectively.
Reimplemented from views_handler_filter.
Reimplemented in views_handler_filter_comment_user_uid, and views_handler_filter_term_node_tid_depth.
Definition at line 325 of file views_handler_filter_in_operator.inc.
References views_handler_filter_in_operator::operators().
Referenced by views_handler_filter_in_operator::op_empty(), and views_handler_filter_in_operator::op_simple().
00325 { 00326 $info = $this->operators(); 00327 if (!empty($info[$this->operator]['method'])) { 00328 $this->{$info[$this->operator]['method']}(); 00329 } 00330 }
| views_handler_filter_in_operator::reduce_value_options | ( | $ | input = NULL |
) | [inherited] |
When using exposed filters, we may be required to reduce the set.
Definition at line 217 of file views_handler_filter_in_operator.inc.
References views_object::$options, and views_object::options().
Referenced by value_form(), and views_handler_filter_in_operator::value_form().
00217 { 00218 if (!isset($input)) { 00219 $input = $this->value_options; 00220 } 00221 00222 // Because options may be an array of strings, or an array of mixed arrays 00223 // and strings (optgroups) or an array of objects, we have to 00224 // step through and handle each one individually. 00225 $options = array(); 00226 foreach ($input as $id => $option) { 00227 if (is_array($option)) { 00228 $options[$id] = $this->reduce_value_options($option); 00229 continue; 00230 } 00231 else if (is_object($option)) { 00232 $keys = array_keys($option->option); 00233 $key = array_shift($keys); 00234 if (isset($this->options['value'][$key])) { 00235 $options[$id] = $option; 00236 } 00237 } 00238 else if (isset($this->options['value'][$id])) { 00239 $options[$id] = $option; 00240 } 00241 } 00242 return $options; 00243 }
| views_object::set_default_options | ( | ) | [inherited] |
Set default options.
For backward compatibility, it sends the options array; this is a feature that will likely disappear at some point.
Definition at line 53 of file base.inc.
References views_object::_set_option_defaults(), views_object::option_definition(), and views_object::options().
Referenced by views_object::construct().
00053 { 00054 $this->_set_option_defaults($this->options, $this->option_definition()); 00055 00056 // Retained for complex defaults plus backward compatibility. 00057 $this->options($this->options); 00058 }
| views_object::set_definition | ( | $ | definition | ) | [inherited] |
| views_handler::set_relationship | ( | ) | [inherited] |
Called just prior to query(), this lets a handler set up any relationship it needs.
Definition at line 380 of file handlers.inc.
References views_object::options().
00380 { 00381 // Ensure this gets set to something. 00382 $this->relationship = NULL; 00383 00384 // Don't process non-existant relationships. 00385 if (empty($this->options['relationship']) || $this->options['relationship'] == 'none') { 00386 return; 00387 } 00388 00389 $relationship = $this->options['relationship']; 00390 00391 // Ignore missing/broken relationships. 00392 if (empty($this->view->relationship[$relationship])) { 00393 return; 00394 } 00395 00396 // Check to see if the relationship has already processed. If not, then we 00397 // cannot process it. 00398 if (empty($this->view->relationship[$relationship]->alias)) { 00399 return; 00400 } 00401 00402 // Finally! 00403 $this->relationship = $this->view->relationship[$relationship]->alias; 00404 }
| views_handler_filter::show_expose_button | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Shortcut to display the expose/hide button.
Definition at line 193 of file views_handler_filter.inc.
References views_object::options(), and views_ui_config_item_form_expose().
Referenced by views_handler_filter::options_form().
00193 { 00194 $form['expose_button'] = array( 00195 '#prefix' => '<div class="views-expose clear-block">', 00196 '#suffix' => '</div>', 00197 ); 00198 if (empty($this->options['exposed'])) { 00199 $form['expose_button']['button'] = array( 00200 '#type' => 'submit', 00201 '#value' => t('Expose'), 00202 '#submit' => array('views_ui_config_item_form_expose'), 00203 ); 00204 $form['expose_button']['markup'] = array( 00205 '#prefix' => '<div class="description">', 00206 '#value' => t('This item is currently not exposed. If you <strong>expose</strong> it, users will be able to change the filter as they view it.'), 00207 '#suffix' => '</div>', 00208 ); 00209 } 00210 else { 00211 $form['expose_button']['button'] = array( 00212 '#type' => 'submit', 00213 '#value' => t('Hide'), 00214 '#submit' => array('views_ui_config_item_form_expose'), 00215 ); 00216 $form['expose_button']['markup'] = array( 00217 '#prefix' => '<div class="description">', 00218 '#value' => t('This item is currently exposed. If you <strong>hide</strong> it, users will not be able to change the filter as they view it.'), 00219 '#suffix' => '</div>', 00220 ); 00221 } 00222 }
| views_handler_filter::show_expose_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Shortcut to display the exposed options form.
Definition at line 227 of file views_handler_filter.inc.
References views_handler_filter::expose_form(), and views_object::options().
Referenced by views_handler_filter::options_form().
00227 { 00228 if (empty($this->options['exposed'])) { 00229 return; 00230 } 00231 00232 $form['expose'] = array( 00233 '#prefix' => '<div class="views-expose-options clear-block">', 00234 '#suffix' => '</div>', 00235 ); 00236 $this->expose_form($form, $form_state); 00237 00238 // When we click the expose button, we add new gadgets to the form but they 00239 // have no data in $_POST so their defaults get wiped out. This prevents 00240 // these defaults from getting wiped out. This setting will only be TRUE 00241 // during a 2nd pass rerender. 00242 if (!empty($form_state['force_expose_options'])) { 00243 foreach (element_children($form['expose']) as $id) { 00244 if (isset($form['expose'][$id]['#default_value']) && !isset($form['expose'][$id]['#value'])) { 00245 $form['expose'][$id]['#value'] = $form['expose'][$id]['#default_value']; 00246 } 00247 } 00248 } 00249 }
| views_handler_filter::show_operator_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Shortcut to display the operator form.
Definition at line 119 of file views_handler_filter.inc.
References views_handler_filter::operator_form().
Referenced by views_handler_filter::options_form().
00119 { 00120 $this->operator_form($form, $form_state); 00121 $form['operator']['#prefix'] = '<div class="views-left-30">'; 00122 $form['operator']['#suffix'] = '</div>'; 00123 }
| views_handler_filter::show_value_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Shortcut to display the value form.
Definition at line 163 of file views_handler_filter.inc.
References views_handler_filter::value_form().
Referenced by views_handler_filter::options_form().
00163 { 00164 $this->value_form($form, $form_state); 00165 if (empty($this->no_operator)) { 00166 $form['value']['#prefix'] = '<div class="views-right-70">' . (isset($form['value']['#prefix']) ? $form['value']['#prefix'] : ''); 00167 $form['value']['#suffix'] = (isset($form['value']['#suffix']) ? $form['value']['#suffix'] : '') . '</div>'; 00168 } 00169 }
| views_handler_filter::store_exposed_input | ( | $ | input, | |
| $ | status | |||
| ) | [inherited] |
If set to remember exposed input in the session, store it there.
Reimplemented from views_handler.
Definition at line 534 of file views_handler_filter.inc.
References $display_id, and views_object::options().
00534 { 00535 if (empty($this->options['exposed']) || empty($this->options['expose']['identifier'])) { 00536 return TRUE; 00537 } 00538 00539 if (empty($this->options['expose']['remember'])) { 00540 return; 00541 } 00542 00543 // Figure out which display id is responsible for the filters, so we 00544 // know where to look for session stored values. 00545 $display_id = ($this->view->display_handler->is_defaulted('filters')) ? 'default' : $this->view->current_display; 00546 00547 // shortcut test. 00548 $operator = !empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator']); 00549 00550 // false means that we got a setting that means to recuse ourselves, 00551 // so we should erase whatever happened to be there. 00552 if (!$status && isset($_SESSION['views'][$this->view->name][$display_id])) { 00553 $session = &$_SESSION['views'][$this->view->name][$display_id]; 00554 if ($operator && isset($session[$this->options['expose']['operator']])) { 00555 unset($session[$this->options['expose']['operator']]); 00556 } 00557 00558 if (isset($session[$this->options['expose']['identifier']])) { 00559 unset($session[$this->options['expose']['identifier']]); 00560 } 00561 } 00562 00563 if ($status) { 00564 if (!isset($_SESSION['views'][$this->view->name][$display_id])) { 00565 $_SESSION['views'][$this->view->name][$display_id] = array(); 00566 } 00567 00568 $session = &$_SESSION['views'][$this->view->name][$display_id]; 00569 00570 if ($operator && isset($input[$this->options['expose']['operator']])) { 00571 $session[$this->options['expose']['operator']] = $input[$this->options['expose']['operator']]; 00572 } 00573 00574 $session[$this->options['expose']['identifier']] = $input[$this->options['expose']['identifier']]; 00575 } 00576 }
| views_handler::ui_name | ( | $ | short = FALSE |
) | [inherited] |
Return a string representing this handler's name in the UI.
Reimplemented in views_handler_argument_broken, views_handler_field_broken, views_handler_filter_broken, views_handler_relationship_broken, and views_handler_sort_broken.
Definition at line 268 of file handlers.inc.
References $title.
Referenced by views_handler_filter::expose_options(), views_handler_relationship::label(), and views_handler_field::options_form().
00268 { 00269 $title = ($short && isset($this->definition['title short'])) ? $this->definition['title short'] : $this->definition['title']; 00270 return t('!group: !title', array('!group' => $this->definition['group'], '!title' => $title)); 00271 }
| views_object::unpack_options | ( | &$ | storage, | |
| $ | options, | |||
| $ | definition = NULL | |||
| ) | [inherited] |
Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
Definition at line 79 of file base.inc.
References views_object::$options, and views_object::option_definition().
Referenced by views_plugin_style::init(), views_plugin_row::init(), views_plugin_display::init(), and views_handler::init().
00079 { 00080 if (!is_array($options)) { 00081 return; 00082 } 00083 00084 if (!isset($definition)) { 00085 $definition = $this->option_definition(); 00086 } 00087 00088 foreach ($options as $key => $value) { 00089 if (is_array($value)) { 00090 if (!isset($storage[$key]) || !is_array($storage[$key])) { 00091 $storage[$key] = array(); 00092 } 00093 00094 $this->unpack_options($storage[$key], $value, isset($definition[$key]['contains']) ? $definition[$key]['contains'] : array()); 00095 } 00096 else if (!empty($definition[$key]['translatable']) && !empty($value)) { 00097 $storage[$key] = t($value); 00098 } 00099 else { 00100 $storage[$key] = $value; 00101 } 00102 } 00103 }
| views_handler::validate | ( | ) | [inherited] |
Validates the handler against the complete View.
This is called when the complete View is being validated. For validating the handler options form use options_validate().
Definition at line 491 of file handlers.inc.
Referenced by views_handler_argument::options_form().
| views_handler_filter_term_node_tid::validate_term_strings | ( | &$ | form, | |
| $ | values | |||
| ) |
Validate the user string.
Since this can come from either the form or the exposed filter, this is abstracted out a bit so it can handle the multiple input sources.
Definition at line 244 of file views_handler_filter_term_node_tid.inc.
References views_object::options().
Referenced by exposed_validate(), and value_validate().
00244 { 00245 if (empty($values)) { 00246 return array(); 00247 } 00248 00249 $tids = array(); 00250 $placeholders = array(); 00251 $args = array(); 00252 $results = array(); 00253 foreach ($values as $value) { 00254 $missing[strtolower($value)] = TRUE; 00255 $args[] = $value; 00256 $placeholders[] = "'%s'"; 00257 } 00258 00259 if (!$args) { 00260 return; 00261 } 00262 00263 // add the taxonomy vid to the argument list. 00264 $args[] = $this->options['vid']; 00265 00266 $result = db_query("SELECT * FROM {term_data} WHERE name IN (" . implode(', ', $placeholders) . ") AND vid = %d", $args); 00267 while ($term = db_fetch_object($result)) { 00268 unset($missing[strtolower($term->name)]); 00269 $tids[] = $term->tid; 00270 } 00271 00272 if ($missing) { 00273 form_error($form, format_plural(count($missing), 'Unable to find term: @terms', 'Unable to find terms: @terms', array('@terms' => implode(', ', array_keys($missing))))); 00274 } 00275 00276 return $tids; 00277 }
| views_handler_filter_term_node_tid::value_form | ( | &$ | form, | |
| &$ | form_state | |||
| ) |
Provide a form for setting options.
This should be overridden by all child classes and it must define $form['value']
Reimplemented from views_handler_filter_many_to_one.
Definition at line 70 of file views_handler_filter_term_node_tid.inc.
References views_object::$options, views_object::options(), and views_handler_filter_in_operator::reduce_value_options().
00070 { 00071 $vocabulary = taxonomy_vocabulary_load($this->options['vid']); 00072 if (empty($vocabulary) && $this->options['limit']) { 00073 $form['markup'] = array( 00074 '#prefix' => '<div class="form-item">', 00075 '#suffix' => '</div>', 00076 '#value' => t('An invalid vocabulary is selected. Please change it in the options.'), 00077 ); 00078 return; 00079 } 00080 00081 if ($this->options['type'] == 'textfield') { 00082 $default = ''; 00083 if ($this->value) { 00084 $result = db_query("SELECT * FROM {term_data} td WHERE td.tid IN (" . implode(', ', $this->value) . ')'); 00085 while ($term = db_fetch_object($result)) { 00086 if ($default) { 00087 $default .= ', '; 00088 } 00089 $default .= $term->name; 00090 } 00091 } 00092 00093 $form['value'] = array( 00094 '#title' => $this->options['limit'] ? t('Select terms from vocabulary @voc', array('@voc' => $vocabulary->name)) : t('Select terms'), 00095 '#type' => 'textfield', 00096 '#default_value' => $default, 00097 ); 00098 00099 if ($this->options['limit']) { 00100 $form['value']['#autocomplete_path'] = 'taxonomy/autocomplete/' . $vocabulary->vid; 00101 } 00102 } 00103 else { 00104 if (!empty($this->options['hierarchy']) && $this->options['limit']) { 00105 $tree = taxonomy_get_tree($vocabulary->vid); 00106 $options = array(); 00107 00108 if ($tree) { 00109 foreach ($tree as $term) { 00110 $choice = new stdClass(); 00111 $choice->option = array($term->tid => str_repeat('-', $term->depth) . $term->name); 00112 $options[] = $choice; 00113 } 00114 } 00115 } 00116 else { 00117 $options = array(); 00118 if ($this->options['limit']) { 00119 $result = db_query("SELECT * FROM {term_data} WHERE vid = %d ORDER BY weight, name", $vocabulary->vid); 00120 } 00121 else { 00122 $result = db_query("SELECT td.* FROM {term_data} td INNER JOIN {vocabulary} v ON td.vid = v.vid ORDER BY v.weight, v.name, td.weight, td.name"); 00123 } 00124 while ($term = db_fetch_object($result)) { 00125 $options[$term->tid] = $term->name; 00126 } 00127 } 00128 00129 $default_value = (array) $this->value; 00130 00131 if (!empty($form_state['exposed'])) { 00132 $identifier = $this->options['expose']['identifier']; 00133 00134 if (!empty($this->options['expose']['reduce'])) { 00135 $options = $this->reduce_value_options($options); 00136 00137 if (empty($this->options['expose']['single']) && !empty($this->options['expose']['optional'])) { 00138 $default_value = array(); 00139 } 00140 } 00141 00142 if (!empty($this->options['expose']['single'])) { 00143 if (!empty($this->options['expose']['optional']) && (empty($default_value) || !empty($this->options['expose']['reduce']))) { 00144 $default_value = 'All'; 00145 } 00146 else if (empty($default_value)) { 00147 $keys = array_keys($options); 00148 $default_value = array_shift($keys); 00149 } 00150 else { 00151 $copy = $default_value; 00152 $default_value = array_shift($copy); 00153 } 00154 } 00155 } 00156 $form['value'] = array( 00157 '#type' => 'select', 00158 '#title' => $this->options['limit'] ? t('Select terms from vocabulary @voc', array('@voc' => $vocabulary->name)) : t('Select terms'), 00159 '#multiple' => TRUE, 00160 '#options' => $options, 00161 '#size' => min(9, count($options)), 00162 '#default_value' => $default_value, 00163 ); 00164 00165 if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) { 00166 $form_state['input'][$identifier] = $default_value; 00167 } 00168 } 00169 00170 00171 if (empty($form_state['exposed'])) { 00172 // Retain the helper option 00173 $this->helper->options_form($form, $form_state); 00174 } 00175 }
| views_handler_filter_term_node_tid::value_submit | ( | $ | form, | |
| &$ | form_state | |||
| ) |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data.
Reimplemented from views_handler_filter_in_operator.
Definition at line 279 of file views_handler_filter_term_node_tid.inc.
| views_handler_filter::value_validate | ( | $ | form, | |
| &$ | form_state | |||
| ) | [inherited] |
Validate the options form.
Definition at line 182 of file views_handler_filter.inc.
Referenced by views_handler_filter::options_validate().
views_object::$options = array() [inherited] |
Except for displays, options for the object will be held here.
Definition at line 16 of file base.inc.
Referenced by views_plugin_display::_set_option_defaults(), views_object::_set_option_defaults(), views_handler_filter_string::admin_summary(), views_handler_filter_numeric::admin_summary(), views_handler_argument::default_argument_form(), extra_options_form(), views_plugin_display::get_plugin(), views_handler_filter_node_type::get_value_options(), views_plugin_style::init(), views_plugin_row::init(), views_plugin_display::init(), views_handler_field_upload_description::init(), views_handler_field_term_node_tid::init(), views_handler_field_file::init(), views_plugin_row_node_view::init(), views_handler_field_history_user_timestamp::init(), views_handler_field_node_new_comments::init(), views_handler_field_comment::init(), views_handler::init(), views_handler_relationship::init(), views_handler_filter_many_to_one::init(), views_handler_filter::init(), views_handler_field::init(), views_handler_argument_string::init(), views_handler_argument_many_to_one::init(), views_handler_argument::init(), views_handler_filter::operator_form(), views_handler_filter_string::operator_options(), views_handler_filter_numeric::operator_options(), views_handler_filter_in_operator::operator_options(), views_handler_filter_string::operator_values(), views_handler_filter_numeric::operator_values(), views_handler_filter_in_operator::operator_values(), views_plugin_cache_time::option_defaults(), views_plugin_access_role::option_defaults(), views_plugin_access_perm::option_defaults(), views_plugin_style_table::option_definition(), views_plugin_style_summary_unformatted::option_definition(), views_plugin_style_summary_jump_menu::option_definition(), views_plugin_style_summary::option_definition(), views_plugin_style_rss::option_definition(), views_plugin_style_list::option_definition(), views_plugin_style_jump_menu::option_definition(), views_plugin_style_grid::option_definition(), views_plugin_style::option_definition(), views_plugin_row_fields::option_definition(), views_plugin_row::option_definition(), views_plugin_display_page::option_definition(), views_plugin_display_feed::option_definition(), views_plugin_display_block::option_definition(), views_plugin_display_attachment::option_definition(), views_plugin_display::option_definition(), views_handler_field_user_name::option_definition(), views_handler_field_user_mail::option_definition(), views_handler_field_user_link::option_definition(), views_handler_field_user::option_definition(), views_handler_field_is_online::option_definition(), views_handler_field_upload_fid::option_definition(), views_handler_field_upload_description::option_definition(), views_handler_relationship_translation::option_definition(), views_handler_filter_node_tnid::option_definition(), views_handler_relationship_node_term_data::option_definition(), views_handler_filter_term_node_tid_depth::option_definition(), option_definition(), views_handler_field_term_node_tid::option_definition(), views_handler_field_taxonomy::option_definition(), views_handler_argument_term_node_tid_depth::option_definition(), views_handler_argument_term_node_tid::option_definition(), views_handler_field_file::option_definition(), views_handler_field_accesslog_path::option_definition(), views_plugin_row_search_view::option_definition(), views_handler_filter_search::option_definition(), views_handler_field_search_score::option_definition(), views_plugin_row_node_view::option_definition(), views_plugin_row_node_rss::option_definition(), views_handler_field_node_link::option_definition(), views_handler_field_node::option_definition(), views_handler_field_history_user_timestamp::option_definition(), views_handler_field_locale_link_edit::option_definition(), views_handler_field_contact_link::option_definition(), views_plugin_row_comment_view::option_definition(), views_handler_field_node_new_comments::option_definition(), views_handler_field_ncs_last_comment_name::option_definition(), views_handler_field_comment_username::option_definition(), views_handler_field_comment_node_link::option_definition(), views_handler_field_comment_link::option_definition(), views_handler_field_comment::option_definition(), views_plugin_row_aggregator_rss::option_definition(), views_handler_field_aggregator_title_link::option_definition(), views_handler_field_aggregator_category::option_definition(), views_handler_sort_date::option_definition(), views_handler_sort::option_definition(), views_handler_relationship::option_definition(), views_handler_filter_string::option_definition(), views_handler_filter_numeric::option_definition(), views_handler_filter_many_to_one::option_definition(), views_handler_filter_in_operator::option_definition(), views_handler_filter_date::option_definition(), views_handler_filter_boolean_operator::option_definition(), views_handler_filter::option_definition(), views_handler_field_url::option_definition(), views_handler_field_prerender_list::option_definition(), views_handler_field_numeric::option_definition(), views_handler_field_date::option_definition(), views_handler_field_custom::option_definition(), views_handler_field_counter::option_definition(), views_handler_field_boolean::option_definition(), views_handler_field_file_size::option_definition(), views_handler_field::option_definition(), views_handler_argument_string::option_definition(), views_handler_argument_numeric::option_definition(), views_handler_argument_null::option_definition(), views_handler_argument_many_to_one::option_definition(), views_handler_argument::option_definition(), views_plugin_style_default::options(), views_plugin_style_jump_menu::options_form(), views_plugin_style::options_form(), views_plugin_row_fields::options_form(), views_plugin_display::options_form(), views_plugin_cache_time::options_form(), views_handler_relationship_translation::options_form(), views_handler_relationship_node_term_data::options_form(), views_handler_field_term_node_tid::options_form(), views_handler_field_search_score::options_form(), views_plugin_row_node_view::options_form(), views_handler_field::options_form(), views_handler_argument::options_form(), views_plugin_display_page::options_summary(), views_plugin_display_feed::options_summary(), views_plugin_display_block::options_summary(), views_plugin_display_attachment::options_summary(), views_plugin_display::options_summary(), views_handler_filter_in_operator::reduce_value_options(), views_plugin_style_summary_jump_menu::render(), views_plugin_style_jump_menu::render(), views_plugin_style_jump_menu::render_set(), views_plugin_display::set_override(), views_object::unpack_options(), views_plugin_argument_validate_taxonomy_term::validate_form(), views_plugin_argument_validate_node::validate_form(), value_form(), and views_handler_filter_in_operator::value_form().
1.4.7