Page MenuHomePhabricator

D21817.diff
No OneTemporary

D21817.diff

diff --git a/src/applications/paste/xaction/PhabricatorPasteContentTransaction.php b/src/applications/paste/xaction/PhabricatorPasteContentTransaction.php
--- a/src/applications/paste/xaction/PhabricatorPasteContentTransaction.php
+++ b/src/applications/paste/xaction/PhabricatorPasteContentTransaction.php
@@ -5,6 +5,8 @@
const TRANSACTIONTYPE = 'paste.create';
+ private $filePHID;
+
public function generateOldValue($object) {
return $object->getFilePHID();
}
@@ -14,7 +16,8 @@
}
public function extractFilePHIDs($object, $value) {
- return array($value);
+ $file_phid = $this->getFilePHID($object, $value);
+ return array($file_phid);
}
public function validateTransactions($object, array $xactions) {
@@ -31,6 +34,18 @@
}
public function generateNewValue($object, $value) {
+ return $this->getFilePHID($object, $value);
+ }
+
+ private function getFilePHID($object, $value) {
+ if ($this->filePHID === null) {
+ $this->filePHID = $this->newFilePHID($object, $value);
+ }
+
+ return $this->filePHID;
+ }
+
+ private function newFilePHID($object, $value) {
// If this transaction does not really change the paste content, return
// the current file PHID so this transaction no-ops.
$old_content = $object->getRawContent();

File Metadata

Mime Type
text/plain
Expires
Tue, May 14, 5:39 AM (2 w, 4 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6285108
Default Alt Text
D21817.diff (1 KB)

Event Timeline