If users are on the email to Phabricator, do not send them the Phabricator reply.
Summary: When we receive an email, figure out if any of the other tos and ccs are users. If they are, pass their phids through the stach as "exclude phids" and exclude them from getting the email. Test Plan: used the various applications (audit, differential, maniphest) and noted emails were sent as expected. Reviewers: epriestley, vrana Reviewed By: vrana CC: aran, Korvin, vrana Maniphest Tasks: T1676 Differential Revision: https://secure.phabricator.com/D3645
This commit is contained in:
47
src/infrastructure/PhabricatorEditor.php
Normal file
47
src/infrastructure/PhabricatorEditor.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2012 Facebook, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
abstract class PhabricatorEditor {
|
||||
|
||||
private $actor;
|
||||
private $excludeMailRecipientPHIDs = array();
|
||||
|
||||
final public function setActor(PhabricatorUser $user) {
|
||||
$this->user = $user;
|
||||
return $this;
|
||||
}
|
||||
final protected function getActor() {
|
||||
return $this->user;
|
||||
}
|
||||
final protected function requireActor() {
|
||||
$actor = $this->getActor();
|
||||
if (!$actor) {
|
||||
throw new Exception('You must setActor()!');
|
||||
}
|
||||
return $actor;
|
||||
}
|
||||
|
||||
final public function setExcludeMailRecipientPHIDs($phids) {
|
||||
$this->excludeMailRecipientPHIDs = $phids;
|
||||
return $this;
|
||||
}
|
||||
final protected function getExcludeMailRecipientPHIDs() {
|
||||
return $this->excludeMailRecipientPHIDs;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user