views_handler_filter Class Reference
[Views' filter handlers]

Inheritance diagram for views_handler_filter:

views_handler views_object views_handler_filter_boolean_operator views_handler_filter_broken views_handler_filter_equality views_handler_filter_history_user_timestamp views_handler_filter_in_operator views_handler_filter_node_access views_handler_filter_node_status views_handler_filter_node_tnid views_handler_filter_node_tnid_child views_handler_filter_numeric views_handler_filter_search views_handler_filter_string List of all members.

Detailed Description

Base class for filters.

Definition at line 17 of file views_handler_filter.inc.

Public Member Functions

 init (&$view, $options)
 Provide some extra help to get the operator/value easier to use.
 option_definition ()
 Information about options for all kinds of purposes will be held here.
 admin_summary ()
 Display the filter on the administrative summary.
 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_submit (&$form, &$form_state)
 Simple submit handler.
 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_options ()
 Provide a list of options for the default operator form.
 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_form (&$form, &$form_state)
 Provide a form for setting options.
 value_validate ($form, &$form_state)
 Validate the options form.
 value_submit ($form, &$form_state)
 Perform any necessary changes to the form values prior to storage.
 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_form_right (&$form, &$form_state)
 Handle the 'right' 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.
 expose_options ()
 Provide default options for exposed filters.
 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.
 accept_exposed_input ($input)
 Check to see if input from the exposed filters should change the behavior of this filter.
 store_exposed_input ($input, $status)
 If set to remember exposed input in the session, store it there.
 query ()
 Add this filter to the query.
 ui_name ($short=FALSE)
 Return a string representing this handler's name in the UI.
 options_validate ($form, &$form_state)
 Validate the options form.
 options_submit ($form, &$form_state)
 Perform any necessary changes to the form values prior to storage.
 has_extra_options ()
 If a handler has 'extra options' it will get a little settings widget and another form called extra_options.
 extra_options (&$option)
 Provide defaults for the handler.
 extra_options_form (&$form, &$form_state)
 Provide a form for setting options.
 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_validate (&$form, &$form_state)
 Validate the exposed filter form.
 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.
 ensure_my_table ()
 Ensure the main table for this handler is in the query.
 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.
 construct ()
 Views handlers use a special construct function so that we can more easily construct them with variable arguments.
 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

 $options = array()
 Except for displays, options for the object will be held here.


Member Function Documentation

views_handler_filter::accept_exposed_input ( input  ) 

Check to see if input from the exposed filters should change the behavior of this filter.

Reimplemented from views_handler.

Reimplemented in views_handler_filter_date, views_handler_filter_in_operator, views_handler_filter_numeric, views_handler_filter_term_node_tid, and views_handler_filter_user_name.

Definition at line 495 of file views_handler_filter.inc.

References views_object::options().

00495                                         {
00496     if (empty($this->options['exposed'])) {
00497       return TRUE;
00498     }
00499 
00500 
00501     if (!empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator']) && isset($input[$this->options['expose']['operator']])) {
00502       $this->operator = $input[$this->options['expose']['operator']];
00503     }
00504 
00505     if (!empty($this->options['expose']['identifier'])) {
00506       $value = $input[$this->options['expose']['identifier']];
00507 
00508       // Various ways to check for the absence of optional input.
00509       if (!empty($this->options['expose']['optional'])) {
00510         if ($value == 'All' || $value === array()) {
00511           return FALSE;
00512         }
00513 
00514         if (!empty($this->no_single) && $value === '') {
00515           return FALSE;
00516         }
00517       }
00518 
00519 
00520       if (isset($value)) {
00521         $this->value = $value;
00522         if (!empty($this->options['expose']['single'])) {
00523           $this->value = array($value);
00524         }
00525       }
00526       else {
00527         return FALSE;
00528       }
00529     }
00530 
00531     return TRUE;
00532   }

views_handler::access (  )  [inherited]

Check whether current user has access to this handler.

Returns:
boolean

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::admin_summary (  ) 

Display the filter on the administrative summary.

Reimplemented from views_handler.

Reimplemented in views_handler_filter_boolean_operator, views_handler_filter_in_operator, views_handler_filter_numeric, views_handler_filter_string, views_handler_filter_history_user_timestamp, views_handler_filter_node_access, views_handler_filter_node_status, views_handler_filter_term_node_tid, views_handler_filter_node_tnid, views_handler_filter_node_tnid_child, and views_handler_filter_user_name.

Definition at line 64 of file views_handler_filter.inc.

00064                            {
00065     return check_plain((string) $this->operator) . ' ' . check_plain((string) $this->value);
00066   }

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.

00497 { }

views_handler_filter::can_expose (  ) 

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 options_form().

00071 { return TRUE; }

views_object::construct (  )  [inherited]

Views handlers use a special construct function so that we can more easily construct them with variable arguments.

Reimplemented in views_handler_argument, views_handler_argument_formula, views_handler_field, views_handler_field_markup, views_handler_filter_boolean_operator, views_handler_filter_in_operator, views_handler_sort_formula, views_handler_field_aggregator_category, views_handler_field_aggregator_title_link, views_handler_field_comment_link, views_handler_field_comment_link_edit, views_handler_field_comment_node_link, views_handler_field_node_new_comments, views_handler_field_filter_format_name, views_handler_argument_locale_group, views_handler_argument_locale_language, views_handler_field_locale_link_edit, views_handler_argument_node_created_fulldate, views_handler_argument_node_created_year, views_handler_argument_node_created_year_month, views_handler_argument_node_created_month, views_handler_argument_node_created_day, views_handler_argument_node_created_week, views_handler_argument_node_language, views_handler_argument_node_type, views_handler_field_node, views_handler_field_node_link, views_handler_field_node_link_delete, views_handler_field_node_link_edit, views_handler_field_node_revision_link_delete, views_handler_field_node_revision_link_revert, views_handler_field_taxonomy, views_handler_argument_node_language, views_handler_field_node_translation_link, views_handler_field_upload_fid, views_handler_filter_upload_fid, views_handler_field_user_link, views_handler_field_user_picture, views_handler_field_user_roles, and views_handler_filter_user_current.

Definition at line 40 of file base.inc.

References views_object::set_default_options().

00040 { $this->set_default_options(); }

views_handler::ensure_my_table (  )  [inherited]

Ensure the main table for this handler is in the query.

This is used a lot.

Reimplemented in views_handler_argument_broken, views_handler_argument_many_to_one, views_handler_field_broken, views_handler_filter_broken, views_handler_filter_many_to_one, views_handler_relationship_broken, and views_handler_sort_broken.

Definition at line 417 of file handlers.inc.

References views_handler::query().

Referenced by views_handler_filter_in_operator::op_empty(), views_handler_filter_in_operator::op_simple(), views_handler_filter_user_current::query(), views_handler_field_user_link::query(), views_handler_field_is_online::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_field_node_translation_link::query(), views_handler_relationship_node_term_data::query(), views_handler_argument_term_node_tid_depth::query(), views_handler_filter_search::query(), views_handler_filter_node_status::query(), views_handler_filter_node_access::query(), views_handler_filter_history_user_timestamp::query(), views_handler_field_node_link::query(), views_handler_field_locale_link_edit::query(), views_handler_field_filter_format_name::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_ncs_last_updated::query(), views_handler_filter_comment_user_uid::query(), views_handler_field_node_new_comments::query(), views_handler_field_ncs_last_updated::query(), views_handler_field_ncs_last_comment_name::query(), views_handler_field_comment_node_link::query(), views_handler_field_comment_link::query(), views_handler_argument_comment_user_uid::query(), views_handler_sort_menu_hierarchy::query(), views_handler_sort_formula::query(), views_handler_sort_date::query(), views_handler_sort::query(), views_handler_relationship::query(), views_handler_filter_string::query(), views_handler_filter_numeric::query(), views_handler_filter_boolean_operator_string::query(), views_handler_filter_boolean_operator::query(), query(), views_handler_field::query(), views_handler_argument_string::query(), views_handler_argument_numeric::query(), views_handler_argument_formula::query(), views_handler_argument_string::summary_query(), views_handler_argument_formula::summary_query(), and views_handler_argument::summary_query().

00417                              {
00418     if (!isset($this->table_alias)) {
00419       if (!method_exists($this->query, 'ensure_table')) { vpr_trace(); exit; }
00420       $this->table_alias = $this->query->ensure_table($this->table, $this->relationship);
00421     }
00422     return $this->table_alias;
00423   }

views_handler_filter::expose_form ( &$  form,
&$  form_state 
)

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 expose_form_left(), and expose_form_right().

Referenced by 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 
)

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 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::expose_form_right ( &$  form,
&$  form_state 
)

