1 <?php 2 3 declare(strict_types=1); 4 /** 5 * SimplePie 6 * 7 * A PHP-Based RSS and Atom Feed Framework. 8 * Takes the hard work out of managing a complete RSS/Atom solution. 9 * 10 * Copyright (c) 2004-2022, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors 11 * All rights reserved. 12 * 13 * Redistribution and use in source and binary forms, with or without modification, are 14 * permitted provided that the following conditions are met: 15 * 16 * * Redistributions of source code must retain the above copyright notice, this list of 17 * conditions and the following disclaimer. 18 * 19 * * Redistributions in binary form must reproduce the above copyright notice, this list 20 * of conditions and the following disclaimer in the documentation and/or other materials 21 * provided with the distribution. 22 * 23 * * Neither the name of the SimplePie Team nor the names of its contributors may be used 24 * to endorse or promote products derived from this software without specific prior 25 * written permission. 26 * 27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 28 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 29 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS 30 * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 32 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 34 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 * POSSIBILITY OF SUCH DAMAGE. 36 * 37 * @package SimplePie 38 * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue 39 * @author Ryan Parman 40 * @author Sam Sneddon 41 * @author Ryan McCue 42 * @link http://simplepie.org/ SimplePie 43 * @license http://www.opensource.org/licenses/bsd-license.php BSD License 44 */ 45 46 namespace SimplePie; 47 48 /** 49 * Manages all category-related data 50 * 51 * Used by {@see \SimplePie\Item::get_category()} and {@see \SimplePie\Item::get_categories()} 52 * 53 * This class can be overloaded with {@see \SimplePie\SimplePie::set_category_class()} 54 * 55 * @package SimplePie 56 * @subpackage API 57 */ 58 class Category 59 { 60 /** 61 * Category identifier 62 * 63 * @var string|null 64 * @see get_term 65 */ 66 public $term; 67 68 /** 69 * Categorization scheme identifier 70 * 71 * @var string|null 72 * @see get_scheme() 73 */ 74 public $scheme; 75 76 /** 77 * Human readable label 78 * 79 * @var string|null 80 * @see get_label() 81 */ 82 public $label; 83 84 /** 85 * Category type 86 * 87 * category for <category> 88 * subject for <dc:subject> 89 * 90 * @var string|null 91 * @see get_type() 92 */ 93 public $type; 94 95 /** 96 * Constructor, used to input the data 97 * 98 * @param string|null $term 99 * @param string|null $scheme 100 * @param string|null $label 101 * @param string|null $type 102 */ 103 public function __construct($term = null, $scheme = null, $label = null, $type = null) 104 { 105 $this->term = $term; 106 $this->scheme = $scheme; 107 $this->label = $label; 108 $this->type = $type; 109 } 110 111 /** 112 * String-ified version 113 * 114 * @return string 115 */ 116 public function __toString() 117 { 118 // There is no $this->data here 119 return md5(serialize($this)); 120 } 121 122 /** 123 * Get the category identifier 124 * 125 * @return string|null 126 */ 127 public function get_term() 128 { 129 return $this->term; 130 } 131 132 /** 133 * Get the categorization scheme identifier 134 * 135 * @return string|null 136 */ 137 public function get_scheme() 138 { 139 return $this->scheme; 140 } 141 142 /** 143 * Get the human readable label 144 * 145 * @param bool $strict 146 * @return string|null 147 */ 148 public function get_label($strict = false) 149 { 150 if ($this->label === null && $strict !== true) { 151 return $this->get_term(); 152 } 153 return $this->label; 154 } 155 156 /** 157 * Get the category type 158 * 159 * @return string|null 160 */ 161 public function get_type() 162 { 163 return $this->type; 164 } 165 } 166 167 class_alias('SimplePie\Category', 'SimplePie_Category');
title
Description
Body
title
Description
Body
title
Description
Body
title
Body