[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Concrete object for accessing the markup engine with arbitrary blobs of 5 * text, like form instructions. Usage: 6 * 7 * $output = PhabricatorMarkupEngine::renderOneObject( 8 * id(new PhabricatorMarkupOneOff())->setContent($some_content), 9 * 'default', 10 * $viewer); 11 * 12 * This is less efficient than batching rendering, but appropriate for small 13 * amounts of one-off text in form instructions. 14 */ 15 final class PhabricatorMarkupOneOff implements PhabricatorMarkupInterface { 16 17 private $content; 18 private $preserveLinebreaks; 19 private $engineRuleset; 20 21 public function setEngineRuleset($engine_ruleset) { 22 $this->engineRuleset = $engine_ruleset; 23 return $this; 24 } 25 26 public function getEngineRuleset() { 27 return $this->engineRuleset; 28 } 29 30 public function setPreserveLinebreaks($preserve_linebreaks) { 31 $this->preserveLinebreaks = $preserve_linebreaks; 32 return $this; 33 } 34 35 public function setContent($content) { 36 $this->content = $content; 37 return $this; 38 } 39 40 public function getContent() { 41 return $this->content; 42 } 43 44 public function getMarkupFieldKey($field) { 45 return PhabricatorHash::digestForIndex($this->getContent()).':oneoff'; 46 } 47 48 public function newMarkupEngine($field) { 49 if ($this->engineRuleset) { 50 return PhabricatorMarkupEngine::getEngine($this->engineRuleset); 51 } else if ($this->preserveLinebreaks) { 52 return PhabricatorMarkupEngine::getEngine(); 53 } else { 54 return PhabricatorMarkupEngine::getEngine('nolinebreaks'); 55 } 56 } 57 58 public function getMarkupText($field) { 59 return $this->getContent(); 60 } 61 62 public function didMarkupText( 63 $field, 64 $output, 65 PhutilMarkupEngine $engine) { 66 67 require_celerity_resource('phabricator-remarkup-css'); 68 return phutil_tag( 69 'div', 70 array( 71 'class' => 'phabricator-remarkup', 72 ), 73 $output); 74 } 75 76 public function shouldUseMarkupCache($field) { 77 return true; 78 } 79 80 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |