| /** | |
| * SimplePie | |
| * | |
| * A PHP-Based RSS and Atom Feed Framework. | |
| * Takes the hard work out of managing a complete RSS/Atom solution. | |
| * | |
| * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors | |
| * All rights reserved. | |
| * | |
| * Redistribution and use in source and binary forms, with or without modification, are | |
| * permitted provided that the following conditions are met: | |
| * | |
| * * Redistributions of source code must retain the above copyright notice, this list of | |
| * conditions and the following disclaimer. | |
| * | |
| * * Redistributions in binary form must reproduce the above copyright notice, this list | |
| * of conditions and the following disclaimer in the documentation and/or other materials | |
| * provided with the distribution. | |
| * | |
| * * Neither the name of the SimplePie Team nor the names of its contributors may be used | |
| * to endorse or promote products derived from this software without specific prior | |
| * written permission. | |
| * | |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS | |
| * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY | |
| * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS | |
| * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
| * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
| * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | |
| * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
| * POSSIBILITY OF SUCH DAMAGE. | |
| * | |
| * @package SimplePie | |
| * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue | |
| * @author Ryan Parman | |
| * @author Sam Sneddon | |
| * @author Ryan McCue | |
| * @link http://simplepie.org/ SimplePie | |
| * @license http://www.opensource.org/licenses/bsd-license.php BSD License | |
| */ | |
| /** | |
| * Manages all category-related data | |
| * | |
| * Used by {@see SimplePie_Item::get_category()} and {@see SimplePie_Item::get_categories()} | |
| * | |
| * This class can be overloaded with {@see SimplePie::set_category_class()} | |
| * | |
| * @package SimplePie | |
| * @subpackage API | |
| */ | |
| class SimplePie_Category | |
| { | |
| /** | |
| * Category identifier | |
| * | |
| * @var string|null | |
| * @see get_term | |
| */ | |
| var $term; | |
| /** | |
| * Categorization scheme identifier | |
| * | |
| * @var string|null | |
| * @see get_scheme() | |
| */ | |
| var $scheme; | |
| /** | |
| * Human readable label | |
| * | |
| * @var string|null | |
| * @see get_label() | |
| */ | |
| var $label; | |
| /** | |
| * Category type | |
| * | |
| * category for <category> | |
| * subject for <dc:subject> | |
| * | |
| * @var string|null | |
| * @see get_type() | |
| */ | |
| var $type; | |
| /** | |
| * Constructor, used to input the data | |
| * | |
| * @param string|null $term | |
| * @param string|null $scheme | |
| * @param string|null $label | |
| * @param string|null $type | |
| */ | |
| public function __construct($term = null, $scheme = null, $label = null, $type = null) | |
| { | |
| $this->term = $term; | |
| $this->scheme = $scheme; | |
| $this->label = $label; | |
| $this->type = $type; | |
| } | |
| /** | |
| * String-ified version | |
| * | |
| * @return string | |
| */ | |
| public function __toString() | |
| { | |
| // There is no $this->data here | |
| return md5(serialize($this)); | |
| } | |
| /** | |
| * Get the category identifier | |
| * | |
| * @return string|null | |
| */ | |
| public function get_term() | |
| { | |
| return $this->term; | |
| } | |
| /** | |
| * Get the categorization scheme identifier | |
| * | |
| * @return string|null | |
| */ | |
| public function get_scheme() | |
| { | |
| return $this->scheme; | |
| } | |
| /** | |
| * Get the human readable label | |
| * | |
| * @param bool $strict | |
| * @return string|null | |
| */ | |
| public function get_label($strict = false) | |
| { | |
| if ($this->label === null && $strict !== true) | |
| { | |
| return $this->get_term(); | |
| } | |
| return $this->label; | |
| } | |
| /** | |
| * Get the category type | |
| * | |
| * @return string|null | |
| */ | |
| public function get_type() | |
| { | |
| return $this->type; | |
| } | |
| } | |