Example #1
0
 /**
  * (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) {
         }
     }
 }
Example #2
0
 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);
 }
Example #3
0
 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) {
         }
     }
 }
Example #4
0
 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);
             }
         }
     }
 }
Example #5
0
 /**
  * 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;
 }