Page MenuHomePhabricator

D19968.id47707.diff
No OneTemporary

D19968.id47707.diff

diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php
--- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php
+++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php
@@ -3265,7 +3265,7 @@
}
if (!$is_comment || !$seen_comment) {
- $header = $xaction->getTitleForMail();
+ $header = $xaction->getTitleForTextMail();
if ($header !== null) {
$headers[] = $header;
}
@@ -3350,7 +3350,7 @@
// If this is not the first comment in the mail, add the header showing
// who wrote the comment immediately above the comment.
if (!$is_initial) {
- $header = $xaction->getTitleForMail();
+ $header = $xaction->getTitleForTextMail();
if ($header !== null) {
$body->addRawPlaintextSection($header);
}
diff --git a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
--- a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
+++ b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
@@ -763,12 +763,29 @@
return $this->shouldHideForFeed();
}
+ private function getTitleForMailWithRenderingTarget($new_target) {
+ $old_target = $this->getRenderingTarget();
+ try {
+ $this->setRenderingTarget($new_target);
+ $result = $this->getTitleForMail();
+ } catch (Exception $ex) {
+ $this->setRenderingTarget($old_target);
+ throw $ex;
+ }
+ $this->setRenderingTarget($old_target);
+ return $result;
+ }
+
public function getTitleForMail() {
- return id(clone $this)->setRenderingTarget('text')->getTitle();
+ return $this->getTitle();
+ }
+
+ public function getTitleForTextMail() {
+ return $this->getTitleForMailWithRenderingTarget(self::TARGET_TEXT);
}
public function getTitleForHTMLMail() {
- $title = $this->getTitleForMail();
+ $title = $this->getTitleForMailWithRenderingTarget(self::TARGET_HTML);
if ($title === null) {
return null;
}
diff --git a/src/applications/transactions/storage/PhabricatorModularTransaction.php b/src/applications/transactions/storage/PhabricatorModularTransaction.php
--- a/src/applications/transactions/storage/PhabricatorModularTransaction.php
+++ b/src/applications/transactions/storage/PhabricatorModularTransaction.php
@@ -150,15 +150,6 @@
return parent::getActionStrength();
}
- public function getTitleForMail() {
- $old_target = $this->getRenderingTarget();
- $new_target = self::TARGET_TEXT;
- $this->setRenderingTarget($new_target);
- $title = $this->getTitle();
- $this->setRenderingTarget($old_target);
- return $title;
- }
-
/* final */ public function getTitleForFeed() {
$title = $this->getTransactionImplementation()->getTitleForFeed();
if ($title !== null) {

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 25, 10:32 PM (3 h, 27 m ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7685874
Default Alt Text
D19968.id47707.diff (3 KB)

Event Timeline