mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-14 19:02:41 +01:00
5cd13c3c65
Summary: Moves all remaining mail handling into ReplyHandlers. Farewell, `getPhabricatorToInformation()`! You were a bad method and no one liked you. Ref T1205. Test Plan: - Used test console to send mail to Revisions, Tasks, Conpherences and Commits (these all actually work). - Used test console to send mail to Requests, Macros, Questions and Mocks (these accept the mail but don't do anything with it, but didn't do anything before either). Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T1205 Differential Revision: https://secure.phabricator.com/D5953
39 lines
978 B
PHP
39 lines
978 B
PHP
<?php
|
|
|
|
final class DifferentialRevisionMailReceiver
|
|
extends PhabricatorObjectMailReceiver {
|
|
|
|
public function isEnabled() {
|
|
$app_class = 'PhabricatorApplicationDifferential';
|
|
return PhabricatorApplication::isClassInstalled($app_class);
|
|
}
|
|
|
|
protected function getObjectPattern() {
|
|
return 'D[1-9]\d*';
|
|
}
|
|
|
|
protected function loadObject($pattern, PhabricatorUser $viewer) {
|
|
$id = (int)trim($pattern, 'D');
|
|
|
|
$results = id(new DifferentialRevisionQuery())
|
|
->setViewer($viewer)
|
|
->withIDs(array($id))
|
|
->execute();
|
|
|
|
return head($results);
|
|
}
|
|
|
|
protected function processReceivedObjectMail(
|
|
PhabricatorMetaMTAReceivedMail $mail,
|
|
PhabricatorLiskDAO $object,
|
|
PhabricatorUser $sender) {
|
|
|
|
$handler = DifferentialMail::newReplyHandlerForRevision($object);
|
|
|
|
$handler->setActor($sender);
|
|
$handler->setExcludeMailRecipientPHIDs(
|
|
$mail->loadExcludeMailRecipientPHIDs());
|
|
$handler->processEmail($mail);
|
|
}
|
|
|
|
}
|