home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / SimplePie / Category.php < prev    next >
Encoding:
PHP Script  |  2012-11-21  |  3.6 KB  |  158 lines

  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-2012, 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.  * @version 1.3.1
  37.  * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
  38.  * @author Ryan Parman
  39.  * @author Geoffrey Sneddon
  40.  * @author Ryan McCue
  41.  * @link http://simplepie.org/ SimplePie
  42.  * @license http://www.opensource.org/licenses/bsd-license.php BSD License
  43.  */
  44.  
  45. /**
  46.  * Manages all category-related data
  47.  *
  48.  * Used by {@see SimplePie_Item::get_category()} and {@see SimplePie_Item::get_categories()}
  49.  *
  50.  * This class can be overloaded with {@see SimplePie::set_category_class()}
  51.  *
  52.  * @package SimplePie
  53.  * @subpackage API
  54.  */
  55. class SimplePie_Category
  56. {
  57.     /**
  58.      * Category identifier
  59.      *
  60.      * @var string
  61.      * @see get_term
  62.      */
  63.     var $term;
  64.  
  65.     /**
  66.      * Categorization scheme identifier
  67.      *
  68.      * @var string
  69.      * @see get_scheme()
  70.      */
  71.     var $scheme;
  72.  
  73.     /**
  74.      * Human readable label
  75.      *
  76.      * @var string
  77.      * @see get_label()
  78.      */
  79.     var $label;
  80.  
  81.     /**
  82.      * Constructor, used to input the data
  83.      *
  84.      * @param string $term
  85.      * @param string $scheme
  86.      * @param string $label
  87.      */
  88.     public function __construct($term = null, $scheme = null, $label = null)
  89.     {
  90.         $this->term = $term;
  91.         $this->scheme = $scheme;
  92.         $this->label = $label;
  93.     }
  94.  
  95.     /**
  96.      * String-ified version
  97.      *
  98.      * @return string
  99.      */
  100.     public function __toString()
  101.     {
  102.         // There is no $this->data here
  103.         return md5(serialize($this));
  104.     }
  105.  
  106.     /**
  107.      * Get the category identifier
  108.      *
  109.      * @return string|null
  110.      */
  111.     public function get_term()
  112.     {
  113.         if ($this->term !== null)
  114.         {
  115.             return $this->term;
  116.         }
  117.         else
  118.         {
  119.             return null;
  120.         }
  121.     }
  122.  
  123.     /**
  124.      * Get the categorization scheme identifier
  125.      *
  126.      * @return string|null
  127.      */
  128.     public function get_scheme()
  129.     {
  130.         if ($this->scheme !== null)
  131.         {
  132.             return $this->scheme;
  133.         }
  134.         else
  135.         {
  136.             return null;
  137.         }
  138.     }
  139.  
  140.     /**
  141.      * Get the human readable label
  142.      *
  143.      * @return string|null
  144.      */
  145.     public function get_label()
  146.     {
  147.         if ($this->label !== null)
  148.         {
  149.             return $this->label;
  150.         }
  151.         else
  152.         {
  153.             return $this->get_term();
  154.         }
  155.     }
  156. }
  157.  
  158.