NEW Save date to invalidate other session into user table
This commit is contained in:
parent
8c1ce7873f
commit
c50c553999
@ -56,3 +56,6 @@ ALTER TABLE llx_payment_salary MODIFY COLUMN datep datetime;
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1179, 117, 'I-28' , 28, 0, '0', 0, '0', 0, 'IGST', 1);
|
||||
INSERT INTO llx_c_tva(rowid,fk_pays,code,taux,localtax1,localtax1_type,localtax2,localtax2_type,recuperableonly,note,active) values (1176, 117, 'C+S-18', 0, 9, '1', 9, '1', 0, 'CGST+SGST - Same state sales', 1);
|
||||
|
||||
|
||||
ALTER TABLE llx_user ADD COLUMN flagdelsessionsbefore datetime DEFAULT NULL;
|
||||
|
||||
|
||||
@ -84,6 +84,7 @@ create table llx_user
|
||||
datelastpassvalidation datetime, -- last date we change password or we made a disconnect all
|
||||
datestartvalidity datetime,
|
||||
dateendvalidity datetime,
|
||||
flagdelsessionsbefore datetime DEFAULT NULL, -- set this to a date if we need to launch an external process to invalidate all sessions for the same login created before this date
|
||||
iplastlogin varchar(250),
|
||||
ippreviouslogin varchar(250),
|
||||
egroupware_id integer,
|
||||
|
||||
@ -1776,9 +1776,9 @@ class User extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
if ($result > 0 && $member->fk_soc) { // If member is linked to a thirdparty
|
||||
if ($result > 0 && $member->socid) { // If member is linked to a thirdparty
|
||||
$sql = "UPDATE ".$this->db->prefix()."user";
|
||||
$sql .= " SET fk_soc=".((int) $member->fk_soc);
|
||||
$sql .= " SET fk_soc=".((int) $member->socid);
|
||||
$sql .= " WHERE rowid=".((int) $this->id);
|
||||
|
||||
dol_syslog(get_class($this)."::create_from_member", LOG_DEBUG);
|
||||
@ -2243,9 +2243,10 @@ class User extends CommonObject
|
||||
* @param int $notrigger 1=Does not launch triggers
|
||||
* @param int $nosyncmember Do not synchronize linked member
|
||||
* @param int $passwordalreadycrypted 0=Value is cleartext password, 1=Value is crypted value.
|
||||
* @param int $flagdelsessionsbefore 1=Save also the current date to ask to invalidate all other session before this date.
|
||||
* @return string If OK return clear password, 0 if no change (warning, you may retreive 1 instead of 0 even if password was same), < 0 if error
|
||||
*/
|
||||
public function setPassword($user, $password = '', $changelater = 0, $notrigger = 0, $nosyncmember = 0, $passwordalreadycrypted = 0)
|
||||
public function setPassword($user, $password = '', $changelater = 0, $notrigger = 0, $nosyncmember = 0, $passwordalreadycrypted = 0, $flagdelsessionsbefore = 1)
|
||||
{
|
||||
global $conf, $langs;
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php';
|
||||
@ -2297,6 +2298,9 @@ class User extends CommonObject
|
||||
$sql = "UPDATE ".$this->db->prefix()."user";
|
||||
$sql .= " SET pass_crypted = '".$this->db->escape($password_crypted)."',";
|
||||
$sql .= " pass_temp = null";
|
||||
if (empty($flagdelsessionsbefore)) {
|
||||
$sql .= ", flagdelsessionsbefore = '".$this->db->idate(dol_now() - 5, 'gmt')."'";
|
||||
}
|
||||
if (!empty($conf->global->DATABASE_PWD_ENCRYPTED)) {
|
||||
$sql .= ", pass = null";
|
||||
} else {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user