function media_acquiadam_browser_get_search_results in Media: Acquia DAM 7
Perform a search against the API.
Parameters
int $folderId: The DAM folder ID to limit searching to. Will include subfolders.
array $search: An array of search properties: keywords, type.
array $form_state: The current form state array.
int $perPage: The number of results to limit the search to.
Return value
array An keyed array featuring assets and total_count.
1 call to media_acquiadam_browser_get_search_results()
- media_acquiadam_browser_get_initial_assets in modules/
media_acquiadam_browser/ includes/ media_acquiadam_browser.helpers.inc - Get the initial set of assets to display on the media browser form.
File
- modules/
media_acquiadam_browser/ includes/ media_acquiadam_browser.helpers.inc, line 162 - Helper functions for the Acquia DAM browser.
Code
function media_acquiadam_browser_get_search_results($folderId, array $search, array $form_state, $perPage = 25) {
$child_assets = [
'assets' => [],
'total_count' => 0,
];
$keywords = !empty($search['keywords']) ? $search['keywords'] : '';
try {
$options = [
'folderid' => $folderId,
'limit' => $perPage,
'offset' => pager_find_page() * $perPage,
];
if (!empty($search['type'])) {
$options['types'] = $search['type'];
}
if (!empty($search['sort'])) {
list($options['sortby'], $options['sortdir']) = explode('_', $search['sort'], 2);
}
$searcher = new AcquiaDAM_Search();
$results = $searcher
->search($keywords, $options);
} catch (Exception $x) {
drupal_set_message($x
->getMessage(), 'error');
watchdog_exception('media_acquiadam_browser', $x);
}
if (!empty($results['items'])) {
foreach ($results['items'] as $asset) {
$child_assets['assets'][] = media_acquiadam_get_asset($asset);
}
$child_assets['total_count'] = $results['total_count'];
}
return $child_assets;
}