Source for file jRSS20Item.class.php

Documentation is available at jRSS20Item.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  utils
  5. @author      Loic Mathaud
  6. @author      Yannick Le Guédart
  7. @contributor Laurent Jouanneau
  8. @contributor  Sebastien Romieu
  9. @contributor  Florian Lonqueu-Brochard
  10. @copyright   2005-2006 Loic Mathaud
  11. @copyright   2006 Yannick Le Guédart
  12. @copyright   2006-2010 Laurent Jouanneau
  13. @copyright   2010 Sébastien Romieu
  14. @copyright   2012 Florian Lonqueu-Brochard
  15. @link        http://www.jelix.org
  16. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  17. */
  18.  
  19. require_once(JELIX_LIB_PATH.'utils/jXMLFeedItem.class.php');
  20.  
  21. class jRSS20Item extends jXMLFeedItem {
  22.  
  23.     /**
  24.      * comments url
  25.      * @var string 
  26.      */
  27.     public $comments;
  28.     /**
  29.      * media description, attached to the item
  30.      * the array should contain this keys :  'url', 'size', 'mimetype'
  31.      * @var array 
  32.      */
  33.     public $enclosure;
  34.     /**
  35.      * says if the id is a permanent link
  36.      * @var boolean 
  37.      */
  38.     public $idIsPermalink;
  39.     /**
  40.      * url of  rss channel of the information source
  41.      * @var string 
  42.      */
  43.     public $sourceUrl;
  44.     /**
  45.      * Title of the information source
  46.      * @var string 
  47.      */
  48.     public $sourceTitle;
  49.     
  50.     /**
  51.      * fill item with the given xml node
  52.      * @param SimpleXMLElement node representing an item
  53.      */
  54.     public function setFromXML(SimpleXMLElement $item){
  55.         
  56.         $dt new jDateTime();
  57.         
  58.         $resultat explode(" "(string)$item->author);
  59.         foreach ($resultat as $mot){
  60.             if (jFilter::isEmail($mot))
  61.                     $this->authorEmail = $mot;
  62.             else
  63.                     $this->authorName .= ' '.$mot;
  64.         }
  65.         
  66.         $categorie $item->category;
  67.         foreach ($categorie as $cat{
  68.             $this->categories[= (string)$cat;
  69.         }        
  70.  
  71.         $this->content = (string)$item->description;
  72.         $this->id = (string)$item->guid;
  73.         $this->link = (string)$item->link;
  74.         
  75.         if((string)$item->pubDate != ''){
  76.             $dt->setFromString((string)$item->pubDatejDateTime::RFC2822_FORMAT);
  77.             $this->published = $dt->toString(jDateTime::DB_DTFORMAT);
  78.         }
  79.  
  80.         $this->title = (string)$item->title;
  81.         
  82.         $this->idIsPermalink = (isset($item->guid['isPermaLink']&& $item->guid['isPermaLink'== 'true'true false;
  83.         $this->sourceTitle = (string)$item->source;
  84.         $this->sourceUrl = isset($item->source['url']? (string)$item->source['url''';
  85.  
  86.         $this->comments = (string)$item->comments;
  87.     
  88.         if(isset($item->enclosure['url'])){
  89.             $this->enclosure = array();
  90.             $attrs array('url''length''type');
  91.             
  92.             foreach($attrs as $a){
  93.                 $this->enclosure[$a= isset($item->enclosure[$a]? (string)$item->enclosure[$a'';
  94.             }
  95.         }
  96.  
  97.     }
  98. }

Documentation generated on Wed, 04 Jan 2017 22:56:34 +0100 by phpDocumentor 1.4.3