* @version 1.6 */ class FeedHtmlField { /** * Mandatory attributes of a FeedHtmlField. */ protected $rawFieldContent; /** * Optional attributes of a FeedHtmlField. */ public $truncSize, $syndicateHtml; /** * Creates a new instance of FeedHtmlField. * * @param string $parFieldContent if given, sets the rawFieldContent property */ public function __construct($parFieldContent) { if ($parFieldContent) { $this->rawFieldContent = $parFieldContent; } } /** * Creates the right output, depending on $truncSize, $syndicateHtml properties. * * @return string the formatted field */ public function output() { // when field available and syndicated in html we assume // - valid html in $rawFieldContent and we enclose in CDATA tags // - no truncation (truncating risks producing invalid html) if (!$this->rawFieldContent) { $result = ""; } elseif ($this->syndicateHtml) { $result = "rawFieldContent."]]>"; } else { if ($this->truncSize and is_int($this->truncSize)) { $result = FeedCreator::iTrunc(htmlspecialchars($this->rawFieldContent), $this->truncSize); } else { $result = htmlspecialchars($this->rawFieldContent); } } return $result; } }