예제 #1
0
파일: move.php 프로젝트: gudwin/extasy
 public function move($id, $to)
 {
     try {
         $aDocument = Sitemap_Sample::get($id);
         if (empty($aDocument['document_name'])) {
             throw new Exception('Requested id isn`t document');
         }
         Sitemap::updatePage($aDocument['document_name'], $aDocument['document_id'], $aDocument['name'], $aDocument['url_key'], $to);
         Sitemap::updateParentCount($aDocument['parent']);
         Sitemap::updateParentCount($to);
         // Если у переносимого документа есть дочерние элементы
         $child = Sitemap_Sample::selectChild($aDocument['id']);
         if (!empty($child)) {
             foreach ($child as $row) {
                 Sitemap_RestoreUrl::restoreOne($row['id'], $aDocument);
             }
         }
         $this->addAlert('Документ перемещен');
     } catch (Exception $e) {
         $this->addError('Ошибка при перемещении документа');
     }
     $this->jumpBack();
 }
예제 #2
0
파일: manager.php 프로젝트: gudwin/extasy
 /**
  * Восстанавливает все урлы в системе или только один, если соотв. указано
  *
  * @param $sitemapId int Индекс конкретной страницы для генерации URL
  */
 protected static function restoreUrl($sitemapId = 0)
 {
     Sitemap_RestoreUrl::restoreOne($sitemapId);
 }
예제 #3
0
 /**
  *   -------------------------------------------------------------------------------------------
  *   Загружает во внутренний кеш всю таблицу сайта
  * @return
  *   -------------------------------------------------------------------------------------------
  */
 public static function loadRows()
 {
     $sql = 'SELECT * FROM `%s` ORDER by `id` ASC ';
     $sql = sprintF($sql, SITEMAP_TABLE);
     self::$aItem = DB::query($sql);
 }