Exemple #1
0
 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));
     }
 }
Exemple #2
0
 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;
 }