Handle the 'right' side fo the exposed options form.

Reimplemented in views_handler_filter_in_operator, and views_handler_filter_term_node_tid.

Definition at line 330 of file views_handler_filter.inc.

References views_object::options().

Referenced by expose_form().

00330                                                    {
00331     $form['expose']['optional'] = array(
00332       '#type' => 'checkbox',
00333       '#title' => t('Optional'),
00334       '#description' => t('This exposed filter is optional and will have added options to allow it not to be set.'),
00335       '#default_value' => $this->options['expose']['optional'],
00336     );
00337     if (empty($this->no_single)) {
00338       $form['expose']['single'] = array(
00339         '#type' => 'checkbox',
00340         '#title' => t('Force single'),
00341         '#description' => t('Force this exposed filter to accept only one option.'),
00342         '#default_value' => $this->options['expose']['single'],
00343       );
00344     }
00345     $form['expose']['remember'] = array(
00346       '#type' => 'checkbox',
00347       '#title' => t('Remember'),
00348       '#description' => t('Remember the last setting the user gave this filter.'),
00349       '#default_value' => $this->options['expose']['remember'],
00350     );
00351   }

views_handler_filter::expose_options (  ) 

Provide default options for exposed filters.

Reimplemented from views_handler.

Reimplemented in views_handler_filter_boolean_operator, and views_handler_filter_in_operator.

