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-01-27 19:10:06 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-02-03 15:15:11 +0300
commit9647c19d819818285a65e59ea0a70d3b7d9276d6 (patch)
treed7dd9230fbd35ecb3db612624d248b032ccc3645 /lib/Listener
parente0658df26d66f62f2eaf433603a535d7989d0e7e (diff)
Only collect addresses if user hasn't opt'ed out
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/Listener')
-rw-r--r--lib/Listener/AddressCollectionListener.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Listener/AddressCollectionListener.php b/lib/Listener/AddressCollectionListener.php
index c2ae7eee9..2f227157d 100644
--- a/lib/Listener/AddressCollectionListener.php
+++ b/lib/Listener/AddressCollectionListener.php
@@ -23,6 +23,7 @@
namespace OCA\Mail\Listener;
+use OCA\Mail\Contracts\IUserPreferences;
use OCA\Mail\Events\MessageSentEvent;
use OCA\Mail\Service\AutoCompletion\AddressCollector;
use OCP\EventDispatcher\Event;
@@ -32,22 +33,31 @@ use Throwable;
class AddressCollectionListener implements IEventListener {
+ /** @var IUserPreferences */
+ private $preferences;
+
/** @var AddressCollector */
private $collector;
/** @var ILogger */
private $logger;
- public function __construct(AddressCollector $collector,
+ public function __construct(IUserPreferences $preferences,
+ AddressCollector $collector,
ILogger $logger) {
$this->collector = $collector;
$this->logger = $logger;
+ $this->preferences = $preferences;
}
public function handle(Event $event): void {
if (!($event instanceof MessageSentEvent)) {
return;
}
+ if ($this->preferences->getPreference('collect-data', 'true') !== 'true') {
+ $this->logger->debug('Not collecting email addresses because the user opted out');
+ return;
+ }
// Non-essential feature, hence we catch all possible errors
try {