Source for file jResponseRss20.class.php

Documentation is available at jResponseRss20.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  core_response
  5. @author      Loic Mathaud
  6. @author      Yannick Le Guédart
  7. @contributor Laurent Jouanneau
  8. @copyright   2005-2006 Loic Mathaud
  9. @copyright   2006 Yannick Le Guédart
  10. @copyright   2006-2010 Laurent Jouanneau
  11. @link        http://www.jelix.org
  12. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  13. */
  14.  
  15. require_once(JELIX_LIB_PATH.'tpl/jTpl.class.php');
  16. require_once(JELIX_LIB_CORE_PATH.'response/jResponseXmlFeed.class.php');
  17. require_once(JELIX_LIB_PATH.'utils/jRSS20Info.class.php');
  18. require_once(JELIX_LIB_PATH.'utils/jRSS20Item.class.php');
  19.  
  20. /**
  21. * Rss2.0 response
  22. @package  jelix
  23. @subpackage core_response
  24. @link http://blogs.law.harvard.edu/tech/rss
  25. @link http://www.stervinou.com/projets/rss/
  26. @since 1.0b1
  27. */
  28. class jResponseRss20 extends jResponseXMLFeed {
  29.     protected $_type = 'rss2.0';
  30.  
  31.     /**
  32.      * Class constructor
  33.      */
  34.     function __construct ({
  35.         $this->_template     new jTpl();
  36.         $this->_mainTpl     'jelix~rss20';
  37.  
  38.         $this->infos = new jRSS20Info ();
  39.  
  40.         parent::__construct ();
  41.         $this->infos->language $this->lang;
  42.     }
  43.  
  44.     /**
  45.      * Generate the content and send it.
  46.      * @return boolean true if generation is ok, else false
  47.      */
  48.     final public function output (){
  49.     
  50.         if($this->_outputOnlyHeaders){
  51.             $this->sendHttpHeaders();
  52.             return true;
  53.         }
  54.         
  55.         $this->_httpHeaders['Content-Type'=
  56.                 'application/xml;charset=' $this->charset;
  57.  
  58.         // let's generate the content
  59.         $this->_template->assign ('rss'$this->infos);
  60.         $this->_template->assign ('items'$this->itemList);
  61.         $content $this->_template->fetch ($this->_mainTpl);
  62.  
  63.         // no errors, we can send it
  64.         $this->sendHttpHeaders ();
  65.         echo '<?xml version="1.0" encoding="'$this->charset .'"?>'"\n";
  66.         $this->_outputXmlHeader ();
  67.         echo $content;
  68.         return true;
  69.     }
  70.  
  71.     /**
  72.      * create a new item
  73.      * @param string $title the item title
  74.      * @param string $link  the link
  75.      * @param string $date  the date of the item
  76.      * @return jXMLFeedItem 
  77.      */
  78.     public function createItem($title,$link$date){
  79.         $item new jRSS20Item();
  80.         $item->title $title;
  81.         $item->id $item->link $link;
  82.         $item->published $date;
  83.         return $item;
  84.     }
  85. }

Documentation generated on Mon, 26 Oct 2015 21:55:44 +0100 by phpDocumentor 1.4.3