public function addPage($parentPageId, $address, $status = 'active') { //читаем инфу по родительской стр из бд $pageModel = new Pages($this->dbObject); $parPage = $pageModel->getPageById($parentPageId); if ($parPage['status'] == 'active') { //есть ли у этой родительской стр дочерние с таким же именем $children = $pageModel->getChildren($parentPageId); foreach ($children as $child) { if ($child['address'] == $address) { //такая страница уже существует } else { $level = $parPage['level'] + 1; //создать стр, внести запись в таблицу бд $newId = $pageModel->setNewPage($address, $parentPageId, $level, $status); //прочитать все группы пользователей в массив $usersModel = new Users($this->dbObject); $groups = $usersModel->getAllUserGroups(); //перебрать массив, созлать записи в router_contents foreach ($groups as $group) { $content = ''; //&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%############### $pageModel->setContent($newId, $group['gid'], $content); } } } } }
public function defaultAction() { if (!Auth::isAdmin()) { $this->accessDenied(); return; } $pages = new Pages(); $this->view->assign('pagetree', $pages->getChildren()); $this->view->assign('settings', Settings::getAll()); }
public static function invalidatePage($page_id, $language_id = null, $resursive = false) { if ($language_id !== null) { return Db::delete('page_cache', "(`page-id` = :pageId) AND (`language-id` = :languageId)", array(':pageId' => $page_id, ':languageId' => $language_id)); } else { return Db::delete('page_cache', "`page-id` = :pageId", array(':pageId' => $page_id)); } if ($resursive) { $pages = new Pages(); $children = $pages->getChildren($page_id, false); if ($children !== false) { if (count($children) > 0) { foreach ($children as $child) { self::invalidatePage($child['id'], $language_id, true); } } } } }