예제 #1
0
 /**
  * Registration form submit (registration page version)
  * @param AjaxCheckbox $accept
  * @param AjaxCheckbox $redirect
  * @param AjaxString|null $email
  * @param AjaxString|null $password1
  * @param AjaxString|null $password2
  * @param AjaxString|null $login
  * @param AjaxString|null $capcha
  * @throws Exception
  */
 public function submitAjaxAction(AjaxCheckbox $accept, AjaxCheckbox $redirect, AjaxString $email = null, AjaxString $password1 = null, AjaxString $password2 = null, AjaxString $login = null, AjaxString $capcha = null)
 {
     $register = new Users\Register();
     $register->setEmail($email);
     $register->setLogin($login);
     $register->setPassword1($password1);
     $register->setPassword2($password2);
     $register->setCaptcha($capcha);
     if (!$register->validate()) {
         $register->callAjaxerEvents();
         return;
     }
     // EULA
     if (!$accept->val() and \Difra\Config::getInstance()->getValue('auth', 'eula')) {
         $this->root->appendChild($this->xml->createElement('eula'));
         Ajaxer::display(View::render($this->xml, 'auth-ajax', true));
         return;
     }
     $register->register();
     $this->afterSuccess();
 }
예제 #2
0
파일: login.php 프로젝트: difra-org/difra
 /**
  * Change password
  * @param Difra\Param\AjaxString $oldpassword
  * @param Difra\Param\AjaxString $password1
  * @param Difra\Param\AjaxString $password2
  */
 public function passwordAjaxActionAuth(Param\AjaxString $oldpassword, Param\AjaxString $password1, Param\AjaxString $password2)
 {
     $user = User::getCurrent();
     if (!$user->verifyPassword($oldpassword)) {
         Ajaxer::status('oldpassword', Locales::get('auth/password/bad_old'), 'problem');
         $ok = false;
     } else {
         $ok = true;
     }
     $reg = new Register();
     $reg->setPassword1($password1->val());
     $reg->setPassword2($password2->val());
     if (!$reg->validatePasswords()) {
         if ($ok) {
             Ajaxer::status('oldpassword', Locales::get('auth/password/old_ok'), 'ok');
         }
         $reg->callAjaxerEvents();
         return;
     }
     if (!$ok) {
         return;
     }
     $user->setPassword($password1->val());
     $this->afterPasswordChangeAjax();
 }