1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- * A FeedHtmlField describes and generates
- * a feed, item or image html field (probably a description). Output is
- * generated based on $truncSize, $syndicateHtml properties.
- *
- * @author Pascal Van Hecke <feedcreator.class.php@vanhecke.info>
- * @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 = "<![CDATA[".$this->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;
- }
- }
|