diff options
author | Anna Larch <anna@nextcloud.com> | 2021-07-02 12:53:24 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2021-07-02 18:14:55 +0300 |
commit | a8ee2220f326853cc2c21eefd7f22e6f4fdeb758 (patch) | |
tree | 8e730b00f881a7b39c5b1d1fbba63df9e44b5294 /lib/Listener | |
parent | f4ba6d8b35f7351a9f5b89b3bf0286c3d37f4f48 (diff) |
Toggle auto tagging for classified messages
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/Listener')
-rw-r--r-- | lib/Listener/NewMessageClassificationListener.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/Listener/NewMessageClassificationListener.php b/lib/Listener/NewMessageClassificationListener.php index fb499a569..d370d9b9d 100644 --- a/lib/Listener/NewMessageClassificationListener.php +++ b/lib/Listener/NewMessageClassificationListener.php @@ -27,6 +27,7 @@ namespace OCA\Mail\Listener; use Horde_Imap_Client; use OCA\Mail\Contracts\IMailManager; +use OCA\Mail\Contracts\IUserPreferences; use OCA\Mail\Db\Tag; use OCA\Mail\Db\TagMapper; use OCA\Mail\Events\NewMessagesSynchronized; @@ -58,14 +59,19 @@ class NewMessageClassificationListener implements IEventListener { /** @var IMailManager */ private $mailManager; + /** @var IUserPreferences */ + private $preferences; + public function __construct(ImportanceClassifier $classifier, TagMapper $tagMapper, LoggerInterface $logger, - IMailManager $mailManager) { + IMailManager $mailManager, + IUserPreferences $preferences) { $this->classifier = $classifier; $this->logger = $logger; $this->tagMapper = $tagMapper; $this->mailManager = $mailManager; + $this->preferences = $preferences; } public function handle(Event $event): void { @@ -73,6 +79,11 @@ class NewMessageClassificationListener implements IEventListener { return; } + $allowTagging = $this->preferences->getPreference('tag-classified-messages'); + if ($allowTagging === "false") { + return; + } + foreach (self::EXEMPT_FROM_CLASSIFICATION as $specialUse) { if ($event->getMailbox()->isSpecialUse($specialUse)) { // Nothing to do then |