diff --git a/appinfo/application.php b/appinfo/application.php index 83b2563..5ed0333 100644 --- a/appinfo/application.php +++ b/appinfo/application.php @@ -16,6 +16,7 @@ use \OCP\AppFramework\App; use \OCA\Registration\Controller\RegisterController; use \OCA\Registration\Wrapper; +use \OCA\Registration\Db\PendingRegist; class Application extends App { @@ -31,7 +32,11 @@ class Application extends App { $container->registerService('RegisterController', function($c) { return new RegisterController( $c->query('AppName'), - $c->query('Request') + $c->query('Request'), + $c->query('Mail'), + $c->query('L10N'), + $c->query('URLGenerator'), + $c->query('PendingRegist') ); }); diff --git a/controller/registercontroller.php b/controller/registercontroller.php index 89749b3..962bbac 100644 --- a/controller/registercontroller.php +++ b/controller/registercontroller.php @@ -21,14 +21,15 @@ class RegisterController extends Controller { private $mail; private $l10n; - private $db; private $urlgenerator; + private $pendingreg; - public function __construct($appName, IRequest $request, Mail $mail, $l10n, $db, $urlgenerator){ + public function __construct($appName, IRequest $request, Mail $mail, $l10n, $urlgenerator, + $pendingreg){ $this->mail = $mail; $this->l10n = $l10n; - $this->db = $db; $this->urlgenerator = $urlgenerator; + $this->pendingreg = $pendingreg; parent::__construct($appName, $request); } @@ -57,14 +58,14 @@ class RegisterController extends Controller { return; } - if ( $this->db->find($email) ) { + if ( $this->pendingreg->find($email) ) { $this->displayRegisterPage($this->l10n->t('There is already a pending registration with this email'), true); return; } // FEATURE: allow only from specific email domain - $token = $this->db->savePendingRegistration($email); + $token = $this->pendingreg->save($email); $link = $this->urlgenerator->linkToRoute('registration.verify.token', array('token' => $token)); $link = OC_Helper::makeURLAbsolute($link); $from = OCP\Util::getDefaultEmailAddress('register'); diff --git a/db/pendingregist.php b/db/pendingregist.php index 34ab34f..a72faf9 100644 --- a/db/pendingregist.php +++ b/db/pendingregist.php @@ -12,7 +12,7 @@ class PendingRegist { $this->db = $db; } - public function savePendingRegistration($email) { + public function save($email) { $query = $this->db->prepareQuery( 'INSERT INTO `*PREFIX*registration`' .' ( `email`, `token`, `requested` ) VALUES( ?, ?, ? )' ); $token = hash('sha256', generateRandomBytes(30).OC_Config::getValue('passwordsalt', ''));