mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-09 22:31:03 +01:00
70 lines
1.6 KiB
PHP
70 lines
1.6 KiB
PHP
|
<?php
|
||
|
|
||
|
final class LegalpadDocumentBody extends LegalpadDAO
|
||
|
implements
|
||
|
PhabricatorMarkupInterface {
|
||
|
|
||
|
const MARKUP_FIELD_TEXT = 'markup:text ';
|
||
|
|
||
|
protected $phid;
|
||
|
protected $creatorPHID;
|
||
|
protected $documentPHID;
|
||
|
protected $version;
|
||
|
protected $title;
|
||
|
protected $text;
|
||
|
|
||
|
public function getConfiguration() {
|
||
|
return array(
|
||
|
self::CONFIG_AUX_PHID => true,
|
||
|
) + parent::getConfiguration();
|
||
|
}
|
||
|
|
||
|
public function generatePHID() {
|
||
|
return PhabricatorPHID::generateNewPHID(
|
||
|
PhabricatorPHIDConstants::PHID_TYPE_LEGB);
|
||
|
}
|
||
|
|
||
|
/* -( PhabricatorMarkupInterface )----------------------------------------- */
|
||
|
|
||
|
|
||
|
public function getMarkupFieldKey($field) {
|
||
|
$hash = PhabricatorHash::digest($this->getMarkupText($field));
|
||
|
return 'LEGB:'.$hash;
|
||
|
}
|
||
|
|
||
|
public function newMarkupEngine($field) {
|
||
|
return PhabricatorMarkupEngine::newMarkupEngine(array());
|
||
|
}
|
||
|
|
||
|
public function getMarkupText($field) {
|
||
|
switch ($field) {
|
||
|
case self::MARKUP_FIELD_TEXT:
|
||
|
$text = $this->getText();
|
||
|
break;
|
||
|
case self::MARKUP_FIELD_TITLE:
|
||
|
$text = $this->getTitle();
|
||
|
break;
|
||
|
default:
|
||
|
throw new Exception('Unknown field: '.$field);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
return $text;
|
||
|
}
|
||
|
|
||
|
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) {
|
||
|
return (bool)$this->getID();
|
||
|
}
|
||
|
|
||
|
}
|