issue #1946 implement backend for search by date_posted

This commit is contained in:
plegall
2023-07-24 16:49:53 +02:00
parent 6907bf26f5
commit 87c4fad23e
3 changed files with 25 additions and 0 deletions

View File

@@ -195,6 +195,17 @@ SELECT
}
}
if (!empty($search['fields']['date_posted']))
{
$options = array(
'7d' => '7 DAY',
'30d' => '30 DAY',
'6m' => '6 MONTH',
'1y' => '1 YEAR',
);
$clauses[] = 'date_available > SUBDATE(NOW(), INTERVAL '.$options[ $search['fields']['date_posted'] ].')';
}
if (!empty($search['fields']['filetypes']))
{
$filetypes_clauses = array();

View File

@@ -832,6 +832,16 @@ SELECT id
$search['fields']['added_by'] = $params['added_by'];
}
if (isset($params['date_posted']))
{
if (!preg_match('/^(7d|30d|6m|1y)$/', $params['date_posted']))
{
return new PwgError(WS_ERR_INVALID_PARAM, 'Invalid parameter date_posted');
}
$search['fields']['date_posted'] = $params['date_posted'];
}
// register search rules in database, then they will be available on
// thumbnails page and picture page.
$query ='

4
ws.php
View File

@@ -1413,6 +1413,10 @@ enabled_high, registration_date, registration_date_string, registration_date_sin
'filetypes' => array(
'flags' => WS_PARAM_OPTIONAL|WS_PARAM_FORCE_ARRAY,
),
'date_posted' => array(
'flags' => WS_PARAM_OPTIONAL,
'info' => 'files posted within 7 days (7d) or 30 days (30d) or 6 months (6m) or 1 year (1y). Value among 7d|30d|6m|1y',
),
),
'',
$ws_functions_root . 'pwg.images.php'