Path: blob/master/src/applications/maniphest/mail/ManiphestReplyHandler.php
12256 views
<?php12final class ManiphestReplyHandler3extends PhabricatorApplicationTransactionReplyHandler {45public function validateMailReceiver($mail_receiver) {6if (!($mail_receiver instanceof ManiphestTask)) {7throw new Exception(pht('Mail receiver is not a %s!', 'ManiphestTask'));8}9}1011public function getObjectPrefix() {12return 'T';13}1415protected function didReceiveMail(16PhabricatorMetaMTAReceivedMail $mail,17$body) {1819$object = $this->getMailReceiver();20$is_new = !$object->getID();21$actor = $this->getActor();2223$xactions = array();2425if ($is_new) {26$xactions[] = $this->newTransaction()27->setTransactionType(PhabricatorTransactions::TYPE_CREATE)28->setNewValue(true);2930$xactions[] = $this->newTransaction()31->setTransactionType(ManiphestTaskTitleTransaction::TRANSACTIONTYPE)32->setNewValue(nonempty($mail->getSubject(), pht('Untitled Task')));3334$xactions[] = $this->newTransaction()35->setTransactionType(36ManiphestTaskDescriptionTransaction::TRANSACTIONTYPE)37->setNewValue($body);3839$actor_phid = $actor->getPHID();40if ($actor_phid) {41$xactions[] = $this->newTransaction()42->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS)43->setNewValue(44array(45'+' => array($actor_phid),46));47}48}4950return $xactions;51}525354}555657