diff options
| author | 2022-08-16 10:56:07 +0200 | |
|---|---|---|
| committer | 2022-08-16 10:56:07 +0200 | |
| commit | e27eb1ca9198119ea1b0bd79be5f1aead45d615a (patch) | |
| tree | fd4e2767ab4d65a68b437d77f57b9e6274a65b9d /app/Models/EntryDAO.php | |
| parent | 8587efa62189a30e3e47075739382d52ecc34cb6 (diff) | |
Basic support for negative searches with parentheses (#4503)
* Basic support for negative searches with parentheses
* `!((author:Alice intitle:hello) OR (author:Bob intitle:world))`
* `(author:Alice intitle:hello) !(author:Bob intitle:world)`
* `!(S:1 OR S:2)`
* Minor documentation / comment
* Remove syslog debug line
Diffstat (limited to 'app/Models/EntryDAO.php')
| -rw-r--r-- | app/Models/EntryDAO.php | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php index d69702c60..02552affe 100644 --- a/app/Models/EntryDAO.php +++ b/app/Models/EntryDAO.php @@ -770,6 +770,9 @@ SQL; if ($filterSearch !== '') { if ($search !== '') { $search .= $filter->operator(); + } elseif ($filter->operator() === 'AND NOT') { + // Special case if we start with a negation (there is already the default AND before) + $search .= ' NOT'; } $search .= ' (' . $filterSearch . ') '; $values = array_merge($values, $filterValues); |