Definition at line 381 of file views_handler_filter.inc.

References views_object::options(), and views_handler::ui_name().

00381                             {
00382     $this->options['expose'] = array(
00383       'use_operator' => FALSE,
00384       'operator' => $this->options['id'] . '_op',
00385       'identifier' => $this->options['id'],
00386       'label' => $this->ui_name(),
00387       'remember' => FALSE,
00388       'single' => TRUE,
00389       'optional' => TRUE,
00390     );
00391   }

views_handler_filter::expose_submit ( form,
&$  form_state 
)

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 options_submit().

00376 { }

views_handler_filter::expose_validate ( form,
&$  form_state 
)

Validate the options form.

Definition at line 356 of file views_handler_filter.inc.

References views_object::options().

Referenced by 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 
)

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 exposed_translate(), operator_form(), views_object::options(), and 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 (  ) 

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]

Submit the exposed filter form.

Definition at line 334 of file handlers.inc.

00334 { }

views_handler_filter::exposed_translate ( &$  form,
type 
)

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 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::exposed_validate ( &$  form,
&$  form_state 
) [inherited]

Validate the exposed filter form.

Reimplemented in views_handler_filter_date, views_handler_filter_term_node_tid, and views_handler_filter_user_name.

Definition at line 329 of file handlers.inc.

00329 { }

views_handler::extra_options ( &$  option  )  [inherited]

Provide defaults for the handler.

Definition at line 298 of file handlers.inc.

00298 { }

views_handler::extra_options_form ( &$  form,
&$  form_state 
) [inherited]

