Example #1
0
 /**
  * (non-PHPdoc)
  * @see Zend_Controller_Plugin_Abstract::preDispatch()
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     try {
         $layout = Zend_Layout::getMvcInstance()->getLayout();
         $boostrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
         $userAgent = $boostrap->getResource('useragent');
         $device = $userAgent->getDevice();
         $mdlSkin = new System_Model_Skin();
         $skin = $mdlSkin->getSkinSelected();
         $skinName = is_null($skin) ? 'default' : strtolower($skin->name);
         $vr = Zend_Controller_Action_HelperBroker::getStaticHelper('Layout');
         $view = $vr->getView();
         $skinData = new Zend_Config_Xml('./skins/' . $skinName . '/skin.xml');
         # css files
         $stylesheet = (int) $device->getFeature('is_desktop') == 1 ? $skinData->files->stylesheet : $skinData->files->stylesheetMobile;
         $view->headLink()->prependStylesheet($view->baseUrl() . '/skins/' . $skinName . '/css/' . $stylesheet);
         $view->headLink()->headLink(array('rel' => 'favicon', 'href' => $view->baseUrl() . '/skins/' . $skinName . '/favicon.ico'), 'PREPEND');
         Zend_Registry::set('skin', $skinName);
         # javascript files
         $jsfiles = $skinData->files->js->toArray();
         foreach ($jsfiles as $js) {
             $view->headScript()->prependFile($view->baseUrl() . '/skins/' . $skinName . '/js/' . $js);
         }
     } 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
 /**
  * (non-PHPdoc)
  * @see Zend_Form::init()
  */
 public function init()
 {
     #$this->_addClassNames('well');
     $this->setMethod(Zend_Form::METHOD_POST);
     $this->setTranslator();
     $txtName = $this->createElement('text', 'name');
     $txtName->setLabel('ACL_ROLE')->setRequired(TRUE)->setAttrib('size', '40')->addValidator(new Zend_Validate_NotEmpty());
     $this->addElement($txtName);
     $mdlRole = new Acl_Model_Role();
     $roles = $mdlRole->getRoles();
     $cbRole = $this->createElement("select", "parent_id");
     $cbRole->setLabel("ACL_ROLE_PARENT")->setRequired(FALSE);
     if ($roles->count() > 0) {
         foreach ($roles as $role) {
             $cbRole->addMultiOption($role->id, $role->name);
         }
     }
     $this->addElement($cbRole);
     $mdlSkin = new System_Model_Skin();
     $skin = $mdlSkin->getSkinSelected();
     $skinName = is_null($skin) ? 'default' : strtolower($skin->name);
     $layouts = new Zend_Config_Xml(APPLICATION_PATH . '/layouts/scripts/' . $skinName . '/layouts.xml');
     $layouts = $layouts->files->layout->toArray();
     $cbDesktopLayout = $this->createElement("select", "desktop_layout");
     $cbDesktopLayout->setLabel('LBL_DESKTOP_LAYOUT');
     $cbDesktopLayout->setRequired(true);
     $cbMobileLayout = $this->createElement("select", "mobile_layout");
     $cbMobileLayout->setLabel('LBL_MOBILE_LAYOUT');
     $cbMobileLayout->setRequired(true);
     foreach ($layouts as $layout) {
         $cbDesktopLayout->addMultiOption($layout, $layout);
         $cbMobileLayout->addMultiOption($layout, $layout);
     }
     $this->addElement($cbDesktopLayout);
     $this->addElement($cbMobileLayout);
     $txtPriority = $this->createElement('text', 'priority');
     $txtPriority->setLabel('ACL_PRIORITY')->setRequired(TRUE)->setAttrib('size', 10)->setAttrib('maxlength', 2)->addValidator(new Zend_Validate_NotEmpty());
     $this->addElement($txtPriority);
     $id = $this->createElement('hidden', 'id');
     $id->setDecorators(array('ViewHelper'));
     $this->addElement($id);
     $token = new Zend_Form_Element_Hash('token');
     $token->setSalt(md5(uniqid(rand(), TRUE)));
     $token->setTimeout(60);
     $token->setDecorators(array('ViewHelper'));
     $this->addElement($token);
     $submitOptions = array('buttonType' => Twitter_Bootstrap_Form_Element_Button::BUTTON_LINK, 'type' => 'submit', 'buttonType' => 'default');
     $btnSubmit = new Twitter_Bootstrap_Form_Element_Button('submit', $submitOptions);
     $btnSubmit->setLabel('LBL_SAVE');
     $btnSubmit->removeDecorator('Label');
     $btnSubmit->setDecorators(array(array('FieldSize'), array('ViewHelper'), array('Addon'), array('ElementErrors'), array('Description', array('tag' => 'p', 'class' => 'help-block')), array('HtmlTag', array('tag' => 'div', 'class' => 'controls')), array('Wrapper')));
     $btnSubmit->removeDecorator('Label');
     $this->addElement($btnSubmit);
 }
Example #3
0
 /**
  * (non-PHPdoc)
  * @see Zend_Controller_Plugin_Abstract::preDispatch()
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     try {
         $boostrap = Zend_Controller_Front::getInstance()->getParam('bootstrap');
         $userAgent = $boostrap->getResource('useragent');
         $device = $userAgent->getDevice();
         $module = strtolower($this->getRequest()->getModuleName());
         $controller = strtolower($this->_request->getControllerName());
         $action = strtolower($this->_request->getActionName());
         $role = null;
         $auth = Zend_Auth::getInstance();
         #Zend_Debug::dump( $auth->hasIdentity() );
         $mdlRole = new Acl_Model_Role();
         if ($auth->hasIdentity()) {
             $identity = $auth->getIdentity();
             $role = $mdlRole->find(intval($identity->role_id));
         } else {
             $role = $mdlRole->find(3);
         }
         if ((int) $device->getFeature('is_desktop') == 1) {
             $layout = $role->desktop_layout;
         } else {
             $layout = $role->mobile_layout;
         }
         $mdlSkin = new System_Model_Skin();
         $skin = $mdlSkin->getSkinSelected();
         $skinName = is_null($skin) ? 'default' : strtolower($skin->name);
         $layoutPath = Zend_Layout::getMvcInstance()->getLayoutPath();
         Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . '/layouts/scripts/' . $skinName);
         Zend_Layout::getMvcInstance()->setLayout($layout);
     } catch (Exception $e) {
         $layout = "frontend";
         Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . '/layouts/scripts/default');
         Zend_Layout::getMvcInstance()->setLayout($layout);
         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 selectAction()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     try {
         $id = $this->getRequest()->getParam('id', 0);
         $mdlSkin = new System_Model_Skin();
         $skin = $mdlSkin->find($id)->current();
         if (!$skin) {
             throw new Exception($translate->translate("SYSTEM_SKIN_NOT_FOUND"));
         }
         $skinSelected = $mdlSkin->getSkinSelected();
         $skinSelected->isselected = 0;
         $skinSelected->save();
         $skin->isselected = 1;
         $skin->save();
         $this->_helper->flashMessenger->addMessage(array('type' => 'info', 'header' => '', 'message' => $translate->translate("LBL_CHANGES_SAVED")));
         $this->redirect('skins');
     } catch (Exception $e) {
         $this->_helper->flashMessenger->addMessage(array('type' => 'error', 'header' => '', 'message' => $e->getMessage()));
         $this->redirect('skins');
     }
     return;
 }