/**
  * @return null|Pages_Model_Pages
  * @throws Zend_Controller_Action_Exception
  *
  */
 public function pageModule()
 {
     $pageModulePath = $this->getRequest()->getModuleName();
     $page = $this->_pagesMapper->findByPath($pageModulePath, new Pages_Model_Pages());
     if (is_null($page)) {
         throw new Zend_Controller_Action_Exception("Раздел '" . $pageModulePath . "' не добален в таблицу 'Pages'", 404);
     }
     return $page;
 }
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $pagesMapper = new Pages_Model_Mapper_Pages();
     $page = $pagesMapper->findByPath($request->getModuleName(), new Pages_Model_Pages());
     $r = new Zend_Controller_Action_Helper_Redirector();
     $layout = Zend_Layout::getMvcInstance();
     if (is_null($page)) {
         return;
     }
     if ($page->getDeleted() === '1') {
         if (!Zend_Auth::getInstance()->hasIdentity()) {
             $layout->setLayout('layout_error');
             throw new Zend_Controller_Action_Exception("Страница не найдена", 404);
         }
         $r->gotoRouteAndExit(array('module' => 'admin', 'controller' => 'pages', 'action' => 'index'), 'adminEdit', true);
     }
     if ($page->getActive() === '0') {
         if (!Zend_Auth::getInstance()->hasIdentity()) {
             $layout->setLayout('layout_error');
             throw new Zend_Controller_Action_Exception("Раздел временно не доступен", 500);
         }
     }
 }
 function getPageArticles()
 {
     $frontController = Zend_Controller_Front::getInstance();
     $request = $frontController->getRequest();
     $moduleName = $request->getModuleName();
     $actionName = $request->getActionName();
     //Zend_Debug::dump($request->getParams());
     $this->view->moduleName = $moduleName;
     $this->view->actionName = $actionName;
     $pagesMapper = new Pages_Model_Mapper_Pages();
     $page = $pagesMapper->findByPath($moduleName, new Pages_Model_Pages());
     if (!$page) {
         return null;
     }
     $this->view->sectionName = $page->getTitle();
     $this->view->sectionId = $page->getId();
     $mediaModelMapper = new Media_Model_Mapper_Media();
     $selectMedia = $mediaModelMapper->getDbTable()->select();
     $selectMedia->where('active != ?', 0)->where('deleted != ?', 1)->where('section_site_id = ?', $page->getId())->order('timestamp DESC');
     $mediaItems = $mediaModelMapper->fetchAll($selectMedia);
     if (!empty($mediaItems)) {
         if (count($mediaItems) > $this->getCountItemOnPage()) {
             $mediaPages = array_chunk($mediaItems, $this->getCountItemOnPage());
             $currentPage = 0;
             if ($request->getParam('page') && $request->getParam('page') > 0) {
                 $currentPage = $request->getParam('page') - 1;
             }
             if ($request->getParam('page') && $request->getParam('page') > count($mediaPages)) {
                 $currentPage = count($mediaPages) - 1;
             }
             $mediaItems = $mediaPages[$currentPage];
             $this->view->countPage = count($mediaPages);
             $this->view->currentPage = $currentPage + 1;
         }
     }
     return $mediaItems;
 }
 /**
  * @param null $pageModulePath
  * @return null|Pages_Model_Pages
  *
  */
 public function getPageModule($pageModulePath = null)
 {
     if (is_null($pageModulePath)) {
         $pageModulePath = strtolower($this->getNameModule());
     }
     $pagesMapper = new Pages_Model_Mapper_Pages();
     $page = $pagesMapper->findByPath($pageModulePath, new Pages_Model_Pages());
     return $page;
 }