energine
[ class tree: energine ] [ index: energine ] [ all elements ]

Source for file SitemapTree.class.php

Documentation is available at SitemapTree.class.php

  1. <?php
  2.  
  3. /**
  4.  * Содержит класс SitemapTree
  5.  *
  6.  * @package energine
  7.  * @subpackage share
  8.  * @author dr.Pavka
  9.  * @copyright Energine 2006
  10.  * @version $Id$
  11.  */
  12.  
  13.  
  14. /**
  15.  * Карта сайта
  16.  *
  17.  * @package energine
  18.  * @subpackage share
  19.  * @author dr.Pavka
  20.  */
  21. class SitemapTree extends DataSet {
  22.  
  23.     /**
  24.      * Конструктор класса
  25.      *
  26.      * @param string $name 
  27.      * @param string $module 
  28.      * @param Document $document 
  29.      * @param array $params 
  30.      * @access public
  31.      */
  32.     public function __construct($name$moduleDocument $document,  array $params null{
  33.         parent::__construct($name$module$document,  $params);
  34.  
  35.     }
  36.     /**
  37.      * Загружает данные о дереве разделов
  38.      *
  39.      * @return array 
  40.      * @access protected
  41.      */
  42.  
  43.     protected function loadData({
  44.         $sitemap Sitemap::getInstance();
  45.         $res $sitemap->getInfo();
  46.         $res array_filter($rescreate_function('$element''return !$element["isFinal"];'));
  47.  
  48.         foreach ($res as $id => $info{
  49.             $result [array(
  50.                'Id' => $id,
  51.                'Pid' =>$info['Pid'],
  52.                'Name' => $info['Name'],
  53.                'Segment' => $sitemap->getURLByID($id)
  54.             );
  55.         }
  56.         return $result;
  57.     }
  58.  
  59.     /**
  60.      * Переопределяет посторитель
  61.      *
  62.      * @return void 
  63.      * @access protected
  64.      */
  65.  
  66.     protected function createBuilder({
  67.         $builder  new TreeBuilder();
  68.         $builder->setTree(Sitemap::getInstance()->getTree());
  69.         return $builder;
  70.     }
  71. }
В создании документации нам помог: phpDocumentor