Provide a form for setting options.

Reimplemented in views_handler_filter_term_node_tid, and views_handler_filter_term_node_tid_depth.

Definition at line 303 of file handlers.inc.

00303 { }

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.

00314 { }

views_handler::extra_options_validate ( form,
&$  form_state 
) [inherited]

Validate the options form.

Definition at line 308 of file handlers.inc.

00308 { }

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::has_extra_options (  )  [inherited]

If a handler has 'extra options' it will get a little settings widget and another form called extra_options.

Reimplemented in views_handler_filter_term_node_tid.

Definition at line 293 of file handlers.inc.

00293 { return FALSE; }

views_handler_filter::init ( &$  view,
options 
)

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.

Returns:
TRUE/FALSE

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.

Returns:
TRUE/FALSE

Reimplemented in views_handler_argument.

Definition at line 435 of file handlers.inc.

00435 { return FALSE; }

views_handler_filter::operator_form ( &$  form,
&$  form_state 
)

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, operator_options(), and views_object::options().

Referenced by exposed_form(), and 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 (  ) 

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 operator_form().

00147 { return array(); }

views_handler_filter::operator_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.

Definition at line 158 of file views_handler_filter.inc.

Referenced by options_submit().

00158 { }

views_handler_filter::operator_validate ( form,
&$  form_state 
)

Validate the operator form.

Definition at line 152 of file views_handler_filter.inc.

Referenced by options_validate().

00152 { }

views_handler_filter::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()

  ),
Each option may have any of the following functions:

Reimplemented from views_object.

Reimplemented in views_handler_filter_boolean_operator, views_handler_filter_date, views_handler_filter_in_operator, views_handler_filter_many_to_one, views_handler_filter_numeric, views_handler_filter_string, views_handler_filter_search, views_handler_filter_term_node_tid, views_handler_filter_term_node_tid_depth, and views_handler_filter_node_tnid.

Definition at line 44 of file views_handler_filter.inc.

References views_object::$options.

00044                                {
00045     $options = parent::option_definition();
00046 
00047     $options['operator'] = array('default' => '=');
00048     $options['value'] = array('default' => '');
00049     $options['group'] = array('default' => '0');
00050     $options['exposed'] = array('default' => FALSE);
00051     $options['expose'] = array(
00052       'contains' => array(
00053         'operator' => array('default' => FALSE),
00054         'label' => array('default' => '', 'translatable' => TRUE),
00055       ),
00056     );
00057 
00058     return $options;
00059   }

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 views_handler_filter_term_node_tid::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(), 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(), expose_form_left(), views_handler_filter_term_node_tid::expose_form_right(), views_handler_filter_in_operator::expose_form_right(), expose_form_right(), views_handler_filter_in_operator::expose_options(), views_handler_filter_boolean_operator::expose_options(), expose_options(), expose_validate(), views_handler_filter_search::exposed_form(), exposed_form(), exposed_info(), exposed_translate(), views_handler_filter_user_name::exposed_validate(), views_handler_filter_term_node_tid::exposed_validate(), views_handler_filter_search::exposed_validate(), views_handler_filter_date::exposed_validate(), views_handler_filter_term_node_tid_depth::extra_options_form(), views_handler_filter_term_node_tid::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(), 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(), 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(), options_submit(), views_plugin_display::options_summary(), views_handler_filter_date::options_validate(), 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(), 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(), show_expose_button(), show_expose_form(), 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(), views_handler_filter_term_node_tid::validate_term_strings(), views_handler_filter_user_name::value_form(), views_handler_filter_term_node_tid::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(), views_handler_filter_term_node_tid::value_validate(), views_handler_filter_boolean_operator::value_validate(), and views_handler_argument::wildcard_title().

00046 { }

views_handler_filter::options_form ( &$  form,
&$  form_state 
)

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 can_expose(), show_expose_button(), show_expose_form(), show_operator_form(), and 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.

00287 { }

