From 37743dfd5d74daccc71b4ef0b603a6c4ce0df31c Mon Sep 17 00:00:00 2001 From: Pellaeon Lin Date: Sat, 9 Jul 2016 16:08:54 +0800 Subject: [PATCH] Fix# compatibility with 9.0 --- appinfo/info.xml | 4 ++-- controller/registercontroller.php | 21 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) 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'); + } } } }