From 6f2f89c3656928e5125ff6e6522afe0d8364c099 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Thu, 23 Nov 2023 00:11:30 +0100 Subject: [PATCH] Add support for IMAP WITHIN https://datatracker.ietf.org/doc/html/rfc5032 --- .../0.0.0/app/libraries/MailSo/Imap/ImapClient.php | 14 ++++++++------ .../app/libraries/MailSo/Imap/SearchCriterias.php | 11 +++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php index 71ffdd160..0b75c2f84 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php @@ -336,13 +336,15 @@ class ImapClient extends \MailSo\Net\NetClient /** * Test support for things like: - * IMAP4rev1 IMAP4rev2 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY + * IMAP4rev1 IMAP4rev2 ID UIDPLUS QUOTA ENABLE IDLE + * SORT SORT=DISPLAY ESEARCH ESORT SEARCHRES WITHIN * THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND - * URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED - * I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH - * LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE LITERAL+ NOTIFY SPECIAL-USE - * STARTTLS AUTH= LOGIN LOGINDISABLED QUOTA - * METADATA METADATA-SERVER + * URL-PARTIAL CATENATE UNSELECT NAMESPACE CONDSTORE + * CHILDREN LIST-EXTENDED LIST-STATUS STATUS=SIZE + * I18NLEVEL=1 QRESYNC CONTEXT=SEARCH + * BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY LITERAL+ NOTIFY + * AUTH= LOGIN LOGINDISABLED LOGIN-REFERRALS SASL-IR STARTTLS + * METADATA METADATA-SERVER SPECIAL-USE * * @throws \MailSo\RuntimeException * @throws \MailSo\Net\Exceptions\* diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/SearchCriterias.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/SearchCriterias.php index 926f1177f..a50d52db2 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/SearchCriterias.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/SearchCriterias.php @@ -274,6 +274,17 @@ abstract class SearchCriterias } break; + // https://www.rfc-editor.org/rfc/rfc5032.html + case 'OLDER': + case 'YOUNGER': + // time interval in seconds + $sValue = \intval($sRawValue); + if (0 < $sValue && $oImapClient->hasCapability('WITHIN')) { + $aCriteriasResult[] = $sName; + $aCriteriasResult[] = $sValue; + } + break; + // https://github.com/the-djmaze/snappymail/issues/625 case 'READ': case 'UNREAD':