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:
authorAnna Larch <anna@nextcloud.com>2021-07-02 12:53:24 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2021-07-02 18:14:55 +0300
commita8ee2220f326853cc2c21eefd7f22e6f4fdeb758 (patch)
tree8e730b00f881a7b39c5b1d1fbba63df9e44b5294 /lib/Listener
parentf4ba6d8b35f7351a9f5b89b3bf0286c3d37f4f48 (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.php13
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