/**
  * (non-PHPdoc)
  * @see Zend_Controller_Action::preDispatch()
  */
 public function preDispatch()
 {
     $controllerName = $this->getRequest()->getControllerName();
     $controllerAction = $this->getRequest()->getActionName();
     $acl = Zend_Registry::get("Zend_Acl");
     $role = UserMap::getRole();
     if (!$this->getRequest()->isXmlHttpRequest()) {
         if (!$acl->isAllowed(UserMap::getRole(), $controllerName, $controllerAction) && $controllerAction != "logout") {
             if ($role == "guest") {
                 header("Location:/");
             } else {
                 if ($role == "owner" || $role == "member") {
                     header("Location:/owners/login");
                 } else {
                     if ($role == "agent" || $role == "admin") {
                         header("Location:/agents/login");
                     }
                 }
             }
             exit;
         }
     }
     parent::preDispatch();
 }
Example #2
0
 protected function _initAcl()
 {
     $acl = new Acl();
     Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($acl);
     Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole(UserMap::getRole());
     Zend_Registry::set('Zend_Acl', $acl);
     return $acl;
 }
 public function processLoginAction()
 {
     $sessionAgent = new Zend_Session_Namespace("LeadsChat_Auth");
     if (!$sessionAgent->agent_id && $this->_request->isXmlHttpRequest()) {
         if ($this->auth->authenticate()) {
             $this->view->result = array("result" => true, "message" => "Successful logged in", "level" => UserMap::getRole());
         } else {
             $this->view->result = array("result" => false, "message" => "Invalid Username/Password");
         }
     } else {
         if ($sessionAgent->agent_id) {
             $this->view->result = array("result" => true, "message" => "Already logged in");
         } else {
             $this->view->result = array("result" => false, "message" => "Invalid request method");
         }
     }
     $this->_helper->layout->setLayout("plain");
     $this->_helper->viewRenderer("json");
 }