Browse Source

updated Admin/Migrate Controller & Libraries/Aauth

v3-dev
REJack 7 years ago
parent
commit
5db98b7b48
No known key found for this signature in database
GPG Key ID: 4A44B48700429F46
  1. 1
      application/Controllers/Admin/Migrate.php
  2. 25
      application/Libraries/Aauth.php

1
application/Controllers/Admin/Migrate.php

@ -33,6 +33,7 @@ class Migrate extends Controller
*/ */
public function index() public function index()
{ {
helper('aauth');
$config = new \Config\Aauth(); $config = new \Config\Aauth();
$migrate = \Config\Services::migrations(); $migrate = \Config\Services::migrations();

25
application/Libraries/Aauth.php

@ -268,12 +268,12 @@ class Aauth
helper('text'); helper('text');
$userVariableModel = new UserVariableModel(); $userVariableModel = new UserVariableModel();
$emailService = \Config\Services::email(); $emailService = \Config\Services::email();
$verificationCode = random_string('alnum', 16); $verificationCode = sha1(strtotime('now'));
$userVariableModel->save($userId, 'verification_code', $verificationCode, true); $userVariableModel->save($userId, 'verification_code', $verificationCode, true);
$messageData['code'] = $verificationCode; $messageData['code'] = $verificationCode;
$messageData['link'] = site_url($this->config->linkVerification . '/' . $verificationCode); $messageData['link'] = site_url($this->config->linkVerification . '/' . $userId . '/' . $verificationCode);
$emailService->initialize(isset($this->config->emailConfig) ? $this->config->emailConfig : []); $emailService->initialize(isset($this->config->emailConfig) ? $this->config->emailConfig : []);
$emailService->setFrom($this->config->emailFrom, $this->config->emailFromName); $emailService->setFrom($this->config->emailFrom, $this->config->emailFromName);
@ -289,24 +289,25 @@ class Aauth
* *
* Activates user account based on verification code * Activates user account based on verification code
* *
* @param integer $userId User id to activate * @param string $verificationCode Code to validate against
* @param string $verificationCode Code to validate against
* *
* @return boolean Activation fails/succeeds * @return boolean Activation fails/succeeds
*/ */
public function verifyUser(int $userId, string $verificationCode) public function verifyUser(string $verificationCode)
{ {
$userVariableModel = new UserVariableModel(); $userVariableModel = new UserVariableModel();
$userVariable = [
'data_key' => 'verification_code',
'data_value' => $verificationCode,
'system' => 1,
];
if ($verificationCodeStored = $userVariableModel->find($userId, 'verification_code', true)) if ($verificationCodeStored = $userVariableModel->where($userVariable)->first())
{ {
if ($verificationCode === $verificationCodeStored) $userVariableModel->delete($verificationCodeStored['user_id'], 'verification_code', true);
{ $this->info(lang('Aauth.infoVerification'));
$userVariableModel->delete($userId, 'verification_code', true);
$this->info(lang('Aauth.infoVerification'));
return true; return true;
}
} }
$this->error(lang('Aauth.invalidVerficationCode')); $this->error(lang('Aauth.invalidVerficationCode'));

Loading…
Cancel
Save