/** * (non-PHPdoc) * @see Zend_Controller_Plugin_Abstract::preDispatch() */ public function preDispatch(Zend_Controller_Request_Abstract $request) { try { #Zend_Debug::dump($request->getParams()); #die(); $mdlRole = new Acl_Model_Role(); $auth = Zend_Auth::getInstance(); $acl = Zend_Registry::get('ZendACL'); if ($auth->hasIdentity()) { $identity = $auth->getIdentity(); $this->role = $mdlRole->find($identity->role_id)->current(); } else { $this->role = $mdlRole->find(3)->current(); } $mdlMenuItem = new menu_Model_Item(); $mdlMenu = new menu_Model_Menu(); $navLinks = array(); $nav = new Zend_Navigation($navLinks); $menuList = $mdlMenu->getByStatus(1); foreach ($menuList as $menu) { $options = array('id' => 'menu-' . $menu->id, 'label' => $menu->name, 'uri' => ''); $page = Zend_Navigation_Page::factory($options); $nav->addPage($page); $menuitemList = $mdlMenuItem->getItemsForNavigationByMenu($menu); foreach ($menuitemList as $menuItem) { if ($menuItem->parent_id == 0) { if ($menuItem->external == 1) { $this->addExternalPage($page, $menuItem); } else { $this->addInternalPage($page, $menuItem); } } else { $parent = $nav->findBy('id', 'mii-' . $menuItem->parent_id); if ($menuItem->external == 1) { $this->addExternalPage($parent, $menuItem); } else { $this->addInternalPage($parent, $menuItem); } } } } $this->addCurrentPageUnregistered($nav, $request); $page = $nav->findBy("id", "mii-" . $request->getParam("mid")); if ($page) { $page->setActive(true); } Zend_Registry::set('Zend_Navigation', $nav); #Zend_Debug::dump($nav->toArray()); #die(); } catch (Exception $e) { try { $writer = new Zend_Log_Writer_Stream(APPLICATION_LOG_PATH . 'plugins.log'); $logger = new Zend_Log($writer); $logger->log($e->getMessage(), Zend_Log::ERR); } catch (Exception $e) { } } }
public function routeStartup(Zend_Controller_Request_Abstract $request) { $mdlMenuItem = new menu_Model_Item(); $menuItems = $mdlMenuItem->getListForRouting(); $frontController = Zend_Controller_Front::getInstance(); $router = $frontController->getRouter(); $options = array(); $options['module'] = 'acl'; /*($menuItems as $menuItem) { if (strcasecmp($menuItem->controller, "authentication") == 0 && strcasecmp($menuItem->actioncontroller, "login") == 0) { $params = Zend_Json::decode($menuItem->params); $options['controller'] = 'authentication'; $options['action'] = 'login'; $options['mid'] = $menuItem->id; $route = new Zend_Controller_Router_Route( $menuItem->id_alias, $options ); $router->addRoute($menuItem->id_alias, $route); } }*/ $options = array(); $options['module'] = 'acl'; $options['controller'] = 'account'; $options['action'] = 'resetpassword'; $options['change'] = 0; $route = new Zend_Controller_Router_Route('resetpassword', $options); $router->addRoute('resetpassword', $route); $options['action'] = 'resetpassword'; $options['change'] = 1; $route = new Zend_Controller_Router_Route('changepassword', $options); $router->addRoute('changepassword', $route); $options['action'] = 'edit'; $route = new Zend_Controller_Router_Route('edit-account', $options); $router->addRoute('edit-account', $route); $options['action'] = 'update'; $route = new Zend_Controller_Router_Route('update-account', $options); $router->addRoute('update-account', $route); $options['controller'] = 'authentication'; $options['action'] = 'login'; $route = new Zend_Controller_Router_Route('login', $options); $router->addRoute('login', $route); $options['controller'] = 'authentication'; $options['action'] = 'logout'; $route = new Zend_Controller_Router_Route('logout', $options); $router->addRoute('logout', $route); }
public function routeStartup(Zend_Controller_Request_Abstract $request) { try { $mdlMenuItem = new menu_Model_Item(); $menuItems = $mdlMenuItem->getListForRouting(); #Zend_Debug::dump($menuItems->toArray()); #die(); if ($menuItems->count() > 0) { foreach ($menuItems as $menuItem) { $route = new Zend_Controller_Router_Route(strlen($menuItem->id_alias) > 0 ? $menuItem->id_alias : strtolower($menuItem->module . '-' . $menuItem->controller . '-' . $menuItem->actioncontroller), array('module' => $menuItem->module, 'controller' => $menuItem->controller, 'action' => $menuItem->actioncontroller)); Zend_Controller_Front::getInstance()->getRouter()->addRoute(strlen($menuItem->id_alias) > 0 ? $menuItem->id_alias : strtolower($menuItem->module . '-' . $menuItem->controller . '-' . $menuItem->actioncontroller), $route); } } $route = new Zend_Controller_Router_Route(':module/:controller/:action/*', array()); Zend_Controller_Front::getInstance()->getRouter()->addRoute('pagination', $route); } catch (Exception $e) { try { $writer = new Zend_Log_Writer_Stream(APPLICATION_LOG_PATH . 'plugins.log'); $logger = new Zend_Log($writer); $logger->log($e->getMessage(), Zend_Log::ERR); } catch (Exception $e) { } } }
public function routeStartup(Zend_Controller_Request_Abstract $request) { $mdlMenuItem = new menu_Model_Item(); $menuItems = $mdlMenuItem->getListForRouting(); $frontController = Zend_Controller_Front::getInstance(); $router = $frontController->getRouter(); if ($menuItems->count() > 0) { foreach ($menuItems as $menuItem) { if (strcasecmp($menuItem->controller, "article") == 0 && strcasecmp($menuItem->actioncontroller, "view") == 0) { $params = Zend_Json::decode($menuItem->params); $options = array(); $options['module'] = 'content'; $options['controller'] = 'article'; $options['action'] = 'view'; foreach ($params as $param) { $options['aid'] = $param['aid']; } $options['mid'] = $menuItem->id; $route = new Zend_Controller_Router_Route($menuItem->id_alias, $options); $router->addRoute($menuItem->id_alias, $route); } } } }
/** * Delete action for item controller * @throws Exception * @return NULL */ public function deleteAction() { try { $translate = Zend_Registry::get('Zend_Translate'); $mdlMenuItem = new menu_Model_Item(); $id = $this->getRequest()->getParam('id', 0); $menuItem = $mdlMenuItem->find($id)->current(); if (!$menuItem) { throw new Exception($translate->translate("MENU_ITEM_NOT_FOUND")); } $menuId = $menuItem->menu_id; $menuItem->delete(); $this->_helper->flashMessenger->addMessage(array('type' => 'info', 'header' => '', 'message' => $translate->translate("MENU_ITEM_DELETED_SUCCESSFULLY"))); $this->redirect('menu-items/' . $menuId); } catch (Exception $e) { $this->_helper->flashMessenger->addMessage(array('type' => 'error', 'header' => '', 'message' => $e->getMessage())); $this->redirect('menu-items/' . $menuId); } return; }
/** * update action for widget controller * @throws Exception */ public function updateAction() { try { $translate = Zend_Registry::get('Zend_Translate'); $id = $this->getRequest()->getParam('id', 0); $mdlWidget = new System_Model_Widget(); $widget = $mdlWidget->find($id)->current(); if (!$widget) { throw new Exception($translate->translate("LBL_ROW_NOT_FOUND")); } $mdlResource = new Acl_Model_Resource(); $resource = $mdlResource->find($widget->resource_id)->current(); $widgetFile = APPLICATION_PATH . '/modules/' . $resource->module . '/widgets.xml'; if (!file_exists($widgetFile)) { throw new Exception($translate->translate("SYSTEM_WIDGET_NOT_FOUND")); } $sxe = new SimpleXMLElement($widgetFile, null, true); $element = null; foreach ($sxe as $widgetElement) { if ($widgetElement['id'] == $widget->widget_id) { $element = $widgetElement; break; } } if (!$element) { throw new Exception($translate->translate("SYSTEM_WIDGET_ELEMENT_NOT_FOUND")); } #$frmWidget = strval($element->form); #$frmWidget = new $frmWidget(); $frmWidget = ucfirst(strtolower(strval($element->module))) . '_Form_Widgets'; $frmWidget = strtolower(strval($element->module)) == 'menu' ? 'menu_Form_Widgets' : $frmWidget; #$frmWidget = new $frmWidget( array('typeForm'=>'test') ); $frmWidget = new $frmWidget(array('widgetType' => strtolower(strval($element->widget_type)))); $hookXml = APPLICATION_PATH . '/configs/hooks.xml'; $sxeHook = new SimpleXMLElement($hookXml, null, true); $cbPosition = $frmWidget->getElement("position"); foreach ($sxeHook as $hook) { $cbPosition->addMultiOption($hook, $hook); } $mdlMenu = new menu_Model_Menu(); $mdlMI = new menu_Model_Item(); $menus = $mdlMenu->getMenus(); $cbMenuItem = $frmWidget->getElement('menuitem'); foreach ($menus as $menu) { $menuItemData = array(); $mdlMI->getMenuItemsForWidget(null, $menu, null, $menuItemData); $cbMIData[$menu->name] = $menuItemData; $cbMenuItem->addMultiOptions($cbMIData); } $frmWidget->setAction($this->_request->getBaseUrl() . "/system/widget/update"); $frmWidget->populate($widget->toArray()); $mdlWidgetDetail = new System_Model_Widgetdetail(); $renderForAll = $mdlWidgetDetail->isRenderForAll($widget); if ($renderForAll === false) { $rowsSelected = array(); $menuItems = $widget->findManyToManyRowset('menu_Model_Item', 'System_Model_Widgetdetail', 'Widget'); foreach ($menuItems as $menuItemSelected) { $rowsSelected[] = $menuItemSelected->id; } $frmWidget->populate(array('menuitem' => $rowsSelected)); $frmWidget->getElement('renderfor')->setValue(1); } else { $frmWidget->getElement('renderfor')->setValue(0); $frmWidget->getElement('menuitem')->setAttrib('disabled', true); } $params = Zend_Json::decode($widget->params); $frmWidget->populate($params); if ($this->getRequest()->isPost()) { if ($frmWidget->isValid($this->getRequest()->getParams())) { $defaultFormFields = array('id', 'wid', 'mod', 'position', 'title', 'published', 'menuitem', 'csrf_token', 'token', 'widget_id', 'showtitle'); $widget->title = $frmWidget->getElement('title')->getValue(); $widget->published = $frmWidget->getElement('published')->getValue(); $widget->position = $frmWidget->getElement('position')->getValue(); $widget->showtitle = $frmWidget->getElement('showtitle')->getValue(); $frmWidgetValues = $frmWidget->getValues(); $params = array(); foreach ($frmWidgetValues as $wvk => $wv) { if (!in_array($wvk, $defaultFormFields)) { #$params[] = $wvk.'='.$wv.''; $params[$wvk] = $wv; } } #$params = implode("\n", $params); #$widget->params = $params; $widget->params = Zend_Json::encode($params); #Zend_Debug::dump( $widget ); #die(); $widget->save(); $menuItemsWidget = $widget->findDependentRowset('System_Model_Widgetdetail', 'Widget'); foreach ($menuItemsWidget as $miw) { $miw->delete(); } if ($frmWidget->getElement('renderfor')->getValue() == 0) { $widgetDetail = $mdlWidgetDetail->createRow(); $widgetDetail->widget_id = $widget->id; $widgetDetail->menuitem_id = null; $widgetDetail->save(); } else { foreach ($frmWidget->getValue('menuitem') as $mi) { $widgetDetail = $mdlWidgetDetail->createRow(); $widgetDetail->widget_id = $widget->id; $widgetDetail->menuitem_id = $mi; $widgetDetail->save(); #Zend_Debug::dump($widgetDetail); } } #Zend_Debug::dump( $menuItemsWidget ); $this->_helper->flashMessenger->addMessage(array('type' => 'info', 'header' => '', 'message' => $translate->translate("SYSTEM_WIDGET_UPDATED_SUCCESSFULLY"))); $this->_helper->redirector("list", "widget", "system"); } } else { /*$fields = array(); foreach ( $frmWidget->getElements() as $wfelement ) $fields[] = $wfelement->getName(); $frmWidget->addDisplayGroup( $fields, 'form', array( 'legend' => $translate->translate("SYSTEM_UPDATE_WIDGET"), ) );*/ } $this->view->frmWidget = $frmWidget; $this->view->widget = $element; #Zend_Debug::dump($element); } catch (Exception $e) { $this->_helper->flashMessenger->addMessage(array('type' => 'error', 'header' => '', 'message' => $e->getMessage())); $this->_helper->redirector("list", "widget", "system"); } return; }