2013-05-14 19:57:41 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
final class ManiphestTaskMailReceiver extends PhabricatorObjectMailReceiver {
|
|
|
|
|
|
|
|
public function isEnabled() {
|
|
|
|
$app_class = 'PhabricatorApplicationManiphest';
|
|
|
|
return PhabricatorApplication::isClassInstalled($app_class);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected function getObjectPattern() {
|
|
|
|
return 'T[1-9]\d*';
|
|
|
|
}
|
|
|
|
|
2013-05-17 12:47:46 +02:00
|
|
|
protected function loadObject($pattern, PhabricatorUser $viewer) {
|
|
|
|
$id = (int)trim($pattern, 'T');
|
|
|
|
|
|
|
|
$results = id(new ManiphestTaskQuery())
|
|
|
|
->setViewer($viewer)
|
|
|
|
->withTaskIDs(array($id))
|
|
|
|
->execute();
|
|
|
|
|
|
|
|
return head($results);
|
|
|
|
}
|
|
|
|
|
2013-05-17 19:00:49 +02:00
|
|
|
protected function processReceivedObjectMail(
|
|
|
|
PhabricatorMetaMTAReceivedMail $mail,
|
|
|
|
PhabricatorLiskDAO $object,
|
|
|
|
PhabricatorUser $sender) {
|
|
|
|
|
|
|
|
$editor = new ManiphestTransactionEditor();
|
|
|
|
$editor->setActor($sender);
|
|
|
|
$handler = $editor->buildReplyHandler($object);
|
|
|
|
|
|
|
|
$handler->setActor($sender);
|
|
|
|
$handler->setExcludeMailRecipientPHIDs(
|
|
|
|
$mail->loadExcludeMailRecipientPHIDs());
|
|
|
|
$handler->processEmail($mail);
|
|
|
|
}
|
|
|
|
|
2013-05-14 19:57:41 +02:00
|
|
|
}
|