示例#1
0
 public function detailsAction()
 {
     //$this->_helper->layout()->setLayout('layout-iht');
     $r = $this->getRequest();
     $catalogGuid = $r->getParam('guid');
     $this->view->catalogGuid = $catalogGuid;
     $folderGuid = $r->getParam('node');
     $this->view->currentNode = $folderGuid;
     $tblCatalog = new Kutu_Core_Orm_Table_Catalog();
     $rowCatalog = $tblCatalog->find($catalogGuid)->current();
     //update number of downloads and number of views
     $bpm = new Kutu_Core_Bpm_Catalog();
     $bpm->updateNumberOfViews($rowCatalog->guid);
     $this->view->bpm = $bpm;
     $rowsetAttribute = $rowCatalog->findDependentRowsetCatalogAttribute();
     $rowTitle = $rowsetAttribute->findByAttributeGuid('fixedTitle');
     $this->view->catalogTitle = $rowTitle->value;
     $rowSubTitle = $rowsetAttribute->findByAttributeGuid('fixedSubTitle');
     $this->view->catalogSubTitle = $rowSubTitle->value;
     $modDir = $this->getFrontController()->getModuleDirectory();
     require_once $modDir . '/components/Dms/Catalog/DetailsViewer.php';
     $w = new Dms_Catalog_DetailsViewer($catalogGuid, 'root');
     $this->view->widget1 = $w;
     if (empty($folderGuid)) {
         $rowsetFolder = $rowCatalog->findManyToManyRowset('Kutu_Core_Orm_Table_Folder', 'Kutu_Core_Orm_Table_CatalogFolder');
         if (count($rowsetFolder) > 0) {
             $rowFolder = $rowsetFolder->current();
             $folderGuid = $rowFolder->guid;
             $this->view->currentNode = $folderGuid;
         }
     }
 }
 public function indexAction()
 {
     //$this->view->render(
     $r = $this->getRequest();
     $folderLegalDb = "lgs4a0ee4ab533b4";
     $guid = $r->getParam('g');
     if (empty($guid)) {
         $this->_forward('index', "index", 'site', $r->getParams());
         return true;
     }
     $tblFolder = new Kutu_Core_Orm_Table_Folder();
     $rowset = $tblFolder->find($guid);
     if (count($rowset)) {
         $row = $rowset->current();
         $json = new Zend_Json();
         if (empty($row->cmsParams)) {
             //check if folder is child of folderLegalDb
             if (strpos($row->path, $folderLegalDb) === false) {
                 $this->_forward('list', "pages", 'site', $r->getParams());
             } else {
                 $this->_redirect(KUTU_ROOT_URL . '/dms/' . $row->guid);
             }
             return true;
             //die();
         } else {
             $aData = $json->decode($row->cmsParams);
             if (!empty($aData['a']) && !empty($aData['c']) && !empty($aData['m'])) {
                 $aData['p'] = array_merge($aData['p'], $r->getParams());
                 $this->_forward($aData['a'], $aData['c'], $aData['m'], $aData['p']);
                 return true;
             } else {
                 $aData['p'] = array_merge($aData['p'], $r->getParams());
                 //check if folder is child of folderLegalDb
                 if (strpos($row->path, $folderLegalDb) === false) {
                     $this->_forward('list', "pages", 'site', $aData['p']);
                 } else {
                     $this->_redirect(KUTU_ROOT_URL . '/dms/' . $row->guid);
                 }
                 return true;
             }
         }
     } else {
         $tblCatalog = new Kutu_Core_Orm_Table_Catalog();
         $rowset = $tblCatalog->find($guid);
         if (count($rowset)) {
             $row = $rowset->current();
             //update number of downloads and number of views
             $bpm = new Kutu_Core_Bpm_Catalog();
             $bpm->updateNumberOfViews($row->guid);
             switch ($row->profileGuid) {
                 case 'kutu_peraturan':
                 case 'kutu_putusan':
                     $this->_redirect(KUTU_ROOT_URL . '/dms/catalog/' . $guid);
                     return true;
             }
             $rowsetFolder = $row->findManyToManyRowset('Kutu_Core_Orm_Table_Folder', 'Kutu_Core_Orm_Table_CatalogFolder');
             if (count($rowsetFolder) > 0) {
                 foreach ($rowsetFolder as $rowFolder) {
                     //$rowFolder = $rowsetFolder->current();
                     $folderGuid = $rowFolder->guid;
                     if (strpos($rowFolder->path, $folderLegalDb) !== false) {
                         //do nothing
                     } else {
                         $aParams = $r->getParams();
                         $aParams['node'] = $folderGuid;
                         //Should forward to specific controller based on catalog's profileGuid
                         $this->_forward('generic', "pages_details", 'site', $aParams);
                         return true;
                     }
                 }
                 $this->_redirect(KUTU_ROOT_URL . '/dms/catalog/' . $guid . '/node/' . $folderGuid);
             } else {
                 $this->_redirect(KUTU_ROOT_URL . '/dms/catalog/' . $guid . '/node/' . $folderGuid);
             }
         } else {
         }
     }
 }