summaryrefslogtreecommitdiff
path: root/platform/www/vendor/openpsa/universalfeedcreator/lib/Element/HtmlDescribable.php
blob: e34e2b1df8a8bbf2ec339763d8168d1aa21eae40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php

/**
 * An HtmlDescribable is an item within a feed that can have a description that may
 * include HTML markup.
 */
class HtmlDescribable
{
    /**
     * Indicates whether the description field should be rendered in HTML.
     */
    public $descriptionHtmlSyndicated;

    /**
     * Indicates whether and to how many characters a description should be truncated.
     */
    public $descriptionTruncSize;

    /** @var string the Description */
    public $description;

    /**
     * Returns a formatted description field, depending on descriptionHtmlSyndicated and
     * $descriptionTruncSize properties
     *
     * @param bool $overrideSyndicateHtml
     * @return string the formatted description
     */
    public function getDescription($overrideSyndicateHtml = false)
    {
        $descriptionField = new FeedHtmlField($this->description);
        $descriptionField->syndicateHtml = $overrideSyndicateHtml || $this->descriptionHtmlSyndicated;
        $descriptionField->truncSize = $this->descriptionTruncSize;

        return $descriptionField->output();
    }
}