Exemplo n.º 1
0
 /**
  * Checks a new user's form for errors
  */
 public function postNewUser(PHPWS_User $user)
 {
     $new_user_method = PHPWS_User::getUserSetting('new_user_method');
     $result = $user->setUsername($_POST['username']);
     if (PHPWS_Error::isError($result)) {
         $error['USERNAME_ERROR'] = dgettext('users', 'Please try another user name.');
     }
     if (!User_Action::testForbidden($user)) {
         $user->username = null;
         $error['USERNAME_ERROR'] = dgettext('users', 'Please try another user name.');
     }
     if (!$user->isUser() || (!empty($_POST['password1']) || !empty($_POST['password2']))) {
         $result = $user->checkPassword($_POST['password1'], $_POST['password2']);
         if (PHPWS_Error::isError($result)) {
             $error['PASSWORD_ERROR'] = $result->getMessage();
         } else {
             $user->setPassword($_POST['password1'], false);
         }
     }
     if (empty($_POST['email'])) {
         $error['EMAIL_ERROR'] = dgettext('users', 'Missing an email address.');
     } else {
         $result = $user->setEmail($_POST['email']);
         if (PHPWS_Error::isError($result)) {
             $error['EMAIL_ERROR'] = dgettext('users', 'This email address cannot be used.');
         }
     }
     if (!User_Action::confirm()) {
         $error['CONFIRM_ERROR'] = dgettext('users', 'Confirmation phrase is not correct.');
     }
     if (isset($error)) {
         return $error;
     } else {
         return true;
     }
 }