/** * Save the user profile changes * * @return void */ public function saveAction() { $response = array('success' => false); $request = $this->getRequest(); $username = $request->getParam('username', ''); if ($this->_isCurrentLogedInUser($username)) { $user = Koryukan_Model_User::getByUsername($username); $user->setFirstName($request->getParam('firstName', '')); $user->setLastName($request->getParam('lastName', '')); $user->setEmail($request->getParam('email', '')); $validator = new KoryukanMembers_UserValidator($this->view); $isValid = $validator->isValid($user); if ($isValid) { $user->save(); $response['success'] = true; $response['messages'] = array($this->view->translate('Your profile has been updated') => "\n"); } else { $response['messages'] = $validator->getMessages(); } } $response['title'] = $this->view->translate('Profile Update'); $this->getResponse()->setHeader('Content-Type', 'text/json')->setBody(Zend_Json::encode($response)); $this->getHelper('viewRenderer')->setNoRender(); $this->_helper->layout->disableLayout(); }
/** * Edit a user * * @return void */ public function edituserAction() { $response = array('success' => false); $request = $this->getRequest(); $operation = $request->getParam('oper', 'edit'); if (0 === strcasecmp('add', $operation)) { $isNew = true; } else { $isNew = false; } if ($isNew) { $user = new Koryukan_Model_User(); $user->setUsername($request->getParam('username')); } else { $user = Koryukan_Model_User::getByUsername($request->getParam('username')); } $user->setFirstName($request->getParam('firstName')); $user->setLastName($request->getParam('lastName')); $user->setEmail($request->getParam('email')); $user->setStatus($request->getParam('status')); $user->addGroup($request->getParam('group')); if ($isNew) { $user->setPassword($request->getParam('password')); } $validator = new KoryukanMembers_UserValidator($this->view); $isValid = $validator->isValid($user); if ($isValid) { $user->save(); $response['success'] = true; } else { $response['messages'] = $validator->getMessages(); } $this->getResponse()->setHeader('Content-Type', 'text/json')->setBody(Zend_Json::encode($response)); $this->getHelper('viewRenderer')->setNoRender(); $this->_helper->layout->disableLayout(); }