Should call PendingRegist for DB operations
This commit is contained in:
parent
e25165eaa6
commit
6b75d5a394
|
|
@ -16,6 +16,7 @@ use \OCP\AppFramework\App;
|
||||||
|
|
||||||
use \OCA\Registration\Controller\RegisterController;
|
use \OCA\Registration\Controller\RegisterController;
|
||||||
use \OCA\Registration\Wrapper;
|
use \OCA\Registration\Wrapper;
|
||||||
|
use \OCA\Registration\Db\PendingRegist;
|
||||||
|
|
||||||
|
|
||||||
class Application extends App {
|
class Application extends App {
|
||||||
|
|
@ -31,7 +32,11 @@ class Application extends App {
|
||||||
$container->registerService('RegisterController', function($c) {
|
$container->registerService('RegisterController', function($c) {
|
||||||
return new RegisterController(
|
return new RegisterController(
|
||||||
$c->query('AppName'),
|
$c->query('AppName'),
|
||||||
$c->query('Request')
|
$c->query('Request'),
|
||||||
|
$c->query('Mail'),
|
||||||
|
$c->query('L10N'),
|
||||||
|
$c->query('URLGenerator'),
|
||||||
|
$c->query('PendingRegist')
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,14 +21,15 @@ class RegisterController extends Controller {
|
||||||
|
|
||||||
private $mail;
|
private $mail;
|
||||||
private $l10n;
|
private $l10n;
|
||||||
private $db;
|
|
||||||
private $urlgenerator;
|
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->mail = $mail;
|
||||||
$this->l10n = $l10n;
|
$this->l10n = $l10n;
|
||||||
$this->db = $db;
|
|
||||||
$this->urlgenerator = $urlgenerator;
|
$this->urlgenerator = $urlgenerator;
|
||||||
|
$this->pendingreg = $pendingreg;
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -57,14 +58,14 @@ class RegisterController extends Controller {
|
||||||
return;
|
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);
|
$this->displayRegisterPage($this->l10n->t('There is already a pending registration with this email'), true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FEATURE: allow only from specific email domain
|
// 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 = $this->urlgenerator->linkToRoute('registration.verify.token', array('token' => $token));
|
||||||
$link = OC_Helper::makeURLAbsolute($link);
|
$link = OC_Helper::makeURLAbsolute($link);
|
||||||
$from = OCP\Util::getDefaultEmailAddress('register');
|
$from = OCP\Util::getDefaultEmailAddress('register');
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ class PendingRegist {
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function savePendingRegistration($email) {
|
public function save($email) {
|
||||||
$query = $this->db->prepareQuery( 'INSERT INTO `*PREFIX*registration`'
|
$query = $this->db->prepareQuery( 'INSERT INTO `*PREFIX*registration`'
|
||||||
.' ( `email`, `token`, `requested` ) VALUES( ?, ?, ? )' );
|
.' ( `email`, `token`, `requested` ) VALUES( ?, ?, ? )' );
|
||||||
$token = hash('sha256', generateRandomBytes(30).OC_Config::getValue('passwordsalt', ''));
|
$token = hash('sha256', generateRandomBytes(30).OC_Config::getValue('passwordsalt', ''));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue