Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/infrastructure/markup/PhabricatorMarkupOneOff.php b/src/infrastructure/markup/PhabricatorMarkupOneOff.php
index d3350bfd27..58c5d054dd 100644
--- a/src/infrastructure/markup/PhabricatorMarkupOneOff.php
+++ b/src/infrastructure/markup/PhabricatorMarkupOneOff.php
@@ -1,80 +1,94 @@
<?php
/**
* Concrete object for accessing the markup engine with arbitrary blobs of
* text, like form instructions. Usage:
*
* $output = PhabricatorMarkupEngine::renderOneObject(
* id(new PhabricatorMarkupOneOff())->setContent($some_content),
* 'default',
* $viewer);
*
* This is less efficient than batching rendering, but appropriate for small
* amounts of one-off text in form instructions.
*/
final class PhabricatorMarkupOneOff implements PhabricatorMarkupInterface {
private $content;
private $preserveLinebreaks;
private $engineRuleset;
+ private $disableCache;
public function setEngineRuleset($engine_ruleset) {
$this->engineRuleset = $engine_ruleset;
return $this;
}
public function getEngineRuleset() {
return $this->engineRuleset;
}
public function setPreserveLinebreaks($preserve_linebreaks) {
$this->preserveLinebreaks = $preserve_linebreaks;
return $this;
}
public function setContent($content) {
$this->content = $content;
return $this;
}
public function getContent() {
return $this->content;
}
+ public function setDisableCache($disable_cache) {
+ $this->disableCache = $disable_cache;
+ return $this;
+ }
+
+ public function getDisableCache() {
+ return $this->disableCache;
+ }
+
public function getMarkupFieldKey($field) {
return PhabricatorHash::digestForIndex($this->getContent()).':oneoff';
}
public function newMarkupEngine($field) {
if ($this->engineRuleset) {
return PhabricatorMarkupEngine::getEngine($this->engineRuleset);
} else if ($this->preserveLinebreaks) {
return PhabricatorMarkupEngine::getEngine();
} else {
return PhabricatorMarkupEngine::getEngine('nolinebreaks');
}
}
public function getMarkupText($field) {
return $this->getContent();
}
public function didMarkupText(
$field,
$output,
PhutilMarkupEngine $engine) {
require_celerity_resource('phabricator-remarkup-css');
return phutil_tag(
'div',
array(
'class' => 'phabricator-remarkup',
),
$output);
}
public function shouldUseMarkupCache($field) {
+ if ($this->getDisableCache()) {
+ return false;
+ }
+
return true;
}
}
diff --git a/src/infrastructure/markup/PhabricatorMarkupPreviewController.php b/src/infrastructure/markup/PhabricatorMarkupPreviewController.php
index 5417df09ab..743bda0850 100644
--- a/src/infrastructure/markup/PhabricatorMarkupPreviewController.php
+++ b/src/infrastructure/markup/PhabricatorMarkupPreviewController.php
@@ -1,22 +1,23 @@
<?php
final class PhabricatorMarkupPreviewController
extends PhabricatorController {
public function processRequest() {
$request = $this->getRequest();
$viewer = $request->getUser();
$text = $request->getStr('text');
$output = PhabricatorMarkupEngine::renderOneObject(
id(new PhabricatorMarkupOneOff())
->setPreserveLinebreaks(true)
+ ->setDisableCache(true)
->setContent($text),
'default',
$viewer);
return id(new AphrontAjaxResponse())
->setContent($output);
}
}

File Metadata

Mime Type
text/x-diff
Expires
Thu, Nov 6, 8:20 AM (7 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
321746
Default Alt Text
(3 KB)

Event Timeline