function search_api_saved_searches_user_listing in Search API Saved Searches 7
Page callback for listing all saved searches of a user.
Parameters
$account: The user of which to list saved searches.
1 string reference to 'search_api_saved_searches_user_listing'
- search_api_saved_searches_menu in ./
search_api_saved_searches.module - Implements hook_menu().
File
- ./
search_api_saved_searches.pages.inc, line 14 - User UI functions and form callbacks for saved searches.
Code
function search_api_saved_searches_user_listing($account) {
$base_path = 'search-api/saved-search/';
$header = array(
t('Name'),
t('Created'),
t('Last executed'),
t('Interval'),
t('Operations'),
);
$searches = search_api_saved_search_load_multiple(FALSE, array(
'uid' => $account->uid,
));
$rows = array();
foreach ($searches as $search) {
$settings = $search
->settings();
if (empty($search->options['page'])) {
$name = check_plain($search->name);
}
else {
$name = $search
->l($search->name);
}
$created = format_date($search->created, 'short');
$last_execute = t('@time ago', array(
'@time' => format_interval(REQUEST_TIME - $search->last_execute),
));
// Get the translated label for the interval.
$available_intervals = $settings
->getTranslatedOption('interval_options');
if (isset($available_intervals[$search->notify_interval])) {
$interval = $available_intervals[$search->notify_interval];
}
elseif ($search->notify_interval < 0) {
$interval = t('Never');
}
else {
$interval = format_interval($search->notify_interval, 1);
}
$enable_options['attributes']['class'][] = 'saved-search-enable';
$edit_options['attributes']['class'][] = 'saved-search-edit';
$delete_options['attributes']['class'][] = 'saved-search-delete';
if ($search->enabled) {
$enable_action = '/disable';
$enable_label = t('disable');
}
else {
$enable_action = '/enable';
$enable_label = t('enable');
$enable_options['query']['token'] = drupal_get_token($search->id);
}
$path = $base_path . $search->id;
$enable_link = l($enable_label, $path . $enable_action, $enable_options);
$edit_link = l(t('edit'), $path . '/edit', $edit_options);
$delete_link = l(t('delete'), $path . '/delete', $delete_options);
$rows[] = array(
$name,
$created,
$last_execute,
$interval,
$enable_link . ' | ' . $edit_link . ' | ' . $delete_link,
);
}
$render = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => t('No searches were saved yet.'),
'#sticky' => TRUE,
);
return $render;
}