/** * Login, register environments on this web application * * --------------------//Actual Login * <request> * 'Username' //string * 'Password' //string * <view-assign> * 'User' //struct $loggedUserInfo * * --------------------//Default * <request> * <view-assign> * * @return void */ public function loginAction() { $request = $this->getRequest(); if ($request->isPost()) { if ($this->getRequest()->isXmlHttpRequest()) { $this->getHelper('Layout')->disableLayout(); } $username = $request->getParam("Username"); $password = $request->getParam("Password"); $webservice = $this->getInvokeArg('bootstrap')->getResource('webservice'); $webservice->setAuth(array('user' => $username, 'password' => $password)); $user = Streamwide_Web_Model::call('User.Login', array($username, $password)); //$user = $user[0]; Streamwide_Web_Log::debug("user {$username} login"); $namespace = new Zend_Session_Namespace('SwIRS_Web'); $namespace->userInfo = $user; $namespace->username = $username; $namespace->password = $password; $namespace->customerState = $user['TemporaryPassword']; $namespace->customerUserId = $user['UserId']; $namespace->customerAccountId = $user['CustomerAccountId']; $namespace->secondaryCustomerAccountId = $user['CustomerAccountId']; $profile = Streamwide_Web_Model::call('User.GetProfileById', array($user['ProfileId'])); $namespace->profile = $profile; $role = SwIRS_Web_Request::getRole($profile); $_SESSION['APPLICATION_ROLE'] = $role; if ($role == SwIRS_Web_Request::SUPER_ADMIN) { $namespace->customerAccountId = SwIRS_Web_Request::SUPER_ADMIN_CUSTOMER_ACCOUNT_ID; $namespace->secondaryCustomerAccountId = SwIRS_Web_Request::SUPER_ADMIN_CUSTOMER_ACCOUNT_ID; } if ($namespace->customerState == SwIRS_Web_Request::STATE_PROVISIONAL) { $role = SwIRS_Web_Request::PROVISIONAL; } $menu = SwIRS_Web_Request::getMenu($role); $namespace->menu = $menu; $this->view->assign('User', $user); $this->getHelper('viewRenderer')->direct('login-ack'); } }