Location: PHPKode > projects > Energine > energine-2.2/core2a/modules/share/components/Feed.class.php
<?php
/**
 * Содержит класс Feed
 *
 * @package energine
 * @subpackage share
 * @author dr.Pavka
 * @copyright ColoCall 2007
 * @version $Id: Feed.class.php,v 1.1 2008/04/03 09:56:15 pavka Exp $
 */

/**
 * Абстрактный класс предок для компонентов основывающихся на структуре сайта
 *
 * @package energine
 * @subpackage share
 * @abstract
 */
abstract class Feed extends DBDataSet {
    /**
     * Конструктор класса
     *
     * @param string $name
     * @param string $module
     * @param Document $document
     * @param array $params
     * @access public
     */
	public function __construct($name, $module, Document $document, array $params = null) {
        parent::__construct($name, $module, $document, $params);
        $this->setProperty('title', $this->translate('TXT_'.strtoupper($this->getName())));
        $this->setProperty('exttype', 'feed');
        $this->setParam('onlyCurrentLang', true);

	}
    /**
     * Фильтруем по разделам
     *
     * @return void
     * @access protected
     */

    protected function main() {
        $id = $this->document->getID();
        if ($this->getParam('showAll')) {
   	        $descendants = array_keys(
   	            Sitemap::getInstance()->getTree()->getNodeById($id)->getDescendants()->asList(false)
   	        );
            $id = array_merge(array($id), $descendants);
        }
        $this->setFilter(array('smap_id'=>$id));
        parent::main();
    }
    /**
     * Делаем компонент активным
     *
     * @return type
     * @access protected
     */

    protected function defineParams() {
        return array_merge(
        parent::defineParams(),
        array(
        'active' => true,
        'showAll' =>false
        )
        );
    }
}
Return current item: Energine