コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 function getSectionSite()
 {
     $pagesMapper = new Pages_Model_Mapper_Pages();
     $select = $pagesMapper->getDbTable()->select();
     $select->where('active != ?', 0)->where('deleted != ?', 1)->order('sorting ASC');
     $sectionSiteArray = array();
     $sectionSiteArray[] = 'нет';
     /**
      * @var $page Pages_Model_Pages;
      */
     foreach ($pagesMapper->fetchAll($select) as $page) {
         $sectionSiteArray[$page->getId()] = $page->getTitle();
     }
     return $sectionSiteArray;
 }
コード例 #3
0
 public function getModuleArray()
 {
     $pagesMapper = new Pages_Model_Mapper_Pages();
     $select = $pagesMapper->getDbTable()->select();
     $select->where('deleted != ?', 1)->where('active != ?', 0)->order('sorting ASC');
     $moduleArray = array();
     $modules = $pagesMapper->fetchAll();
     if (!empty($modules)) {
         /**@var $module Pages_Model_Pages*/
         foreach ($modules as $module) {
             $moduleArray[$module->getPath()] = $module->getPath();
         }
     }
     return $moduleArray;
 }
コード例 #4
0
 public function seoAction()
 {
     $pageId = $this->_request->getParam('id');
     if (is_null($pageId)) {
         $this->_redirector->gotoSimpleAndExit('index');
     }
     $page = $this->_modelMapper->find($pageId, new Pages_Model_Pages());
     if ($this->getRequest()->isPost()) {
         if ($this->getRequest()->getParam('dataFormSeo')) {
             $dataFormSeo = $this->getRequest()->getParam('dataFormSeo');
             $page->setOptions($dataFormSeo);
             $this->_modelMapper->save($page);
         }
     }
     $url = $page->getPath() != 'home' ? '/' . $page->getPath() : '/';
     $this->_redirector->gotoUrlAndExit($url);
 }
コード例 #5
0
 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);
         }
     }
 }
コード例 #6
0
 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;
 }
コード例 #7
0
 /**
  * @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;
 }
コード例 #8
0
 public function sectionAction()
 {
     $jsonData = $this->_request->getParams();
     if ($this->_request->getParam('itemId')) {
         $item = $this->_modelMapper->find($this->_request->getParam('itemId'), $this->_model);
         if ($item) {
             $pagesMapper = new Pages_Model_Mapper_Pages();
             $page = $pagesMapper->find($this->_request->getParam('sectionId'), new Pages_Model_Pages());
             $sectionId = $page ? $page->getId() : 0;
             $item->setSectionSiteId($sectionId);
             $this->_modelMapper->save($item);
             $jsonData['message'] = 'Ok';
         }
         $this->_helper->json->sendJson($jsonData);
         return;
     }
     if ($this->_request->getParam('id')) {
         $this->forward('index', null, null, array('filter' => 'section_site_id', 'val' => $this->_request->getParam('id')));
     }
 }