/** * (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) { } } }
/** * (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); }
/** * (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) { } } }
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; }