add field 'secret' for secret of 2-factor auth

This commit is contained in:
Uwe Steinmann 2016-07-06 22:24:50 +02:00
parent 3922d1706a
commit 303a114178

View File

@ -261,6 +261,13 @@ class SeedDMS_Core_User { /* {{{ */
*/
var $_pwd;
/**
* @var string secret of user for 2-factor authentication
*
* @access protected
*/
var $_secret;
/**
* @var string date when password expires
*
@ -365,7 +372,7 @@ class SeedDMS_Core_User { /* {{{ */
const role_admin = '1';
const role_guest = '2';
function __construct($id, $login, $pwd, $fullName, $email, $language, $theme, $comment, $role, $isHidden=0, $isDisabled=0, $pwdExpiration='0000-00-00 00:00:00', $loginFailures=0, $quota=0, $homeFolder=null) {
function __construct($id, $login, $pwd, $fullName, $email, $language, $theme, $comment, $role, $isHidden=0, $isDisabled=0, $pwdExpiration='0000-00-00 00:00:00', $loginFailures=0, $quota=0, $homeFolder=null, $secret='') {
$this->_id = $id;
$this->_login = $login;
$this->_pwd = $pwd;
@ -381,6 +388,7 @@ class SeedDMS_Core_User { /* {{{ */
$this->_loginFailures = $loginFailures;
$this->_quota = $quota;
$this->_homeFolder = $homeFolder;
$this->_secret = $secret;
$this->_substitutes = null;
$this->_rev_substitutes = null;
$this->_dms = null;
@ -423,7 +431,7 @@ class SeedDMS_Core_User { /* {{{ */
$classname = $dms->getClassname('role');
$role = $classname::getInstance($resArr['role'], $dms);
$user = new self($resArr["id"], $resArr["login"], $resArr["pwd"], $resArr["fullName"], $resArr["email"], $resArr["language"], $resArr["theme"], $resArr["comment"], $role, $resArr["hidden"], $resArr["disabled"], $resArr["pwdExpiration"], $resArr["loginfailures"], $resArr["quota"], $resArr["homefolder"]);
$user = new self($resArr["id"], $resArr["login"], $resArr["pwd"], $resArr["fullName"], $resArr["email"], $resArr["language"], $resArr["theme"], $resArr["comment"], $role, $resArr["hidden"], $resArr["disabled"], $resArr["pwdExpiration"], $resArr["loginfailures"], $resArr["quota"], $resArr["homefolder"], $resArr["secret"]);
$user->setDMS($dms);
return $user;
} /* }}} */
@ -501,6 +509,20 @@ class SeedDMS_Core_User { /* {{{ */
return true;
} /* }}} */
function getSecret() { return $this->_secret; }
function setSecret($newSecret) { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "UPDATE tblUsers SET secret =".$db->qstr($newSecret)." WHERE id = " . $this->_id;
$res = $db->getResult($queryStr);
if (!$res)
return false;
$this->_secret = $newSecret;
return true;
} /* }}} */
function getPwdExpiration() { return $this->_pwdExpiration; }
function setPwdExpiration($newPwdExpiration) { /* {{{ */