fixes #2193 [search] add 5 new widgets

add ratings, ratios, filesize, width and height widgets
- in functions_search add clauses according to each new filter
- in ws_functions add new api parameters
- in index.php add queries to get data for filters
- in admin.lang add missing translations for filters
- in css add basic style to work for modus newspaper
- in js add script for new filters
- in tpl combine script + CSS for double slider & jquery Ui. Add slider conf, template for new widgets

TODO
- adapt css to different themes and skins
This commit is contained in:
HWFord
2024-07-25 16:11:07 +02:00
parent 08357f59eb
commit 6fe1d7db65
11 changed files with 1253 additions and 19 deletions
+48
View File
@@ -841,6 +841,54 @@ function ws_images_filteredSearch_create($params, $service)
$search['fields']['date_posted'] = $params['date_posted'];
}
if (isset($params['ratios']))
{
foreach ($params['ratios'] as $ext)
{
if (!preg_match('/^[a-z0-9]+$/i', $ext))
{
return new PwgError(WS_ERR_INVALID_PARAM, 'Invalid parameter ratios');
}
}
$search['fields']['ratios'] = $params['ratios'];
}
if (isset($params['ratings']))
{
$search['fields']['ratings'] = $params['ratings'];
}
if (isset($params['filesize_min']))
{
$search['fields']['filesize_min'] = $params['filesize_min'];
}
if (isset($params['filesize_max']))
{
$search['fields']['filesize_max'] = $params['filesize_max'];
}
if (isset($params['width_min']))
{
$search['fields']['width_min'] = $params['width_min'];
}
if (isset($params['width_max']))
{
$search['fields']['width_max'] = $params['width_max'];
}
if (isset($params['height_min']))
{
$search['fields']['height_min'] = $params['height_min'];
}
if (isset($params['height_max']))
{
$search['fields']['height_max'] = $params['height_max'];
}
list($search_uuid, $search_url) = save_search($search, $search_info['id'] ?? null);
return array(