diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-05-07 09:44:04 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-05-07 09:44:04 +0300 |
commit | f242ea0ab12e3007281fd9dcf333e23ab1f329f4 (patch) | |
tree | 1c7042b64eeb58f8764956759736acd118cd8af8 /lib/IMAP | |
parent | 1e7ea4f257f438c4958f7b2652e607d659705929 (diff) |
Fix reading missing mailbox stats
Apparently there are occasions where we can't read the number of
messages of a mailbox. In that case the account setup fails with
``General error: 1364 Field 'messages' doesn't have a default value"``
on MySQL. This adds sane fallback values for the two mailbox stats.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/IMAP')
-rw-r--r-- | lib/IMAP/MailboxSync.php | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/IMAP/MailboxSync.php b/lib/IMAP/MailboxSync.php index 4e22d1bf2..0cae85263 100644 --- a/lib/IMAP/MailboxSync.php +++ b/lib/IMAP/MailboxSync.php @@ -191,8 +191,8 @@ class MailboxSync { $mailbox->setDelimiter($folder->getDelimiter()); $mailbox->setAttributes(json_encode($folder->getAttributes())); $mailbox->setDelimiter($folder->getDelimiter()); - $mailbox->setMessages($folder->getStatus()['messages']); - $mailbox->setUnseen($folder->getStatus()['unseen']); + $mailbox->setMessages($folder->getStatus()['messages'] ?? 0); + $mailbox->setUnseen($folder->getStatus()['unseen'] ?? 0); $mailbox->setSelectable(!in_array('\noselect', $folder->getAttributes())); $mailbox->setSpecialUse(json_encode($folder->getSpecialUse())); $this->mailboxMapper->update($mailbox); @@ -204,8 +204,8 @@ class MailboxSync { $mailbox->setAccountId($account->getId()); $mailbox->setAttributes(json_encode($folder->getAttributes())); $mailbox->setDelimiter($folder->getDelimiter()); - $mailbox->setMessages($folder->getStatus()['messages']); - $mailbox->setUnseen($folder->getStatus()['unseen']); + $mailbox->setMessages($folder->getStatus()['messages'] ?? 0); + $mailbox->setUnseen($folder->getStatus()['unseen'] ?? 0); $mailbox->setSelectable(!in_array('\noselect', $folder->getAttributes())); $mailbox->setSpecialUse(json_encode($folder->getSpecialUse())); $this->mailboxMapper->insert($mailbox); |