silverstripe-framework/model/fieldtypes/HTMLVarchar.php

50 lines
1.1 KiB
PHP
Raw Normal View History

<?php
/**
* Represents a short text field that is intended to contain HTML content.
*
* This behaves similarly to Varchar, but the template processor won't escape any HTML content within it.
* @package framework
* @subpackage model
*/
class HTMLVarchar extends Varchar {
2014-08-15 08:53:05 +02:00
private static $escape_type = 'xml';
protected $processShortcodes = true;
public function setOptions(array $options = array()) {
parent::setOptions($options);
if(array_key_exists("shortcodes", $options)) {
$this->processShortcodes = !!$options["shortcodes"];
}
}
public function forTemplate() {
return $this->RAW();
}
public function RAW() {
if ($this->processShortcodes) {
return ShortcodeParser::get_active()->parse($this->value);
}
else {
return $this->value;
}
}
public function exists() {
return parent::exists() && $this->RAW() != '<p></p>';
}
2014-08-15 08:53:05 +02:00
public function scaffoldFormField($title = null, $params = null) {
return new HtmlEditorField($this->name, $title, 1);
}
2014-08-15 08:53:05 +02:00
public function scaffoldSearchField($title = null) {
return new TextField($this->name, $title);
}
2014-08-15 08:53:05 +02:00
}