diff --git a/appinfo/info.xml b/appinfo/info.xml index 26dca4f..8fe151f 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -5,8 +5,8 @@ User registration AGPL Pellaeon Lin - 0.2.0 + 0.2.1 - + diff --git a/controller/registercontroller.php b/controller/registercontroller.php index 2aa3fec..a53da0f 100644 --- a/controller/registercontroller.php +++ b/controller/registercontroller.php @@ -262,10 +262,25 @@ class RegisterController extends Controller { } // Try to log user in - $this->usersession->login($username, $password); - $this->usersession->createSessionToken($this->request, $userId, $username, $password); + if ( method_exists($this->usersession, 'createSessionToken') ) { + $this->usersession->login($username, $password); + $this->usersession->createSessionToken($this->request, $userId, $username, $password); + return new RedirectResponse($this->urlgenerator->linkToRoute('files.view.index')); + } elseif (OC_User::login($username, $password)) { + $this->cleanupLoginTokens($userId); + // FIXME unsetMagicInCookie will fail from session already closed, so now we always remember + $logintoken = $this->random->generate(32); + $this->config->setUserValue($userId, 'login_token', $logintoken, time()); + OC_User::setMagicInCookie($userId, $logintoken); + OC_Util::redirectToDefaultPage(); - return new RedirectResponse($this->urlgenerator->linkToRoute('files.view.index')); + // Render message in case redirect failed + return new TemplateResponse('registration', 'message', array('msg' => + str_replace('{link}', + $this->urlgenerator->getAbsoluteURL('/'), + $this->l10n->t('Your account has been successfully created, you can log in now.') + )), 'guest'); + } } } }