Esempio n. 1
0
 public function edit($nNavigationMenuId, $aData)
 {
     $oModelNavigationResource = new Admin_Model_NavigationResource();
     $oModelNavigationOption = new Admin_Model_NavigationOption();
     $oGenereteSessionId = new AppCms2_GenereteSessionId();
     try {
         $this->_db->beginTransaction();
         $oRow = $this->find($nNavigationMenuId)->current();
         if ($oRow instanceof Zend_Db_Table_Row_Abstract) {
             $oRow->label = $aData["label"];
             $oRow->desc = $aData["desc"];
             $oRow->image_id = $aData["image_id"];
             $oRow->visible = $aData["visible"];
             if ($oRow->save()) {
                 $aGenereteSessionId = $oGenereteSessionId->generatePassword();
                 $sNavigationResource = "menu_resource_{$aData["navigation_module_id"]}_{$aData["navigation_controller_id"]}_{$aData["navigation_action_id"]}_{$aGenereteSessionId["user_password"]}";
                 $nNavigationResourceId = $oModelNavigationResource->add($sNavigationResource);
                 if (isset($nNavigationResourceId)) {
                     $aData["navigation_resource_id"] = $nNavigationResourceId;
                     $nNavigationOptionId = $oRow->navigation_option_id;
                     if ($oModelNavigationOption->edit($nNavigationOptionId, $aData)) {
                         $this->_db->commit();
                         return $nNavigationOptionId;
                     }
                 }
             }
         }
         $this->_db->rollBack();
         return null;
     } catch (Zend_Exception $e) {
         $this->_db->rollBack();
         return null;
     }
 }
Esempio n. 2
0
 public function __construct($options = null)
 {
     $oModelNavigationModule = new Admin_Model_NavigationModule();
     $oModelNavigationController = new Admin_Model_NavigationController();
     $oModelNavigationAction = new Admin_Model_NavigationAction();
     $oModelNavigationResource = new Admin_Model_NavigationResource();
     $oModelNavigationPrivilege = new Admin_Model_NavigationPrivilege();
     $oModelUserRole = new Admin_Model_UserRole();
     $aAllModule = $oModelNavigationModule->getAll()->toArray();
     if (count($aAllModule)) {
         foreach ($aAllModule as $aValue) {
             $this->_aAllModule[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllController = $oModelNavigationController->getAll()->toArray();
     if (count($aAllController)) {
         foreach ($aAllController as $aValue) {
             $this->_aAllController[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllAction = $oModelNavigationAction->getAll()->toArray();
     if (count($aAllAction)) {
         foreach ($aAllAction as $aValue) {
             $this->_aAllAction[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllRosource = $oModelNavigationResource->getAll()->toArray();
     if (count($aAllRosource)) {
         foreach ($aAllRosource as $aValue) {
             $this->_aAllResource[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllPriviage = $oModelNavigationPrivilege->getAll()->toArray();
     if (count($aAllPriviage)) {
         foreach ($aAllPriviage as $aValue) {
             $this->_aAllPrivilege[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllUserRole = $oModelUserRole->getAll()->toArray();
     if (count($aAllUserRole)) {
         foreach ($aAllUserRole as $aValue) {
             $this->_aAllUserRole[$aValue["id"]] = $aValue["role_name"];
         }
     }
     $oModelImage = new Admin_Model_Image();
     $aImage = $oModelImage->getAll()->toArray();
     $this->_aAllImage[0] = "-";
     if (count($aImage)) {
         foreach ($aImage as $nKey => $aValue) {
             $this->_aAllImage[$aValue["id"]] = $aValue["user_name"];
         }
     }
     $this->getSiteLayout();
     parent::__construct($options);
 }
 public function __construct($options = null)
 {
     $oModelVNavigationSubmenu = new Admin_Model_VNavigationSubmenu();
     $oModelNavigationAction = new Admin_Model_NavigationAction();
     $oModelNavigationResource = new Admin_Model_NavigationResource();
     $oModelNavigationPrivilege = new Admin_Model_NavigationPrivilege();
     $oModelUserRole = new Admin_Model_UserRole();
     $aAllNavigationSubmenu = $oModelVNavigationSubmenu->getDefaultModule()->toArray();
     if (count($aAllNavigationSubmenu)) {
         foreach ($aAllNavigationSubmenu as $aValue) {
             $this->_aAllNavigationSubmenu[$aValue["id"]] = $aValue["label"] . " / " . $aValue["navigation_module"];
         }
     }
     $aAllAction = $oModelNavigationAction->getAll()->toArray();
     if (count($aAllAction)) {
         foreach ($aAllAction as $aValue) {
             $this->_aAllAction[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllRosource = $oModelNavigationResource->getAll()->toArray();
     if (count($aAllRosource)) {
         foreach ($aAllRosource as $aValue) {
             $this->_aAllResource[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllPriviage = $oModelNavigationPrivilege->getAll()->toArray();
     if (count($aAllPriviage)) {
         foreach ($aAllPriviage as $aValue) {
             $this->_aAllPrivilege[$aValue["id"]] = $aValue["value"];
         }
     }
     $aAllUserRole = $oModelUserRole->getAll()->toArray();
     if (count($aAllUserRole)) {
         foreach ($aAllUserRole as $aValue) {
             $this->_aAllUserRole[$aValue["id"]] = $aValue["role_name"];
         }
     }
     $this->_sClassName = get_class();
     $this->getSiteLayout();
     parent::__construct($options);
 }
 public function menuAction()
 {
     $oModelNavigationResource = new Admin_Model_NavigationResource();
     $oModelNavigationResource->deleteNotUse();
     $oFormNavigationMenu = new Admin_Form_NavigationMenu();
     $oModelNavigationModule = new Admin_Model_NavigationModule();
     $oModelNavigationMenu = new Admin_Model_NavigationMenu();
     $oModelNavigationOptionUserRole = new Admin_Model_NavigationOptionUserRole();
     $oModelVSiteLayout = new Admin_Model_VSiteLayout();
     $oModelSite = new Admin_Model_Site();
     $oSite = new AppCms2_Controller_Plugin_FormLayoutAbstract();
     if ($this->_request->isPost()) {
         $aPostData = $this->_request->getPost();
         if ($oFormNavigationMenu->isValid($aPostData)) {
             $nNavigationMenuId = (int) $aPostData["navigation_menu_edit_id"];
             $aUserRole = $aPostData["user_role"];
             $aPostData["image_id"] = $aPostData["image_id"] != "0" ? $aPostData["image_id"] : null;
             if ($nNavigationMenuId != 0) {
                 $nNavigationOptionId = $oModelNavigationMenu->edit($nNavigationMenuId, $aPostData);
                 $oModelNavigationOptionUserRole->deleteUserRole($nNavigationOptionId);
                 if (isset($aUserRole) && isset($nNavigationOptionId)) {
                     foreach ($aUserRole as $nRoleId) {
                         $oModelNavigationOptionUserRole->add($nNavigationOptionId, $nRoleId);
                     }
                 }
                 $sLayoutName = $oModelVSiteLayout->getSiteLayoutId($nNavigationMenuId)->layout_name;
                 if ((int) $aPostData["navigation_module_id"] == 2 && $sLayoutName != $aPostData["layout_name"]) {
                     $aPostData["menu_id"] = $nNavigationMenuId;
                     $sClassName = $oSite->getClassName($aPostData["layout_name"]);
                     if (isset($sClassName)) {
                         $oObjectReflection = new ReflectionClass($sClassName);
                         $oFormInstance = $oObjectReflection->newInstanceArgs();
                         $aSiteFileds = $oFormInstance->getSiteFields();
                         $oModelSite->newSite($aPostData, $aSiteFileds);
                     }
                 }
                 $oFormNavigationMenu->clearForm();
             } else {
                 $nNavigationOptionId = $oModelNavigationMenu->add($aPostData);
                 if (isset($aUserRole) && isset($nNavigationOptionId)) {
                     foreach ($aUserRole as $nRoleId) {
                         $oModelNavigationOptionUserRole->add($nNavigationOptionId, $nRoleId);
                     }
                 }
                 if ((int) $aPostData["navigation_module_id"] == 2) {
                     $nNavigationMenuId = $oModelNavigationMenu->findMenuId($nNavigationOptionId);
                     $aPostData["menu_id"] = $nNavigationMenuId;
                     $sClassName = $oSite->getClassName($aPostData["layout_name"]);
                     if (isset($sClassName)) {
                         $oObjectReflection = new ReflectionClass($sClassName);
                         $oFormInstance = $oObjectReflection->newInstanceArgs();
                         $aSiteFileds = $oFormInstance->getSiteFields();
                         $oModelSite->newSite($aPostData, $aSiteFileds);
                     }
                 }
                 $oFormNavigationMenu->clearForm();
             }
         }
     }
     $aAllModule = $oModelNavigationModule->getAll()->toArray();
     if (count($aAllModule)) {
         foreach ($aAllModule as $aValue) {
             $aNavigation[$aValue["value"]] = $this->prepareNavigation($aValue["value"]);
         }
     }
     $this->view->oFormNavigationElement = $oFormNavigationMenu;
     $this->view->aNavigation = $aNavigation;
 }