function views_handler_filter_selective::get_all_results in Views Hacks 6
1 call to views_handler_filter_selective::get_all_results()
- views_handler_filter_selective::get_value_options in views_filters_selective/
views_handler_filter_selective.inc
File
- views_filters_selective/
views_handler_filter_selective.inc, line 34
Class
Code
function get_all_results() {
$exposed_input = isset($this->view->exposed_input) ? $this->view->exposed_input : array();
$signature = md5(serialize(array(
'name' => $this->view->name,
'args' => $this->view->args,
'input' => $exposed_input,
)));
if (empty(self::$results[$signature])) {
// Clone the view and get all results.
$view_copy = views_get_view($this->view->name);
$view_copy->selective_all_results = TRUE;
$view_copy
->set_exposed_input($exposed_input);
$view_copy
->set_arguments($this->view->args);
$view_copy
->set_items_per_page(0);
if (isset($_GET['items_per_page'])) {
$items_per_page = $_GET['items_per_page'];
unset($_GET['items_per_page']);
}
$view_copy
->execute($this->view->current_display);
if (isset($items_per_page)) {
$_GET['items_per_page'] = $items_per_page;
}
$oids = array();
foreach ($view_copy->result as $row) {
$oids[] = $row->{$view_copy->base_field};
}
if (empty($this->view->base_field)) {
$this->view->base_field = $view_copy->base_field;
}
$view_copy
->destroy();
self::$results[$signature] = $oids;
}
return self::$results[$signature];
}