Path: blob/master/src/infrastructure/markup/PhabricatorMarkupOneOff.php
12241 views
<?php12/**3* DEPRECATED. Use @{class:PHUIRemarkupView}.4*/5final class PhabricatorMarkupOneOff6extends Phobject7implements PhabricatorMarkupInterface {89private $content;10private $preserveLinebreaks;11private $engineRuleset;12private $engine;13private $disableCache;14private $contentCacheFragment;1516private $generateTableOfContents;17private $tableOfContents;1819public function setEngineRuleset($engine_ruleset) {20$this->engineRuleset = $engine_ruleset;21return $this;22}2324public function getEngineRuleset() {25return $this->engineRuleset;26}2728public function setPreserveLinebreaks($preserve_linebreaks) {29$this->preserveLinebreaks = $preserve_linebreaks;30return $this;31}3233public function setContent($content) {34$this->content = $content;35return $this;36}3738public function getContent() {39return $this->content;40}4142public function setEngine(PhutilMarkupEngine $engine) {43$this->engine = $engine;44return $this;45}4647public function getEngine() {48return $this->engine;49}5051public function setDisableCache($disable_cache) {52$this->disableCache = $disable_cache;53return $this;54}5556public function getDisableCache() {57return $this->disableCache;58}5960public function setGenerateTableOfContents($generate) {61$this->generateTableOfContents = $generate;62return $this;63}6465public function getGenerateTableOfContents() {66return $this->generateTableOfContents;67}6869public function getTableOfContents() {70return $this->tableOfContents;71}7273public function setContentCacheFragment($fragment) {74$this->contentCacheFragment = $fragment;75return $this;76}7778public function getContentCacheFragment() {79return $this->contentCacheFragment;80}8182public function getMarkupFieldKey($field) {83$fragment = $this->getContentCacheFragment();84if ($fragment !== null) {85return $fragment;86}8788return PhabricatorHash::digestForIndex($this->getContent()).':oneoff';89}9091public function newMarkupEngine($field) {92if ($this->engine) {93return $this->engine;94}9596if ($this->engineRuleset) {97return PhabricatorMarkupEngine::getEngine($this->engineRuleset);98} else if ($this->preserveLinebreaks) {99return PhabricatorMarkupEngine::getEngine();100} else {101return PhabricatorMarkupEngine::getEngine('nolinebreaks');102}103}104105public function getMarkupText($field) {106return $this->getContent();107}108109public function didMarkupText(110$field,111$output,112PhutilMarkupEngine $engine) {113114if ($this->getGenerateTableOfContents()) {115$toc = PhutilRemarkupHeaderBlockRule::renderTableOfContents($engine);116$this->tableOfContents = $toc;117}118119require_celerity_resource('phabricator-remarkup-css');120121return phutil_tag(122'div',123array(124'class' => 'phabricator-remarkup',125),126$output);127}128129public function shouldUseMarkupCache($field) {130if ($this->getDisableCache()) {131return false;132}133134return true;135}136137}138139140