[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/releeph/mail/ -> ReleephRequestReplyHandler.php (source)

   1  <?php
   2  
   3  final class ReleephRequestReplyHandler extends PhabricatorMailReplyHandler {
   4  
   5    public function validateMailReceiver($mail_receiver) {
   6      if (!($mail_receiver instanceof ReleephRequest)) {
   7        throw new Exception('Mail receiver is not a ReleephRequest!');
   8      }
   9    }
  10  
  11    public function getPrivateReplyHandlerEmailAddress(
  12      PhabricatorObjectHandle $handle) {
  13      return $this->getDefaultPrivateReplyHandlerEmailAddress($handle, 'RERQ');
  14    }
  15  
  16    public function getPublicReplyHandlerEmailAddress() {
  17      return $this->getDefaultPublicReplyHandlerEmailAddress('RERQ');
  18    }
  19  
  20    public function getReplyHandlerInstructions() {
  21      if ($this->supportsReplies()) {
  22        return pht('Reply to comment.');
  23      } else {
  24        return null;
  25      }
  26    }
  27  
  28    protected function receiveEmail(PhabricatorMetaMTAReceivedMail $mail) {
  29      $rq = $this->getMailReceiver();
  30      $user = $this->getActor();
  31  
  32      $content_source = PhabricatorContentSource::newForSource(
  33        PhabricatorContentSource::SOURCE_EMAIL,
  34        array(
  35          'id' => $mail->getID(),
  36        ));
  37  
  38      $editor = id(new ReleephRequestTransactionalEditor())
  39        ->setActor($user)
  40        ->setContentSource($content_source)
  41        ->setParentMessageID($mail->getMessageID());
  42  
  43      $body = $mail->getCleanTextBody();
  44  
  45      $xactions = array();
  46      $xactions[] = id(new ReleephRequestTransaction())
  47        ->setTransactionType(PhabricatorTransactions::TYPE_COMMENT)
  48        ->attachComment($body);
  49  
  50      $editor->applyTransactions($rq, $xactions);
  51  
  52      return $rq;
  53    }
  54  
  55  }


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