function menu_references_filter_handler::get_value_options in Menu Reference 7
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.
Return value
Return the stored values in $this->value_options if someone expects it.
Overrides views_handler_filter_in_operator::get_value_options
2 calls to menu_references_filter_handler::get_value_options()
- menu_references_filter_handler::admin_summary in views/
handlers/ menu_references_filter_handler.inc - Display the filter on the administrative summary.
- menu_references_filter_handler::value_form in views/
handlers/ menu_references_filter_handler.inc - Options form subform for setting options.
File
- views/
handlers/ menu_references_filter_handler.inc, line 35 - Views filter handler
Class
- menu_references_filter_handler
- @file Views filter handler
Code
function get_value_options() {
if (isset($this->value_options)) {
return;
}
if (isset($this->definition['options callback']) && is_callable($this->definition['options callback'])) {
if (isset($this->definition['options arguments']) && is_array($this->definition['options arguments'])) {
$this->value_options = call_user_func_array($this->definition['options callback'], $this->definition['options arguments']);
}
else {
$this->value_options = call_user_func($this->definition['options callback']);
}
}
else {
$menu_list = menu_get_menus(TRUE);
// Get the allowed menues from the field settings.
$field_settings = field_info_field($this->definition['field_name']);
$allowed_menus = array_filter($field_settings['settings']['allowed_menus']);
$options = array();
foreach ($allowed_menus as $menu) {
$options[$menu_list[$menu]] = menu_reference_get_menu_hierarchy($menu);
}
$this->value_options = $options;
}
return $this->value_options;
}