Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2020-11-30 11:27:38 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-11-30 11:31:48 +0300
commit198183c4adec524097f4a4a142979ecd42d60d8d (patch)
tree744e198d02a2187561f4410fd2d043006769f5ec /lib/Listener
parent169b36790d6c4eb8f5f4c1e5a77ea2add1c0a71d (diff)
Handle special mailbox sync when they don't exist
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/Listener')
-rw-r--r--lib/Listener/MailboxesSynchronizedSpecialMailboxesUpdater.php30
1 files changed, 24 insertions, 6 deletions
diff --git a/lib/Listener/MailboxesSynchronizedSpecialMailboxesUpdater.php b/lib/Listener/MailboxesSynchronizedSpecialMailboxesUpdater.php
index 32c009061..ee6cf783b 100644
--- a/lib/Listener/MailboxesSynchronizedSpecialMailboxesUpdater.php
+++ b/lib/Listener/MailboxesSynchronizedSpecialMailboxesUpdater.php
@@ -71,16 +71,34 @@ class MailboxesSynchronizedSpecialMailboxesUpdater implements IEventListener {
);
if ($mailAccount->getDraftsMailboxId() === null || !array_key_exists($mailAccount->getDraftsMailboxId(), $mailboxes)) {
- $draftsMailbox = $this->findSpecial($mailboxes, 'drafts');
- $mailAccount->setDraftsMailboxId($draftsMailbox->getId());
+ try {
+ $draftsMailbox = $this->findSpecial($mailboxes, 'drafts');
+ $mailAccount->setDraftsMailboxId($draftsMailbox->getId());
+ } catch (DoesNotExistException $e) {
+ $this->logger->info("Account " . $account->getId() . " does not have a drafts mailbox");
+
+ $mailAccount->setDraftsMailboxId(null);
+ }
}
if ($mailAccount->getSentMailboxId() === null || !array_key_exists($mailAccount->getSentMailboxId(), $mailboxes)) {
- $sentMailbox = $this->findSpecial($mailboxes, 'sent');
- $mailAccount->setSentMailboxId($sentMailbox->getId());
+ try {
+ $sentMailbox = $this->findSpecial($mailboxes, 'sent');
+ $mailAccount->setSentMailboxId($sentMailbox->getId());
+ } catch (DoesNotExistException $e) {
+ $this->logger->info("Account " . $account->getId() . " does not have a sent mailbox");
+
+ $mailAccount->setSentMailboxId(null);
+ }
}
if ($mailAccount->getTrashMailboxId() === null || !array_key_exists($mailAccount->getTrashMailboxId(), $mailboxes)) {
- $trashMailbox = $this->findSpecial($mailboxes, 'trash');
- $mailAccount->setTrashMailboxId($trashMailbox->getId());
+ try {
+ $trashMailbox = $this->findSpecial($mailboxes, 'trash');
+ $mailAccount->setTrashMailboxId($trashMailbox->getId());
+ } catch (DoesNotExistException $e) {
+ $this->logger->info("Account " . $account->getId() . " does not have a trash mailbox");
+
+ $mailAccount->setTrashMailboxId(null);
+ }
}
$this->mailAccountMapper->update($mailAccount);