Server : Apache
System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 5.6.40
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/saimikebio.com/mobile/include/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/saimikebio.com/mobile/include/cls_rss.php
<?php



/**

 * ECSHOP RSS 类

 * ============================================================================

 * * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。

 * 网站地址: http://www.ecshop.com;

 * ----------------------------------------------------------------------------

 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和

 * 使用;不允许对程序代码以任何形式任何目的的再发布。

 * ============================================================================

 * $Author: liubo $

 * $Id: cls_rss.php 17217 2011-01-19 06:29:08Z liubo $

*/



if (!defined('IN_ECTOUCH'))

{

    die('Hacking attempt');

}



/*-----------------------------------------------------------------------*/

// @package RSSBuilder

// @category FLP

/*-----------------------------------------------------------------------*/

/*-----------------------------------------------------------------------*/

// Abstract class for getting ini preferences

//-------------------------------------------------

// Tested with WAMP (XP-SP1/1.3.24/4.0.12/4.3.0)

// Last change: 2003-05-30

//-------------------------------------------------

// @desc Abstract class for the RSS classes

// @access protected

// @author Michael Wimmer <flaimo@gmx.net>

// @copyright Michael Wimmer

// @link http://www.flaimo.com/

// @global array $GLOBALS['_TICKER_ini_settings']

// @abstract

// @package RSSBuilder

// @category FLP

// @version 1.001

/*-----------------------------------------------------------------------*/



class RSSBase

{

    /*-----------------------*/

    /* C O N S T R U C T O R */

    /*-----------------------*/



    //-------------------------------------------------

    // Constructor

    //-------------------------------------------------

    // @desc Constructor

    // @return (void)

    // @access private

    //-------------------------------------------------

    function RSSBase() {

    } // end constructor



} // end class RSSBase



//---------------------------------------------------------------------------



/*-----------------------------------------------------------------------*/

// Class for creating a RSS file

//-------------------------------------------------

// Tested with WAMP (XP-SP1/1.3.24/4.0.12/4.3.0)

// Last change: 2003-05-30

//-------------------------------------------------

// @desc Class for creating a RSS file

// @access public

// @author Michael Wimmer <flaimo@gmx.net>

// @copyright Michael Wimmer

// @link http://www.flaimo.com/

// @example rss_sample_script.php Sample script

// @package RSSBuilder

// @category FLP

// @version 1.001

/*-----------------------------------------------------------------------*/

class RSSBuilder extends RSSBase

{

    /*-----------------------------------------------------------------------*/

    /* V A R I A B L E S

    /*-----------------------------------------------------------------------*/



    //-------------------------------------------------

    // encoding of the XML file

    //-------------------------------------------------

    // @desc encoding of the XML file

    // @var string

    // @access private

    //-------------------------------------------------

    var $encoding;



    //-------------------------------------------------

    // URL where the RSS document will be made available

    //-------------------------------------------------

    // @desc URL where the RSS document will be made available

    // @var string

    // @access private

    //-------------------------------------------------

    var $about;



    //-------------------------------------------------

    // title of the rss stream

    //-------------------------------------------------

    // @desc title of the rss stream

    // @var string

    // @access private

    //-------------------------------------------------

    var $title;



    //-------------------------------------------------

    // description of the rss stream

    //-------------------------------------------------

    // @desc description of the rss stream

    // @var string

    // @access private

    //-------------------------------------------------

    var $description;



    //-------------------------------------------------

    // publisher of the rss stream (person, an organization, or a service)

    //-------------------------------------------------

    // @desc publisher of the rss stream

    // @var string

    // @access private

    //-------------------------------------------------

    var $publisher;



    //-------------------------------------------------

    // creator of the rss stream (person, an organization, or a service)

    //-------------------------------------------------

    // @desc creator of the rss stream

    // @var string

    // @access private

    //-------------------------------------------------

    var $creator;



    //-------------------------------------------------

    // creation date of the file (format: 2003-05-29T00:03:07+0200)

    //-------------------------------------------------

    // @desc creation date of the file (format: 2003-05-29T00:03:07+0200)

    // @var string

    // @access private

    //-------------------------------------------------

    var $date;



    //-------------------------------------------------

    // iso format language

    //-------------------------------------------------

    // @desc iso format language

    // @var string

    // @access private

    //-------------------------------------------------

    var $language;



    //-------------------------------------------------

    // copyrights for the rss stream

    //-------------------------------------------------

    // @desc copyrights for the rss stream

    // @var string

    // @access private

    //-------------------------------------------------

    var $rights;



    //-------------------------------------------------

    // URL to an small image

    //-------------------------------------------------

    // @desc URL to an small image

    // @var string

    // @access private

    //-------------------------------------------------

    var $image_link;



    //-------------------------------------------------

    // spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity)

    //-------------------------------------------------

    // @desc spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity)

    // @var string

    // @access private

    //-------------------------------------------------

    var $coverage;



    //-------------------------------------------------

    // person, an organization, or a service

    //-------------------------------------------------

    // @desc person, an organization, or a service

    // @var string

    // @access private

    //-------------------------------------------------

    var $contributor;



    //-------------------------------------------------

    // 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'

    //-------------------------------------------------

    // @desc 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'

    // @var string

    // @access private

    //-------------------------------------------------

    var $period;



    //-------------------------------------------------

    // every X hours/days/weeks/...

    //-------------------------------------------------

    // @desc every X hours/days/weeks/...

    // @var int

    // @access private

    //-------------------------------------------------

    var $frequency;



    //-------------------------------------------------

    // date (format: 2003-05-29T00:03:07+0200)

    //-------------------------------------------------

    // Defines a base date to be used in concert with updatePeriod and

    // updateFrequency to calculate the publishing schedule.

    //-------------------------------------------------

    // @desc base date to calculate from (format: 2003-05-29T00:03:07+0200)

    // @var string

    // @access private

    //-------------------------------------------------

    var $base;



    //-------------------------------------------------

    // category (rss 2.0)

    //-------------------------------------------------

    // @desc category (rss 2.0)

