silverstripe-framework/model/fieldtypes/HTMLVarchar.php
Ingo Schommer 3334eafcb1 API Marked statics private, use Config API instead (#8317)
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00

45 lines
1.0 KiB
PHP

<?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 {
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() {
if ($this->processShortcodes) {
return ShortcodeParser::get_active()->parse($this->value);
}
else {
return $this->value;
}
}
public function exists() {
return parent::exists() && $this->value != '<p></p>';
}
public function scaffoldFormField($title = null, $params = null) {
return new HtmlEditorField($this->name, $title, 1);
}
public function scaffoldSearchField($title = null) {
return new TextField($this->name, $title);
}
}