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(); }
/** * Восстанавливает все урлы в системе или только один, если соотв. указано * * @param $sitemapId int Индекс конкретной страницы для генерации URL */ protected static function restoreUrl($sitemapId = 0) { Sitemap_RestoreUrl::restoreOne($sitemapId); }
/** * ------------------------------------------------------------------------------------------- * Загружает во внутренний кеш всю таблицу сайта * @return * ------------------------------------------------------------------------------------------- */ public static function loadRows() { $sql = 'SELECT * FROM `%s` ORDER by `id` ASC '; $sql = sprintF($sql, SITEMAP_TABLE); self::$aItem = DB::query($sql); }