    // @var string

    // @access private

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    var $category;



    //-------------------------------------------------

    // caching time in minutes (rss 2.0)

    //-------------------------------------------------

    // @desc caching time in minutes (rss 2.0)

    // @var int

    // @access private

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    var $cache;



    //-------------------------------------------------

    // array wich all the rss items

    //-------------------------------------------------

    // @desc array wich all the rss items

    // @var array

    // @access private

    //-------------------------------------------------

    var $items = array();



    //-------------------------------------------------

    // compiled outputstring

    //-------------------------------------------------

    // @desc compiled outputstring

    // @var string

    // @access private

    //-------------------------------------------------

    var $output;



    //-------------------------------------------------

    // use DC data

    //-------------------------------------------------

    // @desc use DC data

    // @var boolean

    // @access private

    //-------------------------------------------------

    var $use_dc_data = false;



    //-------------------------------------------------

    // use SY data

    //-------------------------------------------------

    // @desc use SY data

    // @var boolean

    // @access private

    //-------------------------------------------------

    var $use_sy_data = false;



    /*-----------------------*/

    /* C O N S T R U C T O R */

    /*-----------------------*/



    //-------------------------------------------------

    // Constructor

    //-------------------------------------------------

    // @desc Constructor

    // @param (string) $encoding  encoding of the xml file

    // @param (string) $about  URL where the RSS document will be made available

    // @param (string) $title

    // @param (string) $description

    // @param (string) $image_link  URL

    // @return (void)

    // @uses setEncoding(), setAbout(), setTitle(), setDescription(), setImageLink(), setCategory(), setCache()

    // @access private

    //-------------------------------------------------

    function RSSBuilder($encoding = '',

                        $about = '',

                        $title = '',

                        $description = '',

                        $image_link = '',

                        $category = '',

                        $cache = '') {

        $this->setEncoding($encoding);

        $this->setAbout($about);

        $this->setTitle($title);

        $this->setDescription($description);

        $this->setImageLink($image_link);

        $this->setCategory($category);

        $this->setCache($cache);

    } // end constructor



    /*-----------------------------------------------------------------------*/

    /* F U N C T I O N S */

    /*-----------------------------------------------------------------------*/



    //-------------------------------------------------

    // add additional DC data

    //-------------------------------------------------

    // @desc add additional DC data

    // @param (string) $publisher person, an organization, or a service

    // @param (string) $creator person, an organization, or a service

    // @param (string) $date  format: 2003-05-29T00:03:07+0200

    // @param (string) $language  iso-format

    // @param (string) $rights  copyright information

    // @param (string) $coverage  spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity)

    // @param (string) $contributor  person, an organization, or a service

    // @return (void)

    // @uses setPublisher(), setCreator(), setDate(), setLanguage(), setRights(), setCoverage(), setContributor()

    // @access public

    //-------------------------------------------------

    function addDCdata($publisher = '',

                        $creator = '',

                        $date = '',

                        $language = '',

                        $rights = '',

                        $coverage = '',

                        $contributor = '') {

        $this->setPublisher($publisher);

        $this->setCreator($creator);

        $this->setDate($date);

        $this->setLanguage($language);

        $this->setRights($rights);

        $this->setCoverage($coverage);

        $this->setContributor($contributor);

        $this->use_dc_data = (boolean) true;

    } // end function



    //-------------------------------------------------

    // add additional SY data

    //-------------------------------------------------

    // @desc add additional DC data

    // @param (string) $period  'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'

    // @param (int) $frequency  every x hours/days/weeks/...

    // @param (string) $base  format: 2003-05-29T00:03:07+0200

    // @return (void)

    // @uses setPeriod(), setFrequency(), setBase()

    // @access public

    //-------------------------------------------------

    function addSYdata($period = '', $frequency = '', $base = '') {

        $this->setPeriod($period);

        $this->setFrequency($frequency);

        $this->setBase($base);

        $this->use_sy_data = (boolean) true;

    } // end function



    //-------------------------------------------------

    // Checks if a given string is a valid iso-language-code

    //-------------------------------------------------

    // @desc Checks if a given string is a valid iso-language-code

    // @param (string) $code  String that should validated

    // @return (boolean) $isvalid  If string is valid or not

    // @access public

    // @static

    //-------------------------------------------------

    function isValidLanguageCode($code = '') {

        return (boolean) ((preg_match('(^([a-zA-Z]{2})$)',$code) > 0) ? true : false);

    } // end function



    //-------------------------------------------------

    // Sets $encoding variable

    //-------------------------------------------------

    // @desc Sets $encoding variable

    // @param (string) $encoding  encoding of the xml file

    // @return (void)

    // @access private

    // @see $encoding

    //-------------------------------------------------

