New: Ajout date dernière connexion

This commit is contained in:
Laurent Destailleur 2005-07-14 17:17:31 +00:00
parent 9755bc123e
commit 9627a152f7
3 changed files with 97 additions and 91 deletions

View File

@ -60,7 +60,8 @@ class User
var $datem; var $datem;
var $societe_id; var $societe_id;
var $webcal_login; var $webcal_login;
var $datelastaccess;
var $error; var $error;
var $userpref_limite_liste; var $userpref_limite_liste;
var $all_permissions_are_loaded; /**< \private all_permissions_are_loaded */ var $all_permissions_are_loaded; /**< \private all_permissions_are_loaded */
@ -95,79 +96,82 @@ class User
function fetch($login='') function fetch($login='')
{ {
$sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.code, u.admin, u.login, u.pass, u.webcal_login, u.note, u.fk_societe, u.fk_socpeople"; $sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.code, u.admin, u.login, u.pass, u.webcal_login, u.note,";
$sql .= ", ".$this->db->pdate("u.datec")." as datec, ".$this->db->pdate("u.tms")." as datem"; $sql.= " u.fk_societe, u.fk_socpeople,";
$sql .= " FROM ".MAIN_DB_PREFIX."user as u"; $sql.= " ".$this->db->pdate("u.datec")." as datec, ".$this->db->pdate("u.tms")." as datem,";
if ($this->id) $sql.= " ".$this->db->pdate("u.datelastaccess")." as datel";
{ $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
$sql .= " WHERE u.rowid = $this->id"; if ($this->id)
} {
else $sql .= " WHERE u.rowid = $this->id";
{ }
$sql .= " WHERE u.login = '$login'"; else
} {
$sql .= " WHERE u.login = '$login'";
$result = $this->db->query($sql); }
if ($result) $result = $this->db->query($sql);
{
if ($this->db->num_rows($result)) if ($result)
{ {
$obj = $this->db->fetch_object($result); if ($this->db->num_rows($result))
$this->id = $obj->rowid; {
$this->nom = stripslashes($obj->name); $obj = $this->db->fetch_object($result);
$this->prenom = stripslashes($obj->firstname); $this->id = $obj->rowid;
$this->nom = stripslashes($obj->name);
$this->fullname = $this->prenom . ' ' . $this->nom; $this->prenom = stripslashes($obj->firstname);
$this->code = $obj->code;
$this->login = $obj->login; $this->fullname = $this->prenom . ' ' . $this->nom;
$this->pass = $obj->pass; $this->code = $obj->code;
$this->email = $obj->email; $this->login = $obj->login;
$this->admin = $obj->admin; $this->pass = $obj->pass;
$this->contact_id = $obj->fk_socpeople; $this->email = $obj->email;
$this->note = stripslashes($obj->note); $this->admin = $obj->admin;
$this->lang = 'fr_FR'; // \todo Gérer la langue par défaut d'un utilisateur Dolibarr $this->contact_id = $obj->fk_socpeople;
$this->note = stripslashes($obj->note);
$this->datec = $obj->datec; $this->lang = 'fr_FR'; // \todo Gérer la langue par défaut d'un utilisateur Dolibarr
$this->datem = $obj->datem;
$this->datec = $obj->datec;
$this->webcal_login = $obj->webcal_login; $this->datem = $obj->datem;
$this->datelastaccess = $obj->datel;
$this->societe_id = $obj->fk_societe;
} $this->webcal_login = $obj->webcal_login;
$this->db->free($result);
$this->societe_id = $obj->fk_societe;
} }
else $this->db->free($result);
{
dolibarr_print_error($this->db); }
} else
{
if (isset($_SERVER['SCRIPT_URL'])) { dolibarr_print_error($this->db);
// \todo $_SERVER['SCRIPT_URL'] n'existe pas sous tout os/server web }
$sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param";
$sql .= " WHERE fk_user = ".$this->id; if (isset($_SERVER['SCRIPT_URL'])) {
$sql .= " AND page = '".$_SERVER['SCRIPT_URL']."'"; // \todo $_SERVER['SCRIPT_URL'] n'existe pas sous tout os/server web
$sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param";
$result=$this->db->query($sql); $sql .= " WHERE fk_user = ".$this->id;
if ($result); $sql .= " AND page = '".$_SERVER['SCRIPT_URL']."'";
{
$num = $this->db->num_rows($result); $result=$this->db->query($sql);
$i = 0; if ($result);
$page_param_url = ''; {
$this->page_param = array(); $num = $this->db->num_rows($result);
while ($i < $num) $i = 0;
{ $page_param_url = '';
$obj = $this->db->fetch_object($result); $this->page_param = array();
$this->page_param[$obj->param] = $obj->value; while ($i < $num)
$page_param_url .= $obj->param . "=".$obj->value."&amp;"; {
$i++; $obj = $this->db->fetch_object($result);
} $this->page_param[$obj->param] = $obj->value;
$this->page_param_url = $page_param_url; $page_param_url .= $obj->param . "=".$obj->value."&amp;";
$this->db->free($result); $i++;
} }
} $this->page_param_url = $page_param_url;
} $this->db->free($result);
}
}
}
/** /**
* \brief Ajoute un droit a l'utilisateur * \brief Ajoute un droit a l'utilisateur

View File

@ -219,6 +219,7 @@ alter table llx_boxes add box_order smallint default 0 NOT NULL;
alter table llx_user drop column module_comm; alter table llx_user drop column module_comm;
alter table llx_user drop column module_compta; alter table llx_user drop column module_compta;
alter table llx_user add datelastaccess datetime;
alter table llx_user_rights add rowid integer AUTO_INCREMENT PRIMARY KEY; alter table llx_user_rights add rowid integer AUTO_INCREMENT PRIMARY KEY;

View File

@ -22,22 +22,23 @@
create table llx_user create table llx_user
( (
rowid integer AUTO_INCREMENT PRIMARY KEY, rowid integer AUTO_INCREMENT PRIMARY KEY,
datec datetime, datec datetime,
tms timestamp, tms timestamp,
login varchar(8), login varchar(8),
pass varchar(32), pass varchar(32),
name varchar(50), name varchar(50),
firstname varchar(50), firstname varchar(50),
code varchar(4), code varchar(4),
email varchar(255), email varchar(255),
admin smallint DEFAULT 0, admin smallint DEFAULT 0,
webcal_login varchar(25), webcal_login varchar(25),
module_comm smallint DEFAULT 1, module_comm smallint DEFAULT 1,
module_compta smallint DEFAULT 1, module_compta smallint DEFAULT 1,
fk_societe integer DEFAULT 0, fk_societe integer DEFAULT 0,
fk_socpeople integer DEFAULT 0, fk_socpeople integer DEFAULT 0,
note text, note text,
datelastaccess datetime,
UNIQUE INDEX(login) UNIQUE INDEX(login)
)type=innodb; )type=innodb;