protected function importSheets()
 {
     //$totalSheets=$this->excel->getSheetCount();
     $menusArr = Cms_Model_MenuMapper::getInstance()->getMenus();
     $menus = array();
     foreach ($menusArr as $currMenu) {
         $menus[] = $currMenu['code'];
     }
     $sheetToMenu = array();
     $sheets = $this->excel->getSheetNames();
     if (count($sheets) == 1) {
         $sheetToMenu[0] = $menus[0];
     } else {
         foreach ($sheets as $sheetIndex => $sheetName) {
             if (!in_array(strtolower($sheetName), $menus)) {
                 $this->errors['ERR_SHEET_NAME'] = 'Menu not found for defined sheet';
                 return false;
             }
             $sheetToMenu[$sheetIndex] = strtolower($sheetName);
         }
     }
     foreach ($sheets as $sheetIndex => $sheetName) {
         $this->sheet = $this->excel->setActiveSheetIndex($sheetIndex);
         $this->loadColumns();
         $this->loadData();
         $this->saveData($sheetToMenu[$sheetIndex]);
     }
     return true;
 }
Exemple #2
0
 /**
  * get instance
  *
  *
  * @return Cms_Model_MenuMapper
  */
 public static function getInstance()
 {
     if (self::$_instance === null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 protected function _populateMenuItems(&$menuItems)
 {
     $menus = Cms_Model_MenuMapper::getInstance()->getMenus();
     foreach ($menus as $menu) {
         $zendMenus = Cms_Model_MenuItemMapper::getInstance()->fetchZendNavigationArray(array('lang' => CURR_LANG, 'menu' => $menu['code']));
         $this->_flattenMenu($zendMenus, $menuItems);
     }
 }
 public function configAction()
 {
     $data = $this->getRequest()->getPost('data');
     $submit = $this->getRequest()->getPost('submit');
     $formTab = $this->getRequest()->getUserParam('tab', "Sitemap");
     $id = $this->_applicationId;
     //check if cancel button is pressed
     if ($this->_formHelper->isCancel()) {
         //cancel form
         return $this->_formHelper->returnCancel($this->view->url(array('action' => 'index')), $this->translate('Action canceled'));
     }
     $module = new Application_Model_Module();
     //read contact module
     if (!Application_Model_ModuleMapper::getInstance()->findByCode("cms", $module)) {
         throw new Exception("CMS module not found");
     }
     $this->view->menus = Cms_Model_MenuMapper::getInstance()->getMenus();
     $this->view->data = $module->toArray();
     $formClassName = "Cms_Form_Config" . $formTab;
     if (!class_exists($formClassName)) {
         $this->_formHelper->returnError("ne postoji");
     }
     //create form object
     $form = new $formClassName($data);
     //postback - save?
     if ($this->_formHelper->isSave()) {
         //check if valid
         if ($form->isValid()) {
             $setings = $module->get_settings();
             $setings['sitemap'] = $form->getValues();
             //create module entity object
             $module->set_settings(json_encode($setings));
             $module->set_data(json_encode($module->get_data()));
             //new entity
             Application_Model_ModuleMapper::getInstance()->save($module);
             //save done, return success
             return $this->_formHelper->returnSuccess($this->view->url(array('action' => 'config')), $this->translate('Configuration saved.'));
         } else {
             //we have errors - return json or continue
             $this->_formHelper->returnError($form->getMessages());
         }
     }
     //        print_r($data);die;
 }
 public function menuDeleteAction()
 {
     $this->_helper->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     $data = $this->getRequest()->getPost('data');
     $submit = $this->getRequest()->getPost('submit');
     $id = $this->_getParam('id');
     //create form object
     Cms_Model_MenuItemMapper::getInstance()->delete($id);
     $data = array('menu' => Cms_Model_MenuMapper::getInstance()->getMenus(), 'success' => true, 'message' => $this->translate("New Menu added"));
     $this->_helper->json->sendJson($data);
 }