    function setEncoding($encoding = '') {

        if (!isset($this->encoding)) {

            $this->encoding = (string) ((strlen(trim($encoding)) > 0) ? trim($encoding) : 'UTF-8');

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $about variable

    //-------------------------------------------------

    // @desc Sets $about variable

    // @param (string) $about

    // @return (void)

    // @access private

    // @see $about

    //-------------------------------------------------

    function setAbout($about = '') {

        if (!isset($this->about) && strlen(trim($about)) > 0) {

            $this->about = (string) trim($about);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $title variable

    //-------------------------------------------------

    // @desc Sets $title variable

    // @param (string) $title

    // @return (void)

    // @access private

    // @see $title

    //-------------------------------------------------

    function setTitle($title = '') {

        if (!isset($this->title) && strlen(trim($title)) > 0) {

            $this->title = (string) trim($title);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $description variable

    //-------------------------------------------------

    // @desc Sets $description variable

    // @param (string) $description

    // @return (void)

    // @access private

    // @see $description

    //-------------------------------------------------

    function setDescription($description = '') {

        if (!isset($this->description) && strlen(trim($description)) > 0) {

            $this->description = (string) trim($description);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $publisher variable

    //-------------------------------------------------

    // @desc Sets $publisher variable

    // @param (string) $publisher

    // @return (void)

    // @access private

    // @see $publisher

    //-------------------------------------------------

    function setPublisher($publisher = '') {

        if (!isset($this->publisher) && strlen(trim($publisher)) > 0) {

            $this->publisher = (string) trim($publisher);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $creator variable

    //-------------------------------------------------

    // @desc Sets $creator variable

    // @param (string) $creator

    // @return (void)

    // @access private

    // @see $creator

    //-------------------------------------------------

    function setCreator($creator = '') {

        if (!isset($this->creator) && strlen(trim($creator)) > 0) {

            $this->creator = (string) trim($creator);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $date variable

    //-------------------------------------------------

    // @desc Sets $date variable

    // @param (string) $date  format: 2003-05-29T00:03:07+0200

    // @return (void)

    // @access private

    // @see $date

    //-------------------------------------------------

    function setDate($date = '') {

        if (!isset($this->date) && strlen(trim($date)) > 0) {

            $this->date = (string) trim($date);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $language variable

    //-------------------------------------------------

    // @desc Sets $language variable

    // @param (string) $language

    // @return (void)

    // @access private

    // @see $language

    // @uses isValidLanguageCode()

    //-------------------------------------------------

    function setLanguage($language = '') {

        if (!isset($this->language) && $this->isValidLanguageCode($language) === true) {

            $this->language = (string) trim($language);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $rights variable

    //-------------------------------------------------

    // @desc Sets $rights variable

    // @param (string) $rights

    // @return (void)

    // @access private

    // @see $rights

    //-------------------------------------------------

    function setRights($rights = '') {

        if (!isset($this->rights) && strlen(trim($rights)) > 0) {

            $this->rights = (string) trim($rights);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $coverage variable

    //-------------------------------------------------

    // @desc Sets $coverage variable

    // @param (string) $coverage

    // @return (void)

    // @access private

    // @see $coverage

    //-------------------------------------------------

    function setCoverage($coverage = '') {

        if (!isset($this->coverage) && strlen(trim($coverage)) > 0) {

            $this->coverage = (string) trim($coverage);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $contributor variable

    //-------------------------------------------------

    // @desc Sets $contributor variable

    // @param (string) $contributor

    // @return (void)

    // @access private

    // @see $contributor

    //-------------------------------------------------

    function setContributor($contributor = '') {

        if (!isset($this->contributor) && strlen(trim($contributor)) > 0) {

            $this->contributor = (string) trim($contributor);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $image_link variable

    //-------------------------------------------------

    // @desc Sets $image_link variable

    // @param (string) $image_link

    // @return (void)

    // @access private

    // @see $image_link

    //-------------------------------------------------

    function setImageLink($image_link = '') {

        if (!isset($this->image_link) && strlen(trim($image_link)) > 0) {

            $this->image_link = (string) trim($image_link);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $period variable

    //-------------------------------------------------

    // @desc Sets $period variable

    // @param (string) $period  'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'

    // @return (void)

    // @access private

    // @see $period

    //-------------------------------------------------

    function setPeriod($period = '') {

        if (!isset($this->period) && strlen(trim($period)) > 0) {

            switch ($period) {

                case 'hourly':

                case 'daily':

                case 'weekly':

                case 'monthly':

                case 'yearly':

                    $this->period = (string) trim($period);

                    break;

                default:

                    $this->period = (string) '';

                    break;

            } // end switch

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $frequency variable

    //-------------------------------------------------

    // @desc Sets $frequency variable

    // @param (int) $frequency

    // @return (void)

    // @access private

    // @see $frequency

    //-------------------------------------------------

    function setFrequency($frequency = '') {

        if (!isset($this->frequency) && strlen(trim($frequency)) > 0) {

            $this->frequency = (int) $frequency;

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $base variable

    //-------------------------------------------------

    // @desc Sets $base variable

    // @param (string) $base

    // @return (void)

    // @access private

    // @see $base

    //-------------------------------------------------

    function setBase($base = '') {

        if (!isset($this->base) && strlen(trim($base)) > 0) {

            $this->base = (string) trim($base);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $category variable

    //-------------------------------------------------

    // @desc Sets $category variable

    // @param (string) $category

    // @return (void)

    // @access private

    // @see $category

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function setCategory($category = '') {

        if (strlen(trim($category)) > 0) {

            $this->category = (string) trim($category);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $cache variable

    //-------------------------------------------------

    // @desc Sets $cache variable

    // @param (int) $cache

    // @return (void)

    // @access private

    // @see $cache

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function setCache($cache = '') {

        if (strlen(trim($cache)) > 0) {

            $this->cache = (int) $cache;

        } // end if

    } // end function



    //-------------------------------------------------

    // Returns $encoding variable

    //-------------------------------------------------

    // @desc Returns $encoding variable

    // @return (string) $encoding

    // @access public

    // @see $image_link

    //-------------------------------------------------

    function getEncoding() {

        return (string) $this->encoding;

    } // end function



    //-------------------------------------------------

    // Returns $about variable

    //-------------------------------------------------

    // @desc Returns $about variable

    // @return (string) $about

    // @access public

    // @see $about

    //-------------------------------------------------

    function getAbout() {

        return (string) $this->about;

    } // end function



    //-------------------------------------------------

    // Returns $title variable

    //-------------------------------------------------

    // @desc Returns $title variable

    // @return (string) $title

    // @access public

    // @see $title

    //-------------------------------------------------

    function getTitle() {

        return (string) $this->title;

    } // end function



    //-------------------------------------------------

    // Returns $description variable

    //-------------------------------------------------

    // @desc Returns $description variable

    // @return (string) $description

    // @access public

    // @see $description

    //-------------------------------------------------

    function getDescription() {

        return (string) $this->description;

    } // end function



    //-------------------------------------------------

    // Returns $publisher variable

    //-------------------------------------------------

    // @desc Returns $publisher variable

    // @return (string) $publisher

    // @access public

    // @see $publisher

    //-------------------------------------------------

    function getPublisher() {

        return (string) $this->publisher;

    } // end function



    //-------------------------------------------------

    // Returns $creator variable

    //-------------------------------------------------

    // @desc Returns $creator variable

    // @return (string) $creator

    // @access public

    // @see $creator

    //-------------------------------------------------

    function getCreator() {

        return (string) $this->creator;

    } // end function



    //-------------------------------------------------

    // Returns $date variable

    //-------------------------------------------------

    // @desc Returns $date variable

    // @return (string) $date

    // @access public

    // @see $date

    //-------------------------------------------------

    function getDate() {

        return (string) $this->date;

    } // end function



    //-------------------------------------------------

    // Returns $language variable

    //-------------------------------------------------

    // @desc Returns $language variable

    // @return (string) $language

    // @access public

    // @see $language

    //-------------------------------------------------

    function getLanguage() {

        return (string) $this->language;

    } // end function



    //-------------------------------------------------

    // Returns $rights variable

    //-------------------------------------------------

    // @desc Returns $rights variable

    // @return (string) $rights

    // @access public

    // @see $rights

    //-------------------------------------------------

    function getRights() {

        return (string) $this->rights;

    } // end function



    //-------------------------------------------------

    // Returns $coverage variable

    //-------------------------------------------------

    // @desc Returns $coverage variable

    // @return (string) $coverage

    // @access public

    // @see $coverage

    //-------------------------------------------------

    function getCoverage() {

        return (string) $this->coverage;

    } // end function



    //-------------------------------------------------

    // Returns $contributor variable

    //-------------------------------------------------

    // @desc Returns $contributor variable

    // @return (string) $contributor

    // @access public

    // @see $contributor

    //-------------------------------------------------

    function getContributor() {

        return (string) $this->contributor;

    } // end function



    //-------------------------------------------------

    // Returns $image_link variable

    //-------------------------------------------------

    // @desc Returns $image_link variable

    // @return (string) $image_link

    // @access public

    // @see $image_link

    //-------------------------------------------------

    function getImageLink() {

        return (string) $this->image_link;

    } // end function



    //-------------------------------------------------

    // Returns $period variable

    //-------------------------------------------------

    // @desc Returns $period variable

    // @return (string) $period

    // @access public

    // @see $period

    //-------------------------------------------------

    function getPeriod() {

        return (string) $this->period;

    } // end function



    //-------------------------------------------------

    // Returns $frequency variable

    //-------------------------------------------------

    // @desc Returns $frequency variable

    // @return (string) $frequency

    // @access public

    // @see $frequency

    //-------------------------------------------------

    function getFrequency() {

        return (int) $this->frequency;

    } // end function



    //-------------------------------------------------

    // Returns $base variable

    //-------------------------------------------------

    // @desc Returns $base variable

    // @return (string) $base

    // @access public

    // @see $base

    //-------------------------------------------------

    function getBase() {

        return (string) $this->base;

    } // end function



    //-------------------------------------------------

    // Returns $category variable

    //-------------------------------------------------

    // @desc Returns $category variable

    // @return (string) $category

    // @access public

    // @see $category

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function getCategory() {

        return (string) $this->category;

    } // end function



    //-------------------------------------------------

    // Returns $cache variable

    //-------------------------------------------------

    // @desc Returns $cache variable

    // @return (int) $cache

    // @access public

    // @see $cache

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function getCache() {

        return (int) $this->cache;

    } // end function



    //-------------------------------------------------

    // Adds another rss item to the object

    //-------------------------------------------------

    // @desc Adds another rss item to the object

    // @param (string) $about  URL

    // @param (string) $title

    // @param (string) $link  URL

    // @param (string) $description (optional)

    // @param (string) $subject  some sort of category (optional dc value - only shows up if DC data has been set before)

    // @param (string) $date  format: 2003-05-29T00:03:07+0200 (optional dc value - only shows up if DC data has been set before)

    // @return (void)

    // @access public

    // @see $items

    // @uses RSSItem

    //-------------------------------------------------

    function addItem($about = '',

                    $title = '',

                    $link = '',

                    $description = '',

                    $subject = '',

                    $date = '',

                    $author = '',

                    $comments = '')

    {

        $item = new RSSItem($about,

                            $title,

                            $link,

                            $description,

                            $subject,

                            $date,

                            $author = '',

                            $comments = '');

        $this->items[] = $item;

    } // end function



    //-------------------------------------------------

    // Deletes a rss item from the array

    //-------------------------------------------------

    // @desc Deletes a rss item from the array

    // @param (int) $id  id of the element in the $items array

    // @return (boolean) true if item was deleted

    // @access public

    // @see $items

    //-------------------------------------------------

    function deleteItem($id = -1) {

        if (array_key_exists($id, $this->items)) {

            unset($this->items[$id]);

            return (boolean) true;

        } else {

            return (boolean) false;

        } // end if

    } // end function



    //-------------------------------------------------

    // Returns an array with all the keys of the $items array

    //-------------------------------------------------

    // @desc Returns an array with all the keys of the $items array

    // @return (array) array with all the keys of the $items array

    // @access public

    // @see $items

    //-------------------------------------------------

    function getItemList() {

        return (array) array_keys($this->items);

    } // end function



    //-------------------------------------------------

    // Returns the $items array

    //-------------------------------------------------

    // @desc Returns the $items array

    // @return (array) $items

    // @access public

    //-------------------------------------------------

    function getItems() {

        return (array) $this->items;

    } // end function



    //-------------------------------------------------

    // Returns a single rss item by ID

    //-------------------------------------------------

    // @desc Returns a single rss item by ID

    // @param (int) $id  id of the element in the $items array

    // @return (mixed) RSSItem or false

    // @access public

    // @see RSSItem

    //-------------------------------------------------

    function getItem($id = -1) {

        if (array_key_exists($id, $this->items)) {

            return (object) $this->items[$id];

        } else {

            return (boolean) false;

        } // end if

    } // end function



    //-------------------------------------------------

    // creates the output based on the 0.91 rss version

    //-------------------------------------------------

    // @desc creates the output based on the 0.91 rss version

    // @return (void)

    // @access private

    // @see $output

    //-------------------------------------------------

    function createOutputV090() {

        // not implemented

        $this->createOutputV100();

    } // end function



    //-------------------------------------------------

    // creates the output based on the 0.91 rss version

    //-------------------------------------------------

    // @desc creates the output based on the 0.91 rss version

    // @return (void)

    // @access private

    // @see $output

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function createOutputV091() {

        $this->output  = (string) '<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">' . "\n";

        $this->output .= (string) '<rss version="0.91">' . "\n";

        $this->output .= (string) '<channel>' . "\n";



        if (strlen($this->rights) > 0) {

            $this->output .= (string) '<copyright>' . $this->rights . '</copyright>' . "\n";

        } // end if



        if (strlen($this->date) > 0) {

            $this->output .= (string) '<pubDate>' .$this->date . '</pubDate>' . "\n";

            $this->output .= (string) '<lastBuildDate>' .$this->date . '</lastBuildDate>' . "\n";

        } // end if



        if (strlen($this->about) > 0) {

            $this->output .= (string) '<docs>' . $this->about . '</docs>' . "\n";

        } // end if



        if (strlen($this->description) > 0) {

            $this->output .= (string) '<description>' . $this->description . '</description>' . "\n";

        } // end if



        if (strlen($this->about) > 0) {

            $this->output .= (string) '<link>' . $this->about . '</link>' . "\n";

        } // end if



        if (strlen($this->title) > 0) {

            $this->output .= (string) '<title>' . $this->title . '</title>' . "\n";

        } // end if



        if (strlen($this->image_link) > 0) {

            $this->output .= (string) '<image>' . "\n";

            $this->output .= (string) '<title>' . $this->title . '</title>' . "\n";

            $this->output .= (string) '<url>' . $this->image_link . '</url>' . "\n";

            $this->output .= (string) '<link>' . $this->about . '</link>' . "\n";

            if (strlen($this->description) > 0) {

                $this->output .= (string) '<description>' . $this->description . '</description>' . "\n";

            } // end if

            $this->output .= (string) '</image>' . "\n";

        } // end if



        if (strlen($this->publisher) > 0) {

            $this->output .= (string) '<managingEditor>' . $this->publisher . '</managingEditor>' . "\n";

        } // end if



        if (strlen($this->creator) > 0) {

            $this->output .= (string) '<webMaster>' . $this->creator . '</webMaster>' . "\n";

        } // end if



        if (strlen($this->language) > 0) {

            $this->output .= (string) '<language>' . $this->language . '</language>' . "\n";

        } // end if



        if (count($this->getItemList()) > 0) {

            foreach ($this->getItemList() AS $id) {

                $item =& $this->items[$id];



                if (strlen($item->getTitle()) > 0 && strlen($item->getLink()) > 0) {

                    $this->output .= (string) '<item>' . "\n";

                    $this->output .= (string) '<title>' . $item->getTitle() . '</title>' . "\n";

                    $this->output .= (string) '<link>' . $item->getLink() . '</link>' . "\n";

                    if (strlen($item->getDescription()) > 0) {

                        $this->output .= (string) '<description>' . $item->getDescription() . '</description>' . "\n";

                    } // end if

                    $this->output .= (string) '</item>' . "\n";

                } // end if

            } // end foreach

        } // end if



        $this->output .= (string) '</channel>' . "\n";

        $this->output .= (string) '</rss>' . "\n";

    } // end function



    //-------------------------------------------------

    // creates the output based on the 1.0 rss version

    //-------------------------------------------------

    // @desc creates the output based on the 1.0 rss version

    // @return (void)

    // @access private

    // @see $output

    //-------------------------------------------------

    function createOutputV100() {

        $this->output  = (string) '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ';



        if ($this->use_dc_data === true) {

            $this->output .= (string) 'xmlns:dc="http://purl.org/dc/elements/1.1/" ';

        } // end if



        if ($this->use_sy_data === true) {

            $this->output .= (string) 'xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" ';

        } // end if



        $this->output .= (string) 'xmlns="http://purl.org/rss/1.0/">' . "\n";



        if (strlen($this->about) > 0) {

            $this->output .= (string) '<channel rdf:about="' . $this->about . '">' . "\n";

        } else {

            $this->output .= (string) '<channel>' . "\n";

        } // end if



        if (strlen($this->title) > 0) {

            $this->output .= (string) '<title>' . $this->title . '</title>' . "\n";

        } // end if



        if (strlen($this->about) > 0) {

            $this->output .= (string) '<link>' . $this->about . '</link>' . "\n";

        } // end if



        if (strlen($this->description) > 0) {

            $this->output .= (string) '<description>' . $this->description . '</description>' . "\n";

        } // end if



        // additional dc data

        if (strlen($this->publisher) > 0) {

            $this->output .= (string) '<dc:publisher>' . $this->publisher . '</dc:publisher>' . "\n";

        } // end if



        if (strlen($this->creator) > 0) {

            $this->output .= (string) '<dc:creator>' . $this->creator . '</dc:creator>' . "\n";

        } // end if



        if (strlen($this->date) > 0) {

            $this->output .= (string) '<dc:date>' .$this->date . '</dc:date>' . "\n";

        } // end if



        if (strlen($this->language) > 0) {

            $this->output .= (string) '<dc:language>' . $this->language . '</dc:language>' . "\n";

        } // end if



        if (strlen($this->rights) > 0) {

            $this->output .= (string) '<dc:rights>' . $this->rights . '</dc:rights>' . "\n";

        } // end if



        if (strlen($this->coverage) > 0) {

            $this->output .= (string) '<dc:coverage>' . $this->coverage . '</dc:coverage>' . "\n";

        } // end if



        if (strlen($this->contributor) > 0) {

            $this->output .= (string) '<dc:contributor>' . $this->contributor . '</dc:contributor>' . "\n";

        } // end if



        // additional SY data

        if (strlen($this->period) > 0) {

            $this->output .= (string) '<sy:updatePeriod>' . $this->period . '</sy:updatePeriod>' . "\n";

        } // end if



        if (strlen($this->frequency) > 0) {

            $this->output .= (string) '<sy:updateFrequency>' . $this->frequency . '</sy:updateFrequency>' . "\n";

        } // end if



        if (strlen($this->base) > 0) {

            $this->output .= (string) '<sy:updateBase>' . $this->base . '</sy:updateBase>' . "\n";

        } // end if



        if (strlen($this->image_link) > 0) {

            $this->output .= (string) '<image rdf:resource="' . $this->image_link . '" />' . "\n";

        } // end if



        if (strlen($this->image_link) > 0) {

            $this->output .= (string) '<image rdf:about="' . $this->image_link . '">' . "\n";

            $this->output .= (string) '<title>' . $this->title . '</title>' . "\n";

            $this->output .= (string) '<url>' . $this->image_link . '</url>' . "\n";

            $this->output .= (string) '<link>' . $this->about . '</link>' . "\n";

            if (strlen($this->description) > 0) {

                $this->output .= (string) '<description>' . $this->description . '</description>' . "\n";

            } // end if

            $this->output .= (string) '</image>' . "\n";

        } // end if



        if (count($this->getItemList()) > 0) {

            $this->output .= (string) '<items><rdf:Seq>' . "\n";

            foreach ($this->getItemList() as $id) {

                $item =& $this->items[$id];

                if (strlen($item->getAbout()) > 0) {

                    $this->output .= (string) ' <rdf:li resource="' . $item->getAbout() . '" />' . "\n";

                } // end if

            } // end foreach

            $this->output .= (string) '</rdf:Seq></items>' . "\n";

        } // end if

        $this->output .= (string) '</channel>' . "\n";



        if (count($this->getItemList()) > 0) {

            foreach ($this->getItemList() as $id) {

                $item =& $this->items[$id];



                if (strlen($item->getTitle()) > 0 && strlen($item->getLink()) > 0) {

                    if (strlen($item->getAbout()) > 0) {

                        $this->output .= (string) '<item rdf:about="' . $item->getAbout() . '">' . "\n";

                    } else {

                        $this->output .= (string) '<item>' . "\n";

                    } // end if



                    $this->output .= (string) '<title>' . $item->getTitle() . '</title>' . "\n";

                    $this->output .= (string) '<link>' . $item->getLink() . '</link>' . "\n";



                    if (strlen($item->getDescription()) > 0) {

                        $this->output .= (string) '<description>' . $item->getDescription() . '</description>' . "\n";

                    } // end if



                    if ($this->use_dc_data === true && strlen($item->getSubject()) > 0) {

                        $this->output .= (string) '<dc:subject>' . $item->getSubject() . '</dc:subject>' . "\n";

                    } // end if



                    if ($this->use_dc_data === true && strlen($item->getDate()) > 0) {

                        $this->output .= (string) '<dc:date>' . $item->getDate() . '</dc:date>' . "\n";

                    } // end if



                    $this->output .= (string) '</item>' . "\n";

                } // end if

            } // end foreach

        } // end if



        $this->output .= (string) '</rdf:RDF>';

    } // end function



    //-------------------------------------------------

    // creates the output based on the 2.0 rss draft

    //-------------------------------------------------

    // @desc creates the output based on the 0.91 rss draft

    // @return (void)

    // @access private

    // @see $output

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function createOutputV200() {

        // not implemented

        $this->createOutputV100();

        //---------------------

        $this->output  = (string) '<rss version="2.0">' . "\n";

        $this->output .= (string) '<channel>' . "\n";



        if (strlen($this->rights) > 0) {

            $this->output .= (string) '<copyright>' . $this->rights . '</copyright>' . "\n";

        } // end if



        if (strlen($this->date) > 0) {

            $this->output .= (string) '<pubDate>' .$this->date . '</pubDate>' . "\n";

            //xuanyan 2007.5.8 edit

            //$this->output .= (string) '<lastBuildDate>' .$this->date . '</lastBuildDate>' . "\n";

        } // end if



        if (strlen($this->about) > 0) {

            $this->output .= (string) '<docs>' . $this->about . '</docs>' . "\n";

        } // end if



        if (strlen($this->description) > 0) {

            $this->output .= (string) '<description>' . $this->description . '</description>' . "\n";

        } // end if



        if (strlen($this->about) > 0) {

            $this->output .= (string) '<link>' . $this->about . '</link>' . "\n";

        } // end if



        if (strlen($this->title) > 0) {

            $this->output .= (string) '<title>' . $this->title . '</title>' . "\n";

        } // end if



        if (strlen($this->image_link) > 0) {

            $this->output .= (string) '<image>' . "\n";

            $this->output .= (string) '<title>' . $this->title . '</title>' . "\n";

            $this->output .= (string) '<url>' . $this->image_link . '</url>' . "\n";

            $this->output .= (string) '<link>' . $this->about . '</link>' . "\n";

            if (strlen($this->description) > 0) {

                $this->output .= (string) '<description>' . $this->description . '</description>' . "\n";

            } // end if

            $this->output .= (string) '</image>' . "\n";

        } // end if



        if (strlen($this->publisher) > 0) {

            $this->output .= (string) '<managingEditor>' . $this->publisher . '</managingEditor>' . "\n";

        } // end if



        if (strlen($this->creator) > 0) {

            //xuanyan 2007.5.8 edit

            //$this->output .= (string) '<webMaster>' . $this->creator . '</webMaster>' . "\n";

            $this->output .= (string) '<generator>' . $this->creator . '</generator>' . "\n";

        } // end if



        if (strlen($this->language) > 0) {

            $this->output .= (string) '<language>' . $this->language . '</language>' . "\n";

        } // end if



        if (strlen($this->category) > 0) {

            $this->output .= (string) '<category>' . $this->category . '</category>' . "\n";

        } // end if



        if (strlen($this->cache) > 0) {

            $this->output .= (string) '<ttl>' . $this->cache . '</ttl>' . "\n";

        } // end if



        if (count($this->getItemList()) > 0) {

            foreach ($this->getItemList() as $id) {

                $item =& $this->items[$id];



                if (strlen($item->getTitle()) > 0 && strlen($item->getLink()) > 0) {

                    $this->output .= (string) '<item>' . "\n";

                    $this->output .= (string) '<title>' . $item->getTitle() . '</title>' . "\n";

                    $this->output .= (string) '<link>' . $item->getLink() . '</link>' . "\n";



                    if (strlen($item->getDescription()) > 0) {

                        $this->output .= (string) '<description>' . $item->getDescription() . '</description>' . "\n";

                    } // end if



                    if ($this->use_dc_data === true && strlen($item->getSubject()) > 0) {

                        $this->output .= (string) '<category>' . $item->getSubject() . '</category>' . "\n";

                    } // end if



                    if ($this->use_dc_data === true && strlen($item->getDate()) > 0) {

                        $this->output .= (string) '<pubDate>' . $item->getDate() . '</pubDate>' . "\n";

                    } // end if



                    if (strlen($item->getAbout()) > 0) {

                        $this->output .= (string) '<guid>' . $item->getAbout() . '</guid>' . "\n";

                    } // end if



                    if (strlen($item->getAuthor()) > 0) {

                        $this->output .= (string) '<author>' . $item->getAuthor() . '</author>' . "\n";

                    } // end if



                    if (strlen($item->getComments()) > 0) {

                        $this->output .= (string) '<comments>' . $item->getComments() . '</comments>' . "\n";

                    } // end if



                    $this->output .= (string) '</item>' . "\n";

                } // end if

            } // end foreach

        } // end if



        $this->output .= (string) '</channel>' . "\n";

        $this->output .= (string) '</rss>' . "\n";

    } // end function



    //-------------------------------------------------

    // creates the output

    //-------------------------------------------------

    // @desc creates the output

    // @return (void)

    // @access private

    // @uses createOutputV100()

    //-------------------------------------------------

    function createOutput($version = '') {

        if (strlen(trim($version)) === 0) {

            $version = (string) '1.0';

        } // end if



        switch ($version) {

            case '0.9':

                $this->createOutputV090();

                break;

            case '0.91':

                $this->createOutputV091();

                break;

            case '2.00':

                $this->createOutputV200();

                break;

            case '1.0':

            default:

                $this->createOutputV100();

                break;

        } // end switch

    } // end function



    //-------------------------------------------------

    // echos the output

    //-------------------------------------------------

    // use this function if you want to directly output the rss stream

    //-------------------------------------------------

    // @desc echos the output

    // @return (void)

    // @access public

    // @uses createOutput()

    //-------------------------------------------------

    function outputRSS($version = '') {

        if (!isset($this->output)) {

            $this->createOutput($version);

        } // end if

//        header('Content-Disposition: inline; filename=rss_' . str_replace(' ', '', $this->title) . '.xml');

        $this->output = '<' . '?xml version="1.0" encoding="' . $this->encoding . '"?' .'>' . "\n" .

                        '<!--  RSS generated by ECSHOP (http://www.ecshop.com) [' .  date('Y-m-d H:i:s')  .']  -->' . "\n" . $this->output;

        echo $this->output;

    } // end function



    //-------------------------------------------------

    // returns the output

    //-------------------------------------------------

    // use this function if you want to have the output stream as a string (for example to write it in a cache file)

    //-------------------------------------------------

    // @desc returns the output

    // @return (void)

    // @access public

    // @uses createOutput()

    //-------------------------------------------------

    function getRSSOutput($version = '') {

        if (!isset($this->output)) {

            $this->createOutput($version);

        } // end if



        return (string) '<' . '?xml version="1.0" encoding="' . $this->encoding . '"?' . '>' . "\n" .

                        '<!--  RSS generated by ' .APP_NAME. ' ' .APP_VERSION. ' [' .  date('Y-m-d H:i:s')  .']  --> ' . "\n" . $this->output;

    } // end function

} // end class RSSBuilder



//---------------------------------------------------------------------------



/*-----------------------------------------------------------------------*/

// single rss item object

//-------------------------------------------------

// Tested with WAMP (XP-SP1/1.3.24/4.0.12/4.3.0)

// Last change: 2003-05-30

//-------------------------------------------------

// @desc single rss item object

// @access private

// @author Michael Wimmer <flaimo@gmx.net>

// @copyright Michael Wimmer

// @link http://www.flaimo.com/

// @package RSSBuilder

// @category FLP

// @version 1.001

/*-----------------------------------------------------------------------*/

class RSSItem extends RSSBase

{

    /*-----------------------------------------------------------------------*/

    /* V A R I A B L E S */

    /*-----------------------------------------------------------------------*/



    //-------------------------------------------------

    // URL

    //-------------------------------------------------

    // @desc URL

    // @var string

    // @access private

    //-------------------------------------------------

    var $about;



    //-------------------------------------------------

    // headline

    //-------------------------------------------------

    // @desc headline

    // @var string

    // @access private

    //-------------------------------------------------

    var $title;



    //-------------------------------------------------

    // URL to the full item

    //-------------------------------------------------

    // @desc URL to the full item

    // @var string

    // @access private

    //-------------------------------------------------

    var $link;



    //-------------------------------------------------

    // optional description

    //-------------------------------------------------

    // @desc optional description

    // @var string

    // @access private

    //-------------------------------------------------

    var $description;



    //-------------------------------------------------

    // optional subject (category)

    //-------------------------------------------------

    // @desc optional subject (category)

    // @var string

    // @access private

    //-------------------------------------------------

    var $subject;



    //-------------------------------------------------

    // optional date

    //-------------------------------------------------

    // @desc optional date

    // @var string

    // @access private

    //-------------------------------------------------

    var $date;



    //-------------------------------------------------

    // author of item

    //-------------------------------------------------

    // @desc author of item

    // @var string

    // @access private

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    var $author;



    //-------------------------------------------------

    // url to comments page (rss 2.0)

    //-------------------------------------------------

    // @desc url to comments page (rss 2.0)

    // @var string

    // @access private

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    var $comments;



    /*-----------------------*/

    /* C O N S T R U C T O R */

    /*-----------------------*/



    //-------------------------------------------------

    // Constructor

    //-------------------------------------------------

    // @desc Constructor

    // @param (string) $about  URL

    // @param (string) $title

    // @param (string) $link  URL

    // @param (string) $description (optional)

    // @param (string) $subject  some sort of category (optional)

    // @param (string) $date  format: 2003-05-29T00:03:07+0200 (optional)

    // @return (void)

    // @uses setAbout(), setTitle(), setLink(), setDescription(), setSubject(), setDate(), setAuthor(), setComments()

    // @access private

    //-------------------------------------------------

    function RSSItem($about = '',

                    $title = '',

                    $link = '',

                    $description = '',

                    $subject = '',

                    $date = '',

                    $author = '',

                    $comments = '') {

        $this->setAbout($about);

        $this->setTitle($title);

        $this->setLink($link);

        $this->setDescription($description);

        $this->setSubject($subject);

        $this->setDate($date);

        $this->setAuthor($author);

        $this->setComments($comments);

    } // end constructor



    //-------------------------------------------------

    // Sets $about variable

    //-------------------------------------------------

    // @desc Sets $about variable

    // @param (string) $about

    // @return (void)

    // @access private

    // @see $about

    //-------------------------------------------------

    function setAbout($about = '') {

        if (!isset($this->about) && strlen(trim($about)) > 0) {

            $this->about = (string) trim($about);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $title variable

    //-------------------------------------------------

    // @desc Sets $title variable

    // @param (string) $title

    // @return (void)

    // @access private

    // @see $title

    //-------------------------------------------------

    function setTitle($title = '') {

        if (!isset($this->title) && strlen(trim($title)) > 0) {

            $this->title = (string) trim($title);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $link variable

    //-------------------------------------------------

    // @desc Sets $link variable

    // @param (string) $link

    // @return (void)

    // @access private

    // @see $link

    //-------------------------------------------------

    function setLink($link = '') {

        if (!isset($this->link) && strlen(trim($link)) > 0) {

            $this->link = (string) trim($link);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $description variable

    //-------------------------------------------------

    // @desc Sets $description variable

    // @param (string) $description

    // @return (void)

    // @access private

    // @see $description

    //-------------------------------------------------

    function setDescription($description = '') {

        if (!isset($this->description) && strlen(trim($description)) > 0) {

            $this->description = (string) trim($description);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $subject variable

    //-------------------------------------------------

    // @desc Sets $subject variable

    // @param (string) $subject

    // @return (void)

    // @access private

    // @see $subject

    //-------------------------------------------------

    function setSubject($subject = '') {

        if (!isset($this->subject) && strlen(trim($subject)) > 0) {

            $this->subject = (string) trim($subject);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $date variable

    //-------------------------------------------------

    // @desc Sets $date variable

    // @param (string) $date

    // @return (void)

    // @access private

    // @see $date

    //-------------------------------------------------

    function setDate($date = '') {

        if (!isset($this->date) && strlen(trim($date)) > 0) {

            $this->date = (string) trim($date);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $author variable

    //-------------------------------------------------

    // @desc Sets $author variable

    // @param (string) $author

    // @return (void)

    // @access private

    // @see $author

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function setAuthor($author = '') {

        if (!isset($this->author) && strlen(trim($author)) > 0) {

            $this->author = (string) trim($author);

        } // end if

    } // end function



    //-------------------------------------------------

    // Sets $comments variable

    //-------------------------------------------------

    // @desc Sets $comments variable

    // @param (string) $comments

    // @return (void)

    // @access private

    // @see $comments

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function setComments($comments = '') {

        if (!isset($this->comments) && strlen(trim($comments)) > 0) {

            $this->comments = (string) trim($comments);

        } // end if

    } // end function



    //-------------------------------------------------

    // Returns $about variable

    //-------------------------------------------------

    // @desc Returns $about variable

    // @return (string) $about

    // @access public

    // @see $about

    //-------------------------------------------------

    function getAbout() {

        return (string) $this->about;

    } // end function



    //-------------------------------------------------

    // Returns $title variable

    //-------------------------------------------------

    // @desc Returns $title variable

    // @return (string) $title

    // @access public

    // @see $title

    //-------------------------------------------------

    function getTitle() {

        return (string) $this->title;

    } // end function



    //-------------------------------------------------

    // Returns $link variable

    //-------------------------------------------------

    // @desc Returns $link variable

    // @return (string) $link

    // @access public

    // @see $link

    //-------------------------------------------------

    function getLink() {

        return (string) $this->link;

    } // end function



    //-------------------------------------------------

    // Returns $description variable

    //-------------------------------------------------

    // @desc Returns $description variable

    // @return (string) $description

    // @access public

    // @see $description

    //-------------------------------------------------

    function getDescription() {

        return (string) $this->description;

    } // end function



    //-------------------------------------------------

    // Returns $subject variable

    //-------------------------------------------------

    // @desc Returns $subject variable

    // @return (string) $subject

    // @access public

    // @see $subject

    //-------------------------------------------------

    function getSubject() {

        return (string) $this->subject;

    } // end function



    //-------------------------------------------------

    // Returns $date variable

    //-------------------------------------------------

    // @desc Returns $date variable

    // @return (string) $date

    // @access public

    // @see $date

    //-------------------------------------------------

    function getDate() {

        return (string) $this->date;

    } // end function



    //-------------------------------------------------

    // Returns $author variable

    //-------------------------------------------------

    // @desc Returns $author variable

    // @return (string) $author

    // @access public

    // @see $author

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function getAuthor() {

        return (string) $this->author;

    } // end function



    //-------------------------------------------------

    // Returns $comments variable

    //-------------------------------------------------

    // @desc Returns $comments variable

    // @return (string) $comments

    // @access public

    // @see $comments

    // @since 1.001 - 2003/05/30

    //-------------------------------------------------

    function getComments() {

        return (string) $this->comments;

    } // end function

} // end class RSSItem



?>