Пример #1
0
 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);
                 }
             }
         }
     }
 }
Пример #2
0
 public function defaultAction()
 {
     if (!Auth::isAdmin()) {
         $this->accessDenied();
         return;
     }
     $pages = new Pages();
     $this->view->assign('pagetree', $pages->getChildren());
     $this->view->assign('settings', Settings::getAll());
 }
Пример #3
0
 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);
                 }
             }
         }
     }
 }