Beispiel #1
0
 public function indexAction()
 {
     $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuSites'), array('action' => 'index'));
     $pageMapper = new PageMapper();
     if ($this->getRequest()->getPost('action') == 'delete' && $this->getRequest()->getPost('check_pages')) {
         foreach ($this->getRequest()->getPost('check_pages') as $pageId) {
             $pageMapper->delete($pageId);
         }
     }
     $pages = $pageMapper->getPageList('');
     $this->getView()->set('pageMapper', $pageMapper);
     $this->getView()->set('pages', $pages);
     $this->getView()->set('multilingual', (bool) $this->getConfig()->get('multilingual_acp'));
     $this->getView()->set('contentLanguage', $this->getConfig()->get('content_language'));
 }
Beispiel #2
0
 /**
  * Shows a table with all groups.
  */
 public function indexAction()
 {
     $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuAccess'), array('action' => 'index'));
     $postData = $this->getRequest()->getPost();
     $groupMapper = new GroupMapper();
     $groups = $groupMapper->getGroupList();
     $this->getView()->set('activeGroupId', 0);
     $this->getView()->set('activeGroup', null);
     foreach ($groups as $key => $group) {
         if ($group->getId() == 1) {
             unset($groups[$key]);
         }
     }
     $this->getView()->set('groups', $groups);
     if (isset($postData['groupId'])) {
         $groupId = (int) $postData['groupId'];
         $_SESSION['user']['accessGroup'] = $groupId;
     } elseif (isset($_SESSION['user']['accessGroup'])) {
         $groupId = (int) $_SESSION['user']['accessGroup'];
     } else {
         $groupId = 0;
     }
     if ($groupId) {
         $groupAccessList = $groupMapper->getGroupAccessList($groupId);
         $activeGroup = $groupMapper->getGroupById($groupId);
         $this->getView()->set('groupAccessList', $groupAccessList);
         $this->getView()->set('activeGroupId', $groupId);
         $this->getView()->set('activeGroup', $activeGroup);
     }
     $moduleMapper = new ModuleMapper();
     $modules = $moduleMapper->getModules();
     $pageMapper = new PageMapper();
     $pages = $pageMapper->getPageList();
     $articleMapper = new ArticleMapper();
     $articles = $articleMapper->getArticles();
     $boxMapper = new BoxMapper();
     $boxes = $boxMapper->getBoxList($this->getTranslator()->getLocale());
     $accessTypes = array('module' => $modules, 'page' => $pages, 'article' => $articles, 'box' => $boxes);
     $this->getView()->set('accessTypes', $accessTypes);
 }
Beispiel #3
0
 public function indexAction()
 {
     $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menu'), array('action' => 'index'));
     $menuId = 1;
     if ($this->getRequest()->getParam('menu')) {
         $menuId = (int) $this->getRequest()->getParam('menu');
     }
     $menuMapper = new MenuMapper();
     $pageMapper = new PageMapper();
     /*
      * Saves the item tree to database.
      */
     if ($this->getRequest()->isPost()) {
         if ($this->getRequest()->getPost('save')) {
             $sortItems = json_decode($this->getRequest()->getPost('hiddenMenu'));
             $items = $this->getRequest()->getPost('items');
             $oldItems = $menuMapper->getMenuItems($menuId);
             /*
              * Deletes old entries from database.
              */
             if (!empty($oldItems)) {
                 foreach ($oldItems as $oldItem) {
                     if (!isset($items[$oldItem->getId()])) {
                         $menuMapper->deleteItem($oldItem);
                     }
                 }
             }
             if ($items) {
                 $sortArray = array();
                 foreach ($sortItems as $sortItem) {
                     if ($sortItem->item_id !== null) {
                         $sortArray[$sortItem->item_id] = (int) $sortItem->parent_id;
                     }
                 }
                 foreach ($items as $item) {
                     $menuItem = new MenuItem();
                     if (strpos($item['id'], 'tmp_') !== false) {
                         $tmpId = str_replace('tmp_', '', $item['id']);
                     } else {
                         $menuItem->setId($item['id']);
                     }
                     $menuItem->setMenuId($menuId);
                     $menuItem->setType($item['type']);
                     $menuItem->setSiteId($item['siteid']);
                     $menuItem->setHref($item['href']);
                     $menuItem->setTitle($item['title']);
                     if ((int) $item['boxkey'] > 0) {
                         $menuItem->setBoxId($item['boxkey']);
                     } else {
                         $menuItem->setBoxKey($item['boxkey']);
                     }
                     $menuItem->setModuleKey($item['modulekey']);
                     $newId = $menuMapper->saveItem($menuItem);
                     if (isset($tmpId)) {
                         foreach ($sortArray as $id => $parentId) {
                             if ($id == $tmpId) {
                                 unset($sortArray[$id]);
                                 $sortArray[$newId] = $parentId;
                             }
                             if ($parentId == $tmpId) {
                                 $sortArray[$id] = $newId;
                             }
                         }
                     }
                 }
                 $sort = 0;
                 foreach ($sortArray as $id => $parent) {
                     $menuItem = new MenuItem();
                     $menuItem->setId($id);
                     $menuItem->setSort($sort);
                     $menuItem->setParentId($parent);
                     $menuMapper->saveItem($menuItem);
                     $sort += 10;
                 }
             }
             $menu = new MenuModel();
             $menu->setId($menuId);
             $menuMapper->save($menu);
         }
         if ($this->getRequest()->getPost('delete')) {
             $id = (int) $this->getRequest()->getParam('menu');
             $menuMapper->delete($id);
             $this->redirect(array('action' => 'index'));
         }
         $this->addMessage('saveSuccess');
     }
     $menuItems = $menuMapper->getMenuItemsByParent($menuId, 0);
     $menu = $menuMapper->getMenu($menuId);
     $menus = $menuMapper->getMenus();
     $moduleMapper = new \Modules\Admin\Mappers\Module();
     $boxMapper = new \Modules\Admin\Mappers\Box();
     $locale = '';
     if ((bool) $this->getConfig()->get('multilingual_acp')) {
         if ($this->getTranslator()->getLocale() != $this->getConfig()->get('content_language')) {
             $locale = $this->getTranslator()->getLocale();
         }
     }
     $this->getView()->set('menu', $menu);
     $this->getView()->set('menus', $menus);
     $this->getView()->set('menuItems', $menuItems);
     $this->getView()->set('menuMapper', $menuMapper);
     $this->getView()->set('pages', $pageMapper->getPageList($locale));
     $this->getView()->set('boxes', (array) $boxMapper->getBoxList($locale));
     $this->getView()->set('modules', $moduleMapper->getModules());
 }