[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/differential/mail/ -> DifferentialRevisionMailReceiver.php (source)

   1  <?php
   2  
   3  final class DifferentialRevisionMailReceiver
   4    extends PhabricatorObjectMailReceiver {
   5  
   6    public function isEnabled() {
   7      $app_class = 'PhabricatorDifferentialApplication';
   8      return PhabricatorApplication::isClassInstalled($app_class);
   9    }
  10  
  11    protected function getObjectPattern() {
  12      return 'D[1-9]\d*';
  13    }
  14  
  15    protected function loadObject($pattern, PhabricatorUser $viewer) {
  16      $id = (int)trim($pattern, 'D');
  17  
  18      return id(new DifferentialRevisionQuery())
  19        ->setViewer($viewer)
  20        ->withIDs(array($id))
  21        ->needReviewerStatus(true)
  22        ->needReviewerAuthority(true)
  23        ->needActiveDiffs(true)
  24        ->executeOne();
  25    }
  26  
  27    protected function processReceivedObjectMail(
  28      PhabricatorMetaMTAReceivedMail $mail,
  29      PhabricatorLiskDAO $object,
  30      PhabricatorUser $sender) {
  31  
  32      $handler = DifferentialMail::newReplyHandlerForRevision($object);
  33  
  34      $handler->setActor($sender);
  35      $handler->setExcludeMailRecipientPHIDs(
  36        $mail->loadExcludeMailRecipientPHIDs());
  37      $handler->processEmail($mail);
  38    }
  39  
  40  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1