views_handler_filter::options_submit ( &$  form,
&$  form_state 
)

Simple submit handler.

Definition at line 107 of file views_handler_filter.inc.

References expose_submit(), operator_submit(), views_object::options(), and 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]

Validate the options form.

Definition at line 281 of file handlers.inc.

00281 { }

views_handler_filter::options_validate ( &$  form,
&$  form_state 
)

Simple validate handler.

Reimplemented in views_handler_filter_date.

Definition at line 95 of file views_handler_filter.inc.

References expose_validate(), operator_validate(), views_object::options(), and 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.

00374 { }

views_handler_filter::query (  ) 

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.

Reimplemented in views_handler_filter_broken, views_handler_filter_boolean_operator, views_handler_filter_boolean_operator_string, views_handler_filter_in_operator, views_handler_filter_numeric, views_handler_filter_string, views_handler_filter_comment_user_uid, views_handler_filter_ncs_last_updated, views_handler_filter_history_user_timestamp, views_handler_filter_node_access, views_handler_filter_node_status, views_handler_filter_search, views_handler_filter_term_node_tid_depth, views_handler_filter_node_tnid, views_handler_filter_node_tnid_child, views_handler_filter_upload_fid, and views_handler_filter_user_current.

Definition at line 585 of file views_handler_filter.inc.

References views_handler::ensure_my_table(), and views_object::options().

00585                    {
00586     $this->ensure_my_table();
00587     $this->query->add_where($this->options['group'], "$this->table_alias.$this->real_field " . $this->operator . " '%s'", $this->value);
00588   }

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]

Let the handler know what its full definition is.

Definition at line 108 of file base.inc.

00108                                        {
00109     $this->definition = $definition;
00110     if (isset($definition['field'])) {
00111       $this->real_field = $definition['field'];
00112     }
00113   }

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 
)

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 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 
)

Shortcut to display the exposed options form.

Definition at line 227 of file views_handler_filter.inc.

References expose_form(), and views_object::options().

Referenced by 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 
)

Shortcut to display the operator form.

Definition at line 119 of file views_handler_filter.inc.

References operator_form().

Referenced by 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 
)

Shortcut to display the value form.

Definition at line 163 of file views_handler_filter.inc.

References value_form().

Referenced by 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 
)

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 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().

See also:
views_handler::options_validate()
Returns:
Empty array if the handler is valid; an array of error strings if it is not.

Definition at line 491 of file handlers.inc.

Referenced by views_handler_argument::options_form().

00491 { return array(); }

views_handler_filter::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 in views_handler_filter_boolean_operator, views_handler_filter_date, views_handler_filter_equality, views_handler_filter_in_operator, views_handler_filter_many_to_one, views_handler_filter_numeric, views_handler_filter_string, views_handler_filter_history_user_timestamp, views_handler_filter_term_node_tid, and views_handler_filter_user_name.

Definition at line 177 of file views_handler_filter.inc.

Referenced by exposed_form(), and show_value_form().

00177 { $form['value'] = array(); }

views_handler_filter::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 in views_handler_filter_in_operator, and views_handler_filter_term_node_tid.

Definition at line 188 of file views_handler_filter.inc.

Referenced by options_submit().

00188 { }

views_handler_filter::value_validate ( form,
&$  form_state 
)

Validate the options form.

Definition at line 182 of file views_handler_filter.inc.

Referenced by options_validate().

00182 { }


Member Data Documentation

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(), views_handler_filter_term_node_tid::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(), init(), views_handler_field::init(), views_handler_argument_string::init(), views_handler_argument_many_to_one::init(), views_handler_argument::init(), 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(), views_handler_filter_term_node_tid::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(), 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(), views_handler_filter_term_node_tid::value_form(), and views_handler_filter_in_operator::value_form().


The documentation for this class was generated from the following file:
Generated on Mon Nov 30 15:06:40 2009 for Views by  doxygen 1.4.7