Source for file OnpubArticle.php

Documentation is available at OnpubArticle.php

  1. <?php
  2.  
  3. /**
  4.  * An article.
  5.  *
  6.  * @author {@link mailto:corey@onpub.com Corey H.M. Taylor}
  7.  * @copyright Onpub (TM). Copyright 2012, Onpub.com.
  8.  *  {@link http://onpub.com/}
  9.  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
  10.  *  Version 2
  11.  * @package OnpubAPI
  12.  */
  13. {
  14.   /**
  15.    * Article ID. Default is NULL.
  16.    *
  17.    * @var int 
  18.    */
  19.   public $ID;
  20.   /**
  21.    * Image ID. Default is NULL.
  22.    *
  23.    * @var int 
  24.    */
  25.   public $imageID;
  26.   /**
  27.    * Article title. Default is an empty string.
  28.    *
  29.    * @var string 
  30.    */
  31.   public $title;
  32.   /**
  33.    * Article content. Default is an empty string.
  34.    *
  35.    * @var string 
  36.    */
  37.   public $content;
  38.   /**
  39.    * Article URL. Default is an empty string.
  40.    *
  41.    * @var string 
  42.    */
  43.   public $url;
  44.   private $created;
  45.   private $modified;
  46.   /**
  47.    * Article authors. Default is an empty array.
  48.    *
  49.    * @var array 
  50.    */
  51.   public $authors;
  52.   /**
  53.    * Article image. Default is NULL.
  54.    *
  55.    * @var OnpubImage 
  56.    */
  57.   public $image;
  58.   /**
  59.    * Article section IDs. Default is an empty array.
  60.    *
  61.    * @var array 
  62.    */
  63.   public $sectionIDs;
  64.  
  65.   /**
  66.    * Construct a new article.
  67.    */
  68.   function __construct()
  69.   {
  70.     $this->ID = NULL;
  71.     $this->imageID = NULL;
  72.     $this->title = "";
  73.     $this->content = "";
  74.     $this->url = "";
  75.     $this->created NULL;
  76.     $this->modified NULL;
  77.     $this->authors = array();
  78.     $this->image = NULL;
  79.     $this->sectionIDs = array();
  80.   }
  81.  
  82.   /**
  83.    * Get this article's creation date.
  84.    *
  85.    * By default, returns the date at the time this method was called for the
  86.    * first time. Call {@link OnpubArticle::setCreated()} to explicitly set
  87.    * this article's creation date.
  88.    *
  89.    * @return DateTime 
  90.    */
  91.   public function getCreated()
  92.   {
  93.     if ($this->created === NULL{
  94.       $this->created new DateTime();
  95.     }
  96.  
  97.     return $this->created;
  98.   }
  99.  
  100.   /**
  101.    * Set this article's creation date.
  102.    *
  103.    * @param DateTime 
  104.    */
  105.   public function setCreated(DateTime $created)
  106.   {
  107.     $this->created $created;
  108.   }
  109.  
  110.   /**
  111.    * Get this article's last modification date.
  112.    *
  113.    * By default, returns the date at the time this method was called for the
  114.    * first time. Call {@link OnpubArticle::setModified()} to explicitly set
  115.    * this article's last modification date.
  116.    *
  117.    * @return DateTime 
  118.    */
  119.   public function getModified()
  120.   {
  121.     if ($this->modified === NULL{
  122.       $this->modified new DateTime();
  123.     }
  124.  
  125.     return $this->modified;
  126.   }
  127.  
  128.   /**
  129.    * Set this article's last modification date.
  130.    *
  131.    * @param DateTime 
  132.    */
  133.   public function setModified(DateTime $modified)
  134.   {
  135.     $this->modified $modified;
  136.   }
  137.  
  138.   /**
  139.    * Get a summary of this article's content.
  140.    *
  141.    * By default a 30 word summary is generated.
  142.    *
  143.    * @param int $limit The maximum number of words to include in the summary.
  144.    * @return string 
  145.    */
  146.   public function getSummary($limit 30)
  147.   {
  148.     // Replace all new line charcaters and non-breaking spaces.
  149.     $content preg_replace('/[\n\r]|(&nbsp;)/i'''$this->content);
  150.     // Strip all HTML tags.
  151.     $content strip_tags($content);
  152.     // Trim whitespace.
  153.     $content trim($content);
  154.     // Split string in to words.
  155.     $words preg_split("/\s+/"$content$limit 1);
  156.     
  157.     if (sizeof($words$limit{
  158.       array_pop($words);
  159.     }
  160.  
  161.     return implode(' '$words);
  162.   }
  163. }
  164. ?>

Documentation generated on Fri, 08 Feb 2013 04:02:16 -0500 by phpDocumentor 1.4.4