protected function createAndGrant($sLogin, $sDisplayName, $sEmail, $sPassword)
 {
     try {
         //try to register
         $sLang = AnwCurrentSession::getLang();
         $nTimezone = AnwCurrentSession::getTimezone();
         $oUser = AnwUsers::createUser($sLogin, $sDisplayName, $sEmail, $sLang, $nTimezone, $sPassword);
         $this->grantUserAdmin($oUser);
         return;
     } catch (AnwLoginAlreadyTakenException $e) {
         $sError = $this->g_("err_loginalreadytaken");
     } catch (AnwBadLoginException $e) {
         $sError = $this->g_("err_badlogin");
     } catch (AnwDisplayNameAlreadyTakenException $e) {
         $sError = $this->g_("err_displaynamealreadytaken");
     } catch (AnwBadDisplayNameException $e) {
         $sError = $this->g_("err_baddisplayname");
     } catch (AnwEmailAlreadyTakenException $e) {
         $sError = $this->g_("err_emailalreadytaken");
     } catch (AnwBadEmailException $e) {
         $sError = $this->g_("err_bademail");
     } catch (AnwBadPasswordException $e) {
         $sError = $this->g_("err_badpassword");
     } catch (AnwBadCaptchaException $e) {
         $sError = $this->g_("err_badcaptcha");
     }
     $this->showChooseGrant($sLogin, $sDisplayName, $sEmail, "", $sError);
 }
Esempio n. 2
0
 function run()
 {
     if (!self::globalCfgUsersRegisterEnabled()) {
         AnwUtils::redirect();
     }
     $this->setTitle($this->t_('title'));
     $sError = false;
     $sLogin = "";
     $sDisplayName = "";
     $sEmail = "";
     if (AnwEnv::_POST("submit")) {
         $sLogin = AnwEnv::_POST("login", "");
         $sDisplayName = AnwEnv::_POST("displayname", "");
         $sEmail = AnwEnv::_POST("email", "");
         $sPassword = AnwEnv::_POST("password", "");
         //try to register
         try {
             $this->checkCaptcha();
             $sLang = AnwCurrentSession::getLang();
             $nTimezone = AnwCurrentSession::getTimezone();
             $oUser = AnwUsers::createUser($sLogin, $sDisplayName, $sEmail, $sLang, $nTimezone, $sPassword);
             AnwCurrentSession::login($sLogin, $sPassword, false);
             //open a public time-limited session
             $this->redirectInfo(false, $this->t_("t_created"), $this->t_("p_created"));
         } catch (AnwLoginAlreadyTakenException $e) {
             $sError = $this->g_("err_loginalreadytaken");
         } catch (AnwBadLoginException $e) {
             $sError = $this->g_("err_badlogin");
         } catch (AnwDisplayNameAlreadyTakenException $e) {
             $sError = $this->g_("err_displaynamealreadytaken");
         } catch (AnwBadDisplayNameException $e) {
             $sError = $this->g_("err_baddisplayname");
         } catch (AnwEmailAlreadyTakenException $e) {
             $sError = $this->g_("err_emailalreadytaken");
         } catch (AnwBadEmailException $e) {
             $sError = $this->g_("err_bademail");
         } catch (AnwBadPasswordException $e) {
             $sError = $this->g_("err_badpassword");
         } catch (AnwBadCaptchaException $e) {
             $sError = $this->g_("err_badcaptcha");
         }
     }
     //display register form
     $this->out .= $this->tpl()->registerForm(AnwUtils::alink("register"), $sLogin, $sDisplayName, $sEmail, $sError);
 }