public function editAction() { $request = $this->getRequest(); $template = $request->getParam('template_id'); $this->view->template = $template; $pageId = $request->getParam('page_id'); $page = Modules_Core_Services_Page::getById($pageId); if (null == $page) { return; } $page['template_id'] = $template; $this->view->pageData = $page; $dbRoutesPage = Modules_Core_Services_Page::dbPages('route'); $routes = array(); if ($dbRoutesPage) { foreach ($dbRoutesPage as $index => $route) { $routes[] = $route['route']; } } $this->view->dbRoutesPage = $routes; $routesFrontend = Gio_Core_Route::getInstance()->getRoutes(true); $this->view->routesFrontend = $routesFrontend; if ($request->isPost()) { $pageData = $request->getPost('page'); $pageData = Modules_Core_Services_Page::validate($pageData); if (isset($pageData['messages_error']) && $pageData['messages_error']) { $this->view->errorMessages = $pageData['messages']; $pageData['page_id'] = $pageId; $pageData['template_id'] = $template; $this->view->pageData = $pageData; return; } if (in_array($pageData['route'], $routes) && $page['route'] != $pageData['route']) { Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('page_actions_edit_exist')); $this->redirect($this->view->url('core_page_edit', $page)); return; } Modules_Core_Services_Page::update($pageData); Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('page_actions_edit_success')); $this->redirect($this->view->url('core_page_edit', $page)); } }
public function listAction() { $request = $this->getRequest(); $lang = $request->getParam('lang'); $this->view->lang = $lang; $paramLang = $lang ? '/' . $lang : null; $perPage = 20; $pageIndex = (int) $request->getParam('page_index'); if (null == $pageIndex || '' == $pageIndex || $pageIndex < 0) { $pageIndex = 1; } $start = ($pageIndex - 1) * $perPage; $this->view->pageIndex = $pageIndex; $zones = Modules_Ad_Services_Zone::getAllZones(true); $this->view->zones = $zones; $pages = Modules_Core_Services_Page::dbPages(); $this->view->pages = $pages; $condition = array(); $json = new Services_JSON(); if ($request->isPost()) { $condition = $request->getPost('condition'); $params = rawurlencode(base64_encode($json->encodeUnsafe($condition))); } else { $params = $request->getParam('q'); $params != null ? $condition = (array) $json->decode(rawurldecode(base64_decode($params))) : ($params = rawurlencode(base64_encode($json->encodeUnsafe($condition)))); } $params = empty($condition) ? null : $params; $this->view->condition = $condition; $banners = Modules_Ad_Services_Banner::find($start, $perPage, $condition); $numBanners = Modules_Ad_Services_Banner::count($condition); $this->view->banners = $banners; // Pager require_once LIB_DIR . DS . 'PEAR' . DS . 'Pager' . DS . 'Sliding.php'; $pagerPath = $this->view->url('ad_banner_list'); $pagerOptions = array('mode' => 'Sliding', 'append' => false, 'perPage' => $perPage, 'delta' => 3, 'urlVar' => 'page', 'path' => $pagerPath, 'fileName' => null == $params ? 'page-%d' . $paramLang : '/page-%d' . $paramLang . '/?q=' . $params, 'separator' => '', 'nextImg' => '<small class="icon arrow_right"></small>', 'prevImg' => '<small class="icon arrow_left"></small>', 'altNext' => '', 'altPrev' => '', 'altPage' => '', 'totalItems' => $numBanners, 'currentPage' => $pageIndex, 'urlSeparator' => '/', 'spacesBeforeSeparator' => 0, 'spacesAfterSeparator' => 0, 'curPageSpanPre' => '<a href="javascript: void();" class="current">', 'curPageSpanPost' => '</a>'); $pager = new Pager_Sliding($pagerOptions); $this->view->pager = $pager; }