Skip to content
Snippets Groups Projects
Commit aa91c1e3 authored by PavelBegunkov's avatar PavelBegunkov
Browse files

model account: static methods

parent 2f256970
Branches
Tags
No related merge requests found
...@@ -45,7 +45,6 @@ class Account { ...@@ -45,7 +45,6 @@ class Account {
protected static $_instance; protected static $_instance;
protected $_config; protected $_config;
protected $_model;
/** /**
* Вовзращает экземпляр класса (singleton-паттерн) * Вовзращает экземпляр класса (singleton-паттерн)
...@@ -61,7 +60,6 @@ class Account { ...@@ -61,7 +60,6 @@ class Account {
private function __construct($config = array()) { private function __construct($config = array()) {
$this->_config = $config; $this->_config = $config;
$this->_model = new Model_Account;
} }
private function generateActivationCode() { private function generateActivationCode() {
...@@ -71,30 +69,30 @@ class Account { ...@@ -71,30 +69,30 @@ class Account {
public function createTeacher($lastName, $firstName, $secondName, $degreeID, $departmentID) { public function createTeacher($lastName, $firstName, $secondName, $degreeID, $departmentID) {
$code = $this->generateActivationCode(); $code = $this->generateActivationCode();
$response = $this->_model->createTeacher($lastName, $firstName, $secondName, $degreeID, $departmentID, $code); $response = Model_Account::createTeacher($lastName, $firstName, $secondName, $degreeID, $departmentID, $code);
return $response == -1 ? -1 : $code; return $response == -1 ? -1 : $code;
} }
public function createTeacherByDepName($lastName, $firstName, $secondName, $departmentName, $facultyID) { public function createTeacherByDepName($lastName, $firstName, $secondName, $departmentName, $facultyID) {
$code = $this->generateActivationCode(); $code = $this->generateActivationCode();
$response = $this->_model->createTeacherByDepName($lastName, $firstName, $secondName, $departmentName, $facultyID, $code); $response = Model_Account::createTeacherByDepName($lastName, $firstName, $secondName, $departmentName, $facultyID, $code);
return $response == -1 ? -1 : $code; return $response == -1 ? -1 : $code;
} }
public function createStudent($lastName, $firstName, $secondName, $grade, $groupNum, $facultyID) { public function createStudent($lastName, $firstName, $secondName, $grade, $groupNum, $facultyID) {
$code = $this->generateActivationCode(); $code = $this->generateActivationCode();
$response = $this->_model->createStudent($lastName, $firstName, $secondName, $grade, $groupNum, $facultyID, $code); $response = Model_Account::createStudent($lastName, $firstName, $secondName, $grade, $groupNum, $facultyID, $code);
return $response == -1 ? -1 : $code; return $response == -1 ? -1 : $code;
} }
public function createStudentEx($lastName, $firstName, $secondName, $grade, $groupNum, $degree, $spec, $facultyID) { public function createStudentEx($lastName, $firstName, $secondName, $grade, $groupNum, $degree, $spec, $facultyID) {
$code = $this->generateActivationCode(); $code = $this->generateActivationCode();
$response = $this->_model->createStudentEx($lastName, $firstName, $secondName, $grade, $groupNum, $degree, $spec, $facultyID, $code); $response = Model_Account::createStudentEx($lastName, $firstName, $secondName, $grade, $groupNum, $degree, $spec, $facultyID, $code);
return $response == -1 ? -1 : $code; return $response == -1 ? -1 : $code;
} }
public function createSubject($name, $abbr, $facultyID) { public function createSubject($name, $abbr, $facultyID) {
return $this->_model->createSubject($name, $abbr, $facultyID); return Model_Account::createSubject($name, $abbr, $facultyID);
} }
private function checkTokenLifetime($creationDate) { private function checkTokenLifetime($creationDate) {
...@@ -104,7 +102,7 @@ class Account { ...@@ -104,7 +102,7 @@ class Account {
} }
public function checkToken($token) { public function checkToken($token) {
$recovery = $this->_model->getRecoveryInfoByToken($token)[0]; $recovery = Model_Account::getRecoveryInfoByToken($token)[0];
$response = true; $response = true;
if ($recovery['isUsed']) { if ($recovery['isUsed']) {
...@@ -112,7 +110,7 @@ class Account { ...@@ -112,7 +110,7 @@ class Account {
} else { } else {
$date = strtotime($recovery['Date']); $date = strtotime($recovery['Date']);
if ($this->checkTokenLifetime($date)) { if ($this->checkTokenLifetime($date)) {
$this->_model->useRecoveryToken($recovery['Token']); Model_Account::useRecoveryToken($recovery['Token']);
$response = false; $response = false;
} }
} }
...@@ -122,7 +120,7 @@ class Account { ...@@ -122,7 +120,7 @@ class Account {
public function createRecoveryRequest($email) { public function createRecoveryRequest($email) {
$requestToken = sha1($email.time().Cookie::$salt); $requestToken = sha1($email.time().Cookie::$salt);
$UserFullName = $this->_model->createRecoveryToken($email, $requestToken); $UserFullName = Model_Account::createRecoveryToken($email, $requestToken);
if (!$UserFullName) { if (!$UserFullName) {
throw HTTP_Exception::factory(403, 'Пользователь с таким e-mail адресом не зарегистрирован в системе!'); throw HTTP_Exception::factory(403, 'Пользователь с таким e-mail адресом не зарегистрирован в системе!');
} }
...@@ -147,33 +145,33 @@ class Account { ...@@ -147,33 +145,33 @@ class Account {
} }
public function changePasswordByToken($token, $password) { public function changePasswordByToken($token, $password) {
$recovery = $this->_model->getRecoveryInfoByToken($token)[0]; $recovery = Model_Account::getRecoveryInfoByToken($token)[0];
$this->changePassword($recovery['AccountID'], $password); $this->changePassword($recovery['AccountID'], $password);
$this->_model->useRecoveryToken($token); Model_Account::useRecoveryToken($token);
} }
public function loginExists($login) { public function loginExists($login) {
$login_count = $this->_model->getAccNumByLogin($login); $login_count = Model_Account::getAccNumByLogin($login);
return $login_count > 0; return $login_count > 0;
} }
public function mailExists($email) { public function mailExists($email) {
$email_count = $this->_model->getAccNumByMail($email); $email_count = Model_Account::getAccNumByMail($email);
return $email_count > 0; return $email_count > 0;
} }
public function changeLogin($id, $newLogin) { public function changeLogin($id, $newLogin) {
$response = $this->_model->changeLogin($id, $newLogin); $response = Model_Account::changeLogin($id, $newLogin);
return $response != -1; return $response != -1;
} }
public function changeEMail($id, $newEMail) { public function changeEMail($id, $newEMail) {
$response = $this->_model->changeMail($id, $newEMail); $response = Model_Account::changeMail($id, $newEMail);
return $response != -1; return $response != -1;
} }
public function changePassword($id, $newPassword) { public function changePassword($id, $newPassword) {
$response = $this->_model->changePassword($id, $newPassword); $response = Model_Account::changePassword($id, $newPassword);
return $response != -1; return $response != -1;
} }
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
class Model_Account extends Model class Model_Account extends Model
{ {
public function setHashKey($key) public static function setHashKey($key)
{ {
$key = Database::instance()->escape($key); $key = Database::instance()->escape($key);
$sql = "SELECT `SetSettings`('HashKey', '', $key) AS `Key`;"; $sql = "SELECT `SetSettings`('HashKey', '', $key) AS `Key`;";
...@@ -10,14 +10,14 @@ class Model_Account extends Model ...@@ -10,14 +10,14 @@ class Model_Account extends Model
return $res->get('Key'); return $res->get('Key');
} }
public function getHashKey() public static function getHashKey()
{ {
$sql = "CALL `GetSettings`('HashKey');"; $sql = "CALL `GetSettings`('HashKey');";
$key = DB::query(Database::SELECT, $sql)->execute(); $key = DB::query(Database::SELECT, $sql)->execute();
return $key->get('ValS'); return $key->get('ValS');
} }
public function getMaintenanceInfo() public static function getMaintenanceInfo()
{ {
$sql = "CALL `GetSettings`('maintenance_active');"; $sql = "CALL `GetSettings`('maintenance_active');";
$key = DB::query(Database::SELECT, $sql)->execute(); $key = DB::query(Database::SELECT, $sql)->execute();
...@@ -28,7 +28,7 @@ class Model_Account extends Model ...@@ -28,7 +28,7 @@ class Model_Account extends Model
return $result; return $result;
} }
public function checkAuth($login, $password) { public static function checkAuth($login, $password) {
$db = Database::instance(); $db = Database::instance();
$login = $db->escape($login); $login = $db->escape($login);
$password = $db->escape($password); $password = $db->escape($password);
...@@ -38,8 +38,7 @@ class Model_Account extends Model ...@@ -38,8 +38,7 @@ class Model_Account extends Model
} }
public function ChangeTeacherInfo($id, $lastName, $firstName, $secondName, $degreeID, $departmentID) public static function ChangeTeacherInfo($id, $lastName, $firstName, $secondName, $degreeID, $departmentID)
{ {
$db = Database::instance(); $db = Database::instance();
$lastName = $db->escape($lastName); $lastName = $db->escape($lastName);
...@@ -51,7 +50,7 @@ class Model_Account extends Model ...@@ -51,7 +50,7 @@ class Model_Account extends Model
} }
public function createTeacher($lastName, $firstName, $secondName, $degreeID, $departmentID, $activationCode) public static function createTeacher($lastName, $firstName, $secondName, $degreeID, $departmentID, $activationCode)
{ {
$db = Database::instance(); $db = Database::instance();
$lastName = $db->escape($lastName); $lastName = $db->escape($lastName);
...@@ -64,7 +63,7 @@ class Model_Account extends Model ...@@ -64,7 +63,7 @@ class Model_Account extends Model
} }
public function createTeacherByDepName($lastName, $firstName, $secondName, $departmentID, $facultyID, $activationCode) public static function createTeacherByDepName($lastName, $firstName, $secondName, $departmentID, $facultyID, $activationCode)
{ {
if ($departmentID == '') { if ($departmentID == '') {
return -1; return -1;
...@@ -81,7 +80,7 @@ class Model_Account extends Model ...@@ -81,7 +80,7 @@ class Model_Account extends Model
return $key->get('UserID'); return $key->get('UserID');
} }
public function createStudent($lastName, $firstName, $secondName, $grade, $groupNum, $facultyID, $activationCode) public static function createStudent($lastName, $firstName, $secondName, $grade, $groupNum, $facultyID, $activationCode)
{ {
$db = Database::instance(); $db = Database::instance();
$lastName = $db->escape($lastName); $lastName = $db->escape($lastName);
...@@ -93,7 +92,7 @@ class Model_Account extends Model ...@@ -93,7 +92,7 @@ class Model_Account extends Model
return $key->get('UserID'); return $key->get('UserID');
} }
public function createStudentEx($lastName, $firstName, $secondName, $gradeNum, $groupNum, $degree, $specialization, $facultyID, $activationCode) public static function createStudentEx($lastName, $firstName, $secondName, $gradeNum, $groupNum, $degree, $specialization, $facultyID, $activationCode)
{ {
$db = Database::instance(); $db = Database::instance();
$lastName = $db->escape($lastName); $lastName = $db->escape($lastName);
...@@ -107,7 +106,7 @@ class Model_Account extends Model ...@@ -107,7 +106,7 @@ class Model_Account extends Model
return $key->get('UserID'); return $key->get('UserID');
} }
public function createSubject($name, $abbr, $facultyID) public static function createSubject($name, $abbr, $facultyID)
{ {
$db = Database::instance(); $db = Database::instance();
$name = $db->escape($name); $name = $db->escape($name);
...@@ -131,7 +130,7 @@ class Model_Account extends Model ...@@ -131,7 +130,7 @@ class Model_Account extends Model
return $query[0]; return $query[0];
} }
public function changeMail($id, $mail) public static function changeMail($id, $mail)
{ {
$mail = Database::instance()->escape($mail); $mail = Database::instance()->escape($mail);
$sql = "SELECT `ChangeAccountData`('$id', $mail, 'email') AS Num;"; $sql = "SELECT `ChangeAccountData`('$id', $mail, 'email') AS Num;";
...@@ -139,7 +138,7 @@ class Model_Account extends Model ...@@ -139,7 +138,7 @@ class Model_Account extends Model
return $query->get('Num'); return $query->get('Num');
} }
public function changeLogin($id, $login) public static function changeLogin($id, $login)
{ {
$login = Database::instance()->escape($login); $login = Database::instance()->escape($login);
$sql = "SELECT `ChangeAccountData`('$id', $login, 'login') AS Num;"; $sql = "SELECT `ChangeAccountData`('$id', $login, 'login') AS Num;";
...@@ -147,7 +146,7 @@ class Model_Account extends Model ...@@ -147,7 +146,7 @@ class Model_Account extends Model
return $query->get('Num'); return $query->get('Num');
} }
public function changePassword($id, $password) public static function changePassword($id, $password)
{ {
$password = Database::instance()->escape($password); $password = Database::instance()->escape($password);
$sql = "SELECT `ChangeAccountData`('$id', $password, 'password') AS Num;"; $sql = "SELECT `ChangeAccountData`('$id', $password, 'password') AS Num;";
...@@ -155,7 +154,7 @@ class Model_Account extends Model ...@@ -155,7 +154,7 @@ class Model_Account extends Model
return $query->get('Num'); return $query->get('Num');
} }
public function getAccNumByLogin($login) public static function getAccNumByLogin($login)
{ {
$login = Database::instance()->escape($login); $login = Database::instance()->escape($login);
$sql = "SELECT `CheckAccountExistence`($login, 'login') AS Num;"; $sql = "SELECT `CheckAccountExistence`($login, 'login') AS Num;";
...@@ -163,7 +162,7 @@ class Model_Account extends Model ...@@ -163,7 +162,7 @@ class Model_Account extends Model
return $res->get('Num'); return $res->get('Num');
} }
public function getAccNumByMail($email) public static function getAccNumByMail($email)
{ {
$email = Database::instance()->escape($email); $email = Database::instance()->escape($email);
$sql = "SELECT `CheckAccountExistence`($email, 'email') AS Num;"; $sql = "SELECT `CheckAccountExistence`($email, 'email') AS Num;";
...@@ -171,7 +170,7 @@ class Model_Account extends Model ...@@ -171,7 +170,7 @@ class Model_Account extends Model
return $res->get('Num'); return $res->get('Num');
} }
public function isActivationCodeValid($code) public static function isActivationCodeValid($code)
{ {
$code = Database::instance()->escape($code); $code = Database::instance()->escape($code);
$sql = "SELECT `CheckAccountExistence`($code, 'code') AS Num;"; $sql = "SELECT `CheckAccountExistence`($code, 'code') AS Num;";
...@@ -181,7 +180,7 @@ class Model_Account extends Model ...@@ -181,7 +180,7 @@ class Model_Account extends Model
return $count == 1; return $count == 1;
} }
public function createRecoveryToken($email, $token) public static function createRecoveryToken($email, $token)
{ {
$db = Database::instance(); $db = Database::instance();
$email = $db->escape($email); $email = $db->escape($email);
...@@ -191,7 +190,7 @@ class Model_Account extends Model ...@@ -191,7 +190,7 @@ class Model_Account extends Model
return $res->get('UserName'); return $res->get('UserName');
} }
public function getRecoveryInfoByEMail($email) public static function getRecoveryInfoByEMail($email)
{ {
$email = Database::instance()->escape($email); $email = Database::instance()->escape($email);
$sql = "CALL GetRecoveryInfoByEMail($email);"; $sql = "CALL GetRecoveryInfoByEMail($email);";
...@@ -199,7 +198,7 @@ class Model_Account extends Model ...@@ -199,7 +198,7 @@ class Model_Account extends Model
return $query; return $query;
} }
public function getRecoveryInfoByToken($token) public static function getRecoveryInfoByToken($token)
{ {
$token = Database::instance()->escape($token); $token = Database::instance()->escape($token);
$sql = "CALL GetRecoveryInfoByToken($token);"; $sql = "CALL GetRecoveryInfoByToken($token);";
...@@ -207,7 +206,7 @@ class Model_Account extends Model ...@@ -207,7 +206,7 @@ class Model_Account extends Model
return $query; return $query;
} }
public function useRecoveryToken($token) public static function useRecoveryToken($token)
{ {
$token = Database::instance()->escape($token); $token = Database::instance()->escape($token);
$sql = "SELECT `UseRecoveryToken`($token) AS Num;"; $sql = "SELECT `UseRecoveryToken`($token) AS Num;";
...@@ -215,7 +214,7 @@ class Model_Account extends Model ...@@ -215,7 +214,7 @@ class Model_Account extends Model
return $email->get('Num'); return $email->get('Num');
} }
public function activateAccount($login, $password, $email, $code) public static function activateAccount($login, $password, $email, $code)
{ {
$db = Database::instance(); $db = Database::instance();
$login = $db->escape($login); $login = $db->escape($login);
...@@ -224,20 +223,14 @@ class Model_Account extends Model ...@@ -224,20 +223,14 @@ class Model_Account extends Model
$code = $db->escape($code); $code = $db->escape($code);
$sql = "SELECT `ActivateAccount` ($code, $login, $email, $password) AS `Num`; "; $sql = "SELECT `ActivateAccount` ($code, $login, $email, $password) AS `Num`; ";
$res = DB::query(Database::SELECT, $sql)->execute(); $res = DB::query(Database::SELECT, $sql)->execute();
foreach ($res as $value) { return $res->get('Num');
$id = $value['Num'];
}
return $id;
} }
public function getCurSemesterID() { public static function getCurSemesterID() {
$sql = "CALL `GetSettings`('SemesterID');"; $sql = "CALL `GetSettings`('SemesterID');";
$res = DB::query(Database::SELECT, $sql)->execute(); $res = DB::query(Database::SELECT, $sql)->execute();
$id = null; $id = null;
foreach ($res as $value) { return $res->get('Val');
$id = $value['Val'];
}
return $id;
} }
} }
\ No newline at end of file
...@@ -33,7 +33,6 @@ class User implements ArrayAccess ...@@ -33,7 +33,6 @@ class User implements ArrayAccess
protected static $_instance; protected static $_instance;
protected $_session; protected $_session;
protected $_config; protected $_config;
protected $_model;
protected $_userInfo; protected $_userInfo;
protected static $_flag; protected static $_flag;
...@@ -55,14 +54,13 @@ class User implements ArrayAccess ...@@ -55,14 +54,13 @@ class User implements ArrayAccess
$this->_config = $config; $this->_config = $config;
$this->_session = Session::instance(); $this->_session = Session::instance();
$this->_model = new Model_Account; $this->_config['hash_key'] = Model_Account::getHashKey();
$this->_config['hash_key'] = $this->_model->getHashKey();
$this->_config['hash_method'] = 'sha256'; $this->_config['hash_method'] = 'sha256';
$isSignedIn = $this->isSignedIn(); $isSignedIn = $this->isSignedIn();
if ($isSignedIn) { if ($isSignedIn) {
$id = $this->_session->get('ID'); $id = $this->_session->get('ID');
$this->_userInfo = $this->getInfoFromDB($id, $this->_model->getCurSemesterID()); $this->_userInfo = $this->getInfoFromDB($id, Model_Account::getCurSemesterID());
if (self::$_flag != true) { if (self::$_flag != true) {
$this->_session->regenerate(); $this->_session->regenerate();
...@@ -117,7 +115,7 @@ class User implements ArrayAccess ...@@ -117,7 +115,7 @@ class User implements ArrayAccess
* и false, если данные являются некорректными. * и false, если данные являются некорректными.
*/ */
public function signIn($login, $password) { public function signIn($login, $password) {
$id = (int)$this->_model->checkAuth($login, $password); $id = (int)Model_Account::checkAuth($login, $password);
if ($id === -1) { if ($id === -1) {
return false; return false;
} else { } else {
...@@ -131,7 +129,7 @@ class User implements ArrayAccess ...@@ -131,7 +129,7 @@ class User implements ArrayAccess
$passwordHash = $this->hash($passhash . $this->_config['hash_key']); $passwordHash = $this->hash($passhash . $this->_config['hash_key']);
Cookie::set('userhash', $passwordHash); Cookie::set('userhash', $passwordHash);
$semester = $this->_model->getCurSemesterID(); $semester = Model_Account::getCurSemesterID();
$this->_userInfo = $this->getInfoFromDB($id, $semester); $this->_userInfo = $this->getInfoFromDB($id, $semester);
$this->_session->regenerate(); $this->_session->regenerate();
$this->_session->set('ID', $id); $this->_session->set('ID', $id);
...@@ -210,7 +208,7 @@ class User implements ArrayAccess ...@@ -210,7 +208,7 @@ class User implements ArrayAccess
if (!$this->checkPassword($old)) if (!$this->checkPassword($old))
return false; return false;
$this->_model->changePassword($this->ID, $new); Model_Account::changePassword($this->ID, $new);
$passhash = $this->hash($this->hash($new) . $this->_config['hash_key']); $passhash = $this->hash($this->hash($new) . $this->_config['hash_key']);
$this->_session->set('PasswordHash', $passhash); $this->_session->set('PasswordHash', $passhash);
Cookie::set('userhash', $passhash); Cookie::set('userhash', $passhash);
...@@ -221,7 +219,7 @@ class User implements ArrayAccess ...@@ -221,7 +219,7 @@ class User implements ArrayAccess
if (!$this->isSignedIn() || Account::instance()->loginExists($login)) if (!$this->isSignedIn() || Account::instance()->loginExists($login))
return false; return false;
$this->_model->changeLogin($this->ID, $login); Model_Account::changeLogin($this->ID, $login);
return true; return true;
} }
...@@ -238,7 +236,7 @@ class User implements ArrayAccess ...@@ -238,7 +236,7 @@ class User implements ArrayAccess
public function completeChangeMail($token) { public function completeChangeMail($token) {
$email = $this->_session->get('NewMail_Adress'); $email = $this->_session->get('NewMail_Adress');
if ($token == $this->_session->get('NewMail_Token') AND !Account::instance()->mailExists($email)) { if ($token == $this->_session->get('NewMail_Token') AND !Account::instance()->mailExists($email)) {
$this->_model->changeMail($this->ID, $email); Model_Account::changeMail($this->ID, $email);
return true; return true;
} else { } else {
return false; return false;
...@@ -247,7 +245,7 @@ class User implements ArrayAccess ...@@ -247,7 +245,7 @@ class User implements ArrayAccess
public function changeProfile($data) { public function changeProfile($data) {
if ($this->Type == 'teacher') { if ($this->Type == 'teacher') {
$this->_model->ChangeTeacherInfo($this['TeacherID'], $data['lastName'], $data['firstName'], $data['secondName'], $data['jobPositionID'], $data['departmentID']); Model_Account::ChangeTeacherInfo($this['TeacherID'], $data['lastName'], $data['firstName'], $data['secondName'], $data['jobPositionID'], $data['departmentID']);
} }
} }
...@@ -268,8 +266,8 @@ class User implements ArrayAccess ...@@ -268,8 +266,8 @@ class User implements ArrayAccess
} }
private function getInfoFromDB($id, $semesterID) { private function getInfoFromDB($id, $semesterID) {
$info = $this->_model->getPersonalInfo($id, $semesterID); $info = Model_Account::getPersonalInfo($id, $semesterID);
$info += $this->_model->getAccountInfo($id); $info += Model_Account::getAccountInfo($id);
return $info; return $info;
} }
...@@ -284,19 +282,19 @@ class User implements ArrayAccess ...@@ -284,19 +282,19 @@ class User implements ArrayAccess
} }
public function offsetSet($offset, $value) { public function offsetSet($offset, $value) {
if (array_key_exists($offset, $this->_userInfo)) { if ($this->_userInfo && array_key_exists($offset, $this->_userInfo)) {
$this->_userInfo[$offset] = $value; $this->_userInfo[$offset] = $value;
} elseif (isset($offset, $this->_session)) { } elseif (isset($offset, $this->_session)) {
$this->_session[$offset] = $value; $this->_session[$offset] = $value;
} else { } else { // TODO: _userInfo may be null
$this->_userInfo[$offset] = $value; $this->_userInfo[$offset] = $value;
} }
} }
public function offsetGet($offset) { public function offsetGet($offset) {
if (array_key_exists($offset, $this->_userInfo)) if ($this->_userInfo && array_key_exists($offset, $this->_userInfo))
return $this->_userInfo[$offset]; return $this->_userInfo[$offset];
if (isset($offset, $this->_session)) else if (isset($offset, $this->_session))
return $this->_session[$offset]; return $this->_session[$offset];
throw new ErrorException('No such field'); throw new ErrorException('No such field');
...@@ -322,7 +320,7 @@ class User implements ArrayAccess ...@@ -322,7 +320,7 @@ class User implements ArrayAccess
protected function hash($str) { protected function hash($str) {
if (!$this->_config['hash_key']) { if (!$this->_config['hash_key']) {
$this->_config['hash_key'] = $key = md5(time() . Request::$client_ip); $this->_config['hash_key'] = $key = md5(time() . Request::$client_ip);
$this->_model->setHashKey($key); Model_Account::setHashKey($key);
} }
return hash_hmac($this->_config['hash_method'], $str, $this->_config['hash_key']); return hash_hmac($this->_config['hash_method'], $str, $this->_config['hash_key']);
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment