diff options
Diffstat (limited to 'platform/www/vendor/openpsa/universalfeedcreator/lib/Element/FeedHtmlField.php')
-rw-r--r-- | platform/www/vendor/openpsa/universalfeedcreator/lib/Element/FeedHtmlField.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/platform/www/vendor/openpsa/universalfeedcreator/lib/Element/FeedHtmlField.php b/platform/www/vendor/openpsa/universalfeedcreator/lib/Element/FeedHtmlField.php new file mode 100644 index 0000000..84f0ac4 --- /dev/null +++ b/platform/www/vendor/openpsa/universalfeedcreator/lib/Element/FeedHtmlField.php @@ -0,0 +1,59 @@ +<?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; + } +} |