public function __construct($options = null) { $oModelVNavigationMenu = new Admin_Model_VNavigationMenu(); $oModelVNavigationSubmenu = new Admin_Model_VNavigationSubmenu(); $oModelVNavigationSubsubmenu = new Admin_Model_VNavigationSubsubmenu(); $oModelSite = new Admin_Model_Site(); $this->_aAllLang = array("lang_pl" => "język polski", "lang_en" => "język angielski"); $sModule = "default"; $aMenu = $oModelVNavigationMenu->getSiteMenu($sModule)->toArray(); foreach ($aMenu as $nKey => $aMenuValue) { $sMenuLabel = $aMenuValue["label"]; $aSubmenu = null; $aSubmenu = $oModelVNavigationSubmenu->getSiteMenu($aMenuValue["id"])->toArray(); if ($aSubmenu) { foreach ($aSubmenu as $aSubmenuValue) { $sSubmenuLabel = $aSubmenuValue["label"]; $aSubmenuValue["label"] = $sMenuLabel . " / " . $sSubmenuLabel; array_push($aMenu, $aSubmenuValue); $aSubsubmenu = $oModelVNavigationSubsubmenu->getSiteMenu($aSubmenuValue["id"])->toArray(); if ($aSubsubmenu) { foreach ($aSubsubmenu as $aSubsubmenuValue) { $sSubsubmenuLabel = $aSubsubmenuValue["label"]; $aSubsubmenuValue["label"] = $sMenuLabel . " / " . $sSubmenuLabel . " / " . $sSubsubmenuLabel; array_push($aMenu, $aSubsubmenuValue); } } } } } foreach ($aMenu as $nKey => $aValue) { if ($oModelSite->findSiteId($aValue["id"])) { $this->_aAllMenu[$aValue["id"]] = $aValue["label"]; } } parent::__construct($options); }
public function subsubmenuAction() { $oFormNavigationSubsubmenu = new Admin_Form_NavigationSubsubmenu(); $oModelNavigationModule = new Admin_Model_NavigationModule(); $oModelNavigationOption = new Admin_Model_NavigationOption(); $oModelNavigationSubsubmenu = new Admin_Model_NavigationSubsubmenu(); $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 ($oFormNavigationSubsubmenu->isValid($aPostData)) { $nNavigationSubsubmenuId = (int) $aPostData["navigation_subsubmenu_edit_id"]; $aUserRole = $aPostData["user_role"]; if ($nNavigationSubsubmenuId != 0) { $nNavigationOptionId = $oModelNavigationSubsubmenu->edit($nNavigationSubsubmenuId, $aPostData); $oModelNavigationOptionUserRole->deleteUserRole($nNavigationOptionId); if (isset($aUserRole) && isset($nNavigationOptionId)) { foreach ($aUserRole as $nRoleId) { $oModelNavigationOptionUserRole->add($nNavigationOptionId, $nRoleId); } } $oRow = $oModelNavigationOption->getRow($nNavigationOptionId); $sLayoutName = $oModelVSiteLayout->getSiteLayoutId($nNavigationSubsubmenuId)->layout_name; if ($oRow->navigation_module_id == 2 && $sLayoutName != $aPostData["layout_name"]) { $aPostData["menu_id"] = $nNavigationSubsubmenuId; $sClassName = $oSite->getClassName($aPostData["layout_name"]); if (isset($sClassName)) { $oObjectReflection = new ReflectionClass($sClassName); $oFormInstance = $oObjectReflection->newInstanceArgs(); $aSiteFileds = $oFormInstance->getSiteFields(); $oModelSite->newSite($aPostData, $aSiteFileds); } } $oFormNavigationSubsubmenu->clearForm(); } else { $nNavigationOptionId = $oModelNavigationSubsubmenu->add($aPostData); if (isset($aUserRole) && isset($nNavigationOptionId)) { foreach ($aUserRole as $nRoleId) { $oModelNavigationOptionUserRole->add($nNavigationOptionId, $nRoleId); } } $oRow = $oModelNavigationOption->getRow($nNavigationOptionId); if ($oRow->navigation_module_id == 2) { $nNavigationSubmenuId = $oModelNavigationSubsubmenu->findSubsubmenuId($nNavigationOptionId); $aPostData["menu_id"] = $nNavigationSubmenuId; $sClassName = $oSite->getClassName($aPostData["layout_name"]); if (isset($sClassName)) { $oObjectReflection = new ReflectionClass($sClassName); $oFormInstance = $oObjectReflection->newInstanceArgs(); $aSiteFileds = $oFormInstance->getSiteFields(); $oModelSite->newSite($aPostData, $aSiteFileds); } } $oFormNavigationSubsubmenu->clearForm(); } } } $aAllModule = $oModelNavigationModule->getAll()->toArray(); if (count($aAllModule)) { foreach ($aAllModule as $aValue) { $aNavigation[$aValue["value"]] = $this->prepareNavigation($aValue["value"]); } } $this->view->oFormNavigationElement = $oFormNavigationSubsubmenu; $this->view->aNavigation = $aNavigation; }