function ext_search_page_load_pages in Extended search page 7
Pages loader.
Parameters
int|array $options: A page Id or an array of options :
- type : main entity type
- extended : extended pages only
7 calls to ext_search_page_load_pages()
- ext_search_admin_menu_alter in ext_search_admin/
ext_search_admin.module - Implements hook_menu_alter().
- ext_search_admin_settings in ext_search_admin/
ext_search_admin.admin.inc - Form builder; ext search admin settings form.
- ext_search_node_ref_autocomplete in ext_search_node_ref/
ext_search_node_ref.module - Menu callback for the autocomplete results.
- ext_search_node_ref_field_widget_settings_form in ext_search_node_ref/
ext_search_node_ref.module - Implements hook_field_widget_settings_form().
- ext_search_page_block_info in ./
ext_search_page.module - Implements hook_block_info().
File
- ./
ext_search_page.module, line 1069 - Extended search page module.
Code
function ext_search_page_load_pages($options = array()) {
$pages =& drupal_static(__FUNCTION__, NULL);
$pages_by_type =& drupal_static(__FUNCTION__ . '_by_type', array());
$id = NULL;
$retid = FALSE;
if (!is_array($options)) {
$id = $options;
$retid = TRUE;
$options = array();
}
if (!$pages) {
$pages = array();
foreach (entity_load('search_api_page', FALSE, array(
'enabled' => 1,
), TRUE) as $page) {
if (is_string($page->options)) {
$page->options = unserialize($page->options);
}
if (isset($page->ext_search_options) && is_string($page->ext_search_options)) {
$page->ext_search_options = (array) unserialize($page->ext_search_options);
}
$index = search_api_index_load($page->index_id);
$pages[$page->id] = $page;
$pages_by_type[ext_search_page_get_native_type($index->item_type)][$page->id] = $page;
}
}
if ($retid) {
if (isset($pages[$id])) {
return $pages[$id];
}
return NULL;
}
if (isset($options['type'])) {
if (isset($pages_by_type[$options['type']])) {
$res = $pages_by_type[$options['type']];
}
else {
$res = array();
}
}
else {
$res = $pages;
}
if (isset($options['extended']) || isset($options['block'])) {
foreach (array_keys($res) as $id) {
if (isset($options['extended'])) {
if (!isset($res[$id]->ext_search_options['enabled'])) {
$res[$id]->ext_search_options['enabled'] = FALSE;
}
if ($res[$id]->ext_search_options['enabled'] != $options['extended']) {
unset($res[$id]);
}
continue;
}
if (isset($options['block'])) {
if (!isset($res[$id]->ext_search_options['block'])) {
$res[$id]->ext_search_options['block'] = FALSE;
}
if ($res[$id]->ext_search_options['block'] != $options['block']) {
unset($res[$id]);
}
continue;
}
}
}
return $res;
}