/**
  * 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();
 }
Beispiel #2
0
 /**
  * Performs an authentication attempt
  *
  * @throws Zend_Auth_Adapter_Exception If authentication cannot
  *                                     be performed
  * @return Zend_Auth_Result
  */
 public function authenticate()
 {
     $user = Koryukan_Model_User::getByUsername($this->_username);
     if (isset($user)) {
         if ($user->validatePassword($this->_password)) {
             return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $user);
         }
     }
     return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, null);
 }
Beispiel #3
0
 /**
  * Make sure the user is valid
  *
  * @return void
  */
 public function isValid($value)
 {
     $valid = true;
     $this->_user = $value;
     $namePartsValidator = new Zend_Validate();
     $namePartsValidator->addValidator(new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::STRING))->addValidator(new Zend_Validate_Alpha(array('allowWhiteSpace' => true)))->addValidator(new Zend_Validate_StringLength(array('min' => 2)));
     if (!$namePartsValidator->isValid($this->_user->getFirstName())) {
         $valid = false;
         $this->_error($this->_view->translate('The first name must have at least 2 characters and consist only of letters'));
     }
     if (!$namePartsValidator->isValid($this->_user->getLastName())) {
         $valid = false;
         $this->_error($this->_view->translate('The last name must have at least 2 characters and consist only of letters'));
     }
     $emailValidator = new Zend_Validate_EmailAddress();
     if (!$emailValidator->isValid($this->_user->getEmail())) {
         $valid = false;
         $this->_error($this->_view->translate('You must entre a valid email'));
     }
     if ($this->_user->isNew()) {
         $usernameValidator = new Zend_Validate();
         $usernameValidator->addValidator(new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::STRING))->addValidator(new Zend_Validate_Alnum(array('allowWhiteSpace' => false)))->addValidator(new Zend_Validate_StringLength(array('min' => 5)));
         if (!$usernameValidator->isValid($this->_user->getUsername())) {
             $this->_error($this->_view->translate('The username must have at least 5 characters and contains no white spaces'));
         }
     }
     return $valid;
 }
 /**
  * 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();
 }
Beispiel #5
0
 /**
  * Add a user to the acl
  *
  * @return void
  */
 private function _addUser(Koryukan_Model_User $user)
 {
     $groups = $user->getGroups();
     $parents = array();
     foreach ($groups as $group) {
         $parents[] = $group->getRoleId();
     }
     $this->addRole($user, $parents);
 }