public function __construct(array $pluginData) { $request = $pluginData['request']; $router = $pluginData['router']; $pageMapper = new PageMapper(); $permas = $pageMapper->getPagePermas(); $url = $router->getQuery(); if (isset($permas[$url])) { $request->setModuleName('page'); $request->setControllerName('index'); $request->setActionName('show'); $request->setParam('id', $permas[$url]['page_id']); $request->setParam('locale', $permas[$url]['locale']); } }
public function showAction() { $pageMapper = new PageMapper(); $id = $this->getRequest()->getParam('id'); $locale = $this->getRequest()->getParam('locale'); $page = $pageMapper->getPageByIdLocale($id, $locale); if ($page == null) { $this->getView()->set('content', 'page not found'); } else { $this->getLayout()->set('metaTitle', $page->getTitle()); $this->getLayout()->set('metaDescription', $page->getDescription()); $this->getLayout()->getHmenu()->add($page->getTitle(), $page->getPerma()); $this->getView()->set('content', $page->getContent()); } }
/** * 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); }
public function treatAction() { if ($this->getRequest()->getParam('id')) { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuSite'), array('action' => 'index'))->add($this->getTranslator()->trans('editPage'), array('action' => 'treat', 'id' => $this->getRequest()->getParam('id'))); } else { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuSite'), array('action' => 'index'))->add($this->getTranslator()->trans('menuActionNewSite'), array('action' => 'treat')); } $this->getView()->set('contentLanguage', $this->getConfig()->get('content_language')); $pageMapper = new PageMapper(); if ($this->getRequest()->getParam('id')) { if ($this->getRequest()->getParam('locale') == '') { $locale = ''; } else { $locale = $this->getRequest()->getParam('locale'); } $this->getView()->set('page', $pageMapper->getPageByIdLocale($this->getRequest()->getParam('id'), $locale)); } $this->getView()->set('languages', $this->getTranslator()->getLocaleList()); $this->getView()->set('multilingual', (bool) $this->getConfig()->get('multilingual_acp')); if ($this->getRequest()->isPost()) { $model = new PageModel(); if ($this->getRequest()->getParam('id')) { $model->setId($this->getRequest()->getParam('id')); } $model->setDescription($this->getRequest()->getPost('description')); $model->setTitle($this->getRequest()->getPost('pageTitle')); $model->setContent($this->getRequest()->getPost('pageContent')); if ($this->getRequest()->getPost('pageLanguage') != '') { $model->setLocale($this->getRequest()->getPost('pageLanguage')); } else { $model->setLocale(''); } $model->setPerma($this->getRequest()->getPost('pagePerma')); $pageMapper->save($model); $this->redirect(array('action' => 'index')); } }
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()); }