diff --git a/htdocs/conf/conf.class.php b/htdocs/conf/conf.class.php
index 91653e75915..df667c22c34 100644
--- a/htdocs/conf/conf.class.php
+++ b/htdocs/conf/conf.class.php
@@ -174,7 +174,7 @@ class Conf
$this->commercial->enabled=defined("MAIN_MODULE_COMMERCIAL")?MAIN_MODULE_COMMERCIAL:0;
$this->commercial->dir_output=DOL_DATA_ROOT."/rapport";
// Module taxes et charges sociales
- $this->tax->enabled=1;
+ $this->tax->enabled=defined("MAIN_MODULE_TAX")?MAIN_MODULE_TAX:0;
$this->tax->dir_output=DOL_DATA_ROOT."/taxes";
$this->tax->dir_images=DOL_DATA_ROOT."/taxes/images";
// Module comptaexpert
diff --git a/htdocs/contrat/fiche.php b/htdocs/contrat/fiche.php
index 3d20279b753..25f33580df1 100644
--- a/htdocs/contrat/fiche.php
+++ b/htdocs/contrat/fiche.php
@@ -892,7 +892,7 @@ else
$html->select_produits('','p_idprod','',$conf->produit->limit_size,$contrat->societe->price_level);
else
$html->select_produits('','p_idprod','',$conf->produit->limit_size);
- print '
';
+ if (! $conf->use_ajax) print '
';
print '';
print '';
diff --git a/htdocs/includes/modules/modUser.class.php b/htdocs/includes/modules/modUser.class.php
index fe0be7105c0..c8f7173c2f0 100644
--- a/htdocs/includes/modules/modUser.class.php
+++ b/htdocs/includes/modules/modUser.class.php
@@ -147,9 +147,9 @@ class modUser extends DolibarrModules
$r++;
$this->export_code[$r]=$this->id.'_'.$r;
$this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs';
- $this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.name'=>"Lastname",'u.firstname'=>"Firstname",'u.code'=>"Code",'u.login'=>"Login",'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.fk_socpeople'=>"IdContact",'u.note'=>"Note",'u.datelastaccess'=>'DateLastAccess');
- $this->export_entities_array[$r]=array('u.rowid'=>"user",'u.name'=>"user",'u.firstname'=>"user",'u.code'=>"user",'u.login'=>"user",'u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.fk_socpeople'=>"user",'u.note'=>"user",'u.datelastaccess'=>'user');
- $this->export_alias_array[$r]=array('u.rowid'=>"rowid",'u.name'=>"name",'u.firstname'=>"firstname",'u.code'=>"code",'u.login'=>"login",'u.datec'=>"datecreation",'u.tms'=>"datelastmodification",'u.admin'=>"admin",'u.fk_socpeople'=>"idcontact",'u.note'=>"note",'u.datelastaccess'=>'datelastaccess');
+ $this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.name'=>"Lastname",'u.firstname'=>"Firstname",'u.code'=>"Code",'u.login'=>"Login",'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.fk_socpeople'=>"IdContact",'u.note'=>"Note",'u.datelastlogin'=>'DateLastLogin','u.datepreviouslogin'=>'DatePreviousLogin');
+ $this->export_entities_array[$r]=array('u.rowid'=>"user",'u.name'=>"user",'u.firstname'=>"user",'u.code'=>"user",'u.login'=>"user",'u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.fk_socpeople'=>"user",'u.note'=>"user",'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user');
+ $this->export_alias_array[$r]=array('u.rowid'=>"rowid",'u.name'=>"name",'u.firstname'=>"firstname",'u.code'=>"code",'u.login'=>"login",'u.datec'=>"datecreation",'u.tms'=>"datelastmodification",'u.admin'=>"admin",'u.fk_socpeople'=>"idcontact",'u.note'=>"note",'u.datelastlogin'=>'datelastlogin','u.datepreviouslogin'=>'datepreviouslogin');
$this->export_sql[$r]="select ";
$i=0;
foreach ($this->export_alias_array[$r] as $key => $value)
diff --git a/htdocs/index.php b/htdocs/index.php
index 99a99140875..3495732173c 100644
--- a/htdocs/index.php
+++ b/htdocs/index.php
@@ -85,8 +85,8 @@ print '
';
print '';
}
diff --git a/htdocs/user.class.php b/htdocs/user.class.php
index fe56f2de19a..f8ea10d1448 100644
--- a/htdocs/user.class.php
+++ b/htdocs/user.class.php
@@ -62,12 +62,15 @@ class User
var $admin;
var $login;
var $pass;
- var $lang;
var $datec;
var $datem;
var $societe_id;
var $webcal_login;
- var $datelastaccess;
+
+ var $datelastlogin;
+ var $datepreviouslogin;
+ var $statut;
+ var $lang;
var $error;
var $userpref_limite_liste;
@@ -102,10 +105,14 @@ class User
function fetch($login='')
{
// Recupere utilisateur
- $sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.office_phone, u.office_fax, u.user_mobile, u.code, u.admin, u.login, u.pass, u.webcal_login, u.note,";
+ $sql = "SELECT u.rowid, u.name, u.firstname, u.email, u.office_phone, u.office_fax, u.user_mobile,";
+ $sql.= " u.code, u.admin, u.login, u.pass, u.webcal_login, u.note,";
$sql.= " u.fk_societe, u.fk_socpeople, u.ldap_sid,";
- $sql.= " ".$this->db->pdate("u.datec")." as datec, ".$this->db->pdate("u.tms")." as datem,";
- $sql.= " ".$this->db->pdate("u.datelastaccess")." as datel";
+ $sql.= " u.statut, u.lang,";
+ $sql.= " ".$this->db->pdate("u.datec")." as datec,";
+ $sql.= " ".$this->db->pdate("u.tms")." as datem,";
+ $sql.= " ".$this->db->pdate("u.datelastlogin")." as datel,";
+ $sql.= " ".$this->db->pdate("u.datepreviouslogin")." as datep";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
if ($login)
{
@@ -138,14 +145,18 @@ class User
$this->admin = $obj->admin;
$this->contact_id = $obj->fk_socpeople;
$this->note = stripslashes($obj->note);
- $this->lang = 'fr_FR'; // \todo Gérer la langue par défaut d'un utilisateur Dolibarr
-
+ $this->statut = $obj->statut;
+ $this->lang = $obj->lang;
+
$this->datec = $obj->datec;
$this->datem = $obj->datem;
- $this->datelastaccess = $obj->datel;
+ $this->datelastlogin = $obj->datel;
+ $this->datepreviouslogin = $obj->datep;
$this->webcal_login = $obj->webcal_login;
$this->societe_id = $obj->fk_societe;
+
+ if (! $this->lang) $this->lang='fr_FR';
}
$this->db->free($result);
@@ -811,6 +822,7 @@ class User
/**
* \brief Mise à jour en base de la date de deniere connexion d'un utilisateur
+ * Fonction appelée lors d'une nouvelle connexion
* \return <0 si echec, >=0 si ok
*/
function update_last_login_date()
@@ -819,19 +831,21 @@ class User
$now=time();
- $sql = "UPDATE ".MAIN_DB_PREFIX."user";
- $sql.= " SET datelastaccess = ".$this->db->idate($now).",";
+ $sql = "UPDATE ".MAIN_DB_PREFIX."user SET";
+ $sql.= " datepreviouslogin = datelastlogin,";
+ $sql.= " datelastlogin = ".$this->db->idate($now).",";
$sql.= " tms = tms"; // La date de derniere modif doit changer sauf pour la mise a jour de date de derniere connexion
$sql.= " WHERE rowid = ".$this->id;
$resql = $this->db->query($sql);
if ($resql)
{
- $this->datelastaccess=$now;
+ $this->datepreviouslogin=$this->datelastlogin;
+ $this->datelastlogin=$now;
return 1;
}
else
{
- $this->error=$this->db->error();
+ $this->error=$this->db->error().' sql='.$sql;
return -1;
}
}
diff --git a/htdocs/user/fiche.php b/htdocs/user/fiche.php
index bd84b22fdc6..fc2f7c0695d 100644
--- a/htdocs/user/fiche.php
+++ b/htdocs/user/fiche.php
@@ -591,7 +591,7 @@ else
{
$fuser = new User($db, $_GET["id"]);
$fuser->fetch();
-
+
// Connexion ldap
if ($conf->ldap->enabled && $fuser->ldap_sid)
{
@@ -818,11 +818,19 @@ else
print "\n";
print '