예제 #1
0
 /**
  * Проверяем удаляется ли из кеша
  * @expectedException SystemRegisterException
  */
 public function testCacheOnDeletedItem()
 {
     $register = new SystemRegister();
     $register->insert('AppData/test1/new_value', 'New Value');
     //
     $szValue = $register->get('AppData/test1/new_value');
     //
     $test1 = $register->get('AppData/test1');
     $register->delete('AppData/test1/new_value');
     //
     $test1->get('new_value');
 }
예제 #2
0
 /**
  * Генерирует файл сайтмапа
  */
 public static function generate()
 {
     $register = new SystemRegister('System/Sitemap');
     if ($register->get('sitemap.xml')->value == 0) {
         return;
     }
     // Получаем все url сайта
     $sql = 'SELECT * FROM `' . SITEMAP_TABLE . '` where `visible`="1"';
     $aSitemap = DB::query($sql);
     //
     $xmlDocument = new DOMDocument('1.0', 'utf-8');
     //
     $urlset = $xmlDocument->createElement('urlset');
     $urlset->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
     foreach ($aSitemap as $row) {
         $url = $xmlDocument->createElement('url');
         $loc = $xmlDocument->createElement('loc');
         $lastmod = $xmlDocument->createElement('lastmod');
         $changefreq = $xmlDocument->createElement('changefreq');
         $priority = $xmlDocument->createElement('priority');
         $loc->nodeValue = \Extasy\CMS::getWWWRoot() . substr($row['full_url'], 1);
         $lastmod->nodeValue = $row['date_updated'];
         $changefreq->nodeValue = $row['sitemap_xml_change'];
         $priority->nodeValue = $row['sitemap_xml_priority'];
         $url->appendChild($loc);
         $url->appendChild($lastmod);
         $url->appendChild($changefreq);
         $url->appendChild($priority);
         $urlset->appendChild($url);
     }
     $xmlDocument->appendChild($urlset);
     // Пишем в папку xml
     $xmlContents = $xmlDocument->saveXML();
     file_put_contents(FILE_PATH . 'sitemap.xml', $xmlContents);
 }
예제 #3
0
 public function testSetType()
 {
     $register = new SystemRegister('AppData');
     $register->test1->value1->type = 'number';
     //
     $this->assertEquals('number', $register->get('test1/value1')->type);
 }
예제 #4
0
파일: cmsForms.php 프로젝트: gudwin/extasy
 protected static function outputSitemapXML()
 {
     $register = new SystemRegister('System/Sitemap/');
     if ($register->get('sitemap.xml')->value) {
         require_once CONTROL_PATH . 'input.php';
         require_once CONTROL_PATH . 'select.php';
         //
         $priority = new CInput();
         $priority->name = 'sitemap_xml[priority]';
         $priority->value = self::$sitemap['sitemap_xml_priority'];
         $changefreq = new CSelect();
         $changefreq->items = array(array('id' => 'always', 'name' => 'Всегда'), array('id' => 'hourly', 'name' => 'Почасово'), array('id' => 'daily', 'name' => 'Ежедневно'), array('id' => 'weekly', 'name' => 'Еженедельно'), array('id' => 'monthly', 'name' => 'Ежемесячно'), array('id' => 'yearly', 'name' => 'Ежегодно'), array('id' => 'never', 'name' => 'Никогда'));
         $changefreq->name = 'sitemap_xml[change]';
         $changefreq->current = self::$sitemap['sitemap_xml_change'];
         $design = CMSDesign::getInstance();
         $design->header('Sitemap.XML');
         $design->tableBegin();
         $design->row2cell('Приоритет', $priority->generate());
         $design->row2cell('Частота', $changefreq->generate());
         $design->TableEnd();
     }
 }
예제 #5
0
파일: helper.php 프로젝트: gudwin/extasy
 /**
  * Возвращает значение указанного элемента системного реестра
  * @param $path
  * @return string
  */
 public static function getValue($path)
 {
     $register = new SystemRegister('/');
     return $register->get($path)->value;
 }
예제 #6
0
 /**
  * @expectedException SystemRegisterException
  */
 public function testfChild()
 {
     $register = new SystemRegister('/AppData');
     // Некорректный вызов
     $register->get('test1/value2');
 }