[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/simplepie/simplepie/library/SimplePie/ -> Category.php (source)

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