Ajoute la fonction load_entrepots

This commit is contained in:
Rodolphe Quiedeville 2006-12-03 19:27:26 +00:00
parent 95d35f77dd
commit b8368e3388

View File

@ -1,11 +1,11 @@
<?php <?php
/* Copyright (c) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (c) 2002-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (c) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (c) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (c) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (c) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2006 Regis Houssin <regis.houssin@cap-networks.com> * Copyright (C) 2005-2006 Regis Houssin <regis.houssin@cap-networks.com>
* Copyright (C) 2005 Lionel COUSTEIX <etm_ltd@tiscali.co.uk> * Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -26,76 +26,80 @@
*/ */
/** /**
\file htdocs/user.class.php \file htdocs/user.class.php
\brief Fichier de la classe utilisateur \brief Fichier de la classe utilisateur
\author Rodolphe Qiedeville \author Rodolphe Quiedeville
\author Jean-Louis Bergamo \author Jean-Louis Bergamo
\author Laurent Destailleur \author Laurent Destailleur
\author Sebastien Di Cintio \author Sebastien Di Cintio
\author Benoit Mortier \author Benoit Mortier
\author Regis Houssin \author Regis Houssin
\version $Revision$ \author Lionel Cousteix
\version $Revision$
*/ */
/** /**
\class User \class User
\brief Classe permettant la gestion d'un utilisateur \brief Classe permettant la gestion d'un utilisateur
*/ */
class User class User
{ {
var $db; var $db;
var $id; var $id;
var $ldap_sid; var $ldap_sid;
var $fullname; var $fullname;
var $nom; var $nom;
var $prenom; var $prenom;
var $note; var $note;
var $code; var $code;
var $email; var $email;
var $office_tel; var $office_tel;
var $office_fax; var $office_fax;
var $user_mobile; var $user_mobile;
var $admin; var $admin;
var $login; var $login;
var $pass; // Mot de passe en clair //! Mot de passe en clair
var $pass_indatabase; // Mot de passe crypté en base var $pass;
var $datec; //! Mot de passe crypté en base
var $datem; var $pass_indatabase;
var $societe_id; var $datec;
var $webcal_login; var $datem;
var $societe_id;
var $webcal_login;
var $datelastlogin; var $datelastlogin;
var $datepreviouslogin; var $datepreviouslogin;
var $statut; var $statut;
var $lang; var $lang;
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 */
//! Liste des entrepots auquel a acces l'utilisateur
var $entrepots;
/**
* \brief Constructeur de la classe
* \param DB Handler accès base de données
* \param id Id de l'utilisateur (0 par défaut)
*/
function User($DB, $id=0)
{
$this->db = $DB;
$this->id = $id;
/** // Preference utilisateur
* \brief Constructeur de la classe $this->liste_limit = 0;
* \param DB Handler accès base de données $this->clicktodial_enabled = 0;
* \param id Id de l'utilisateur (0 par défaut)
*/
function User($DB, $id=0)
{
$this->db = $DB;
$this->id = $id;
// Preference utilisateur $this->all_permissions_are_loaded = 0;
$this->liste_limit = 0; $this->admin=0;
$this->clicktodial_enabled = 0;
$this->all_permissions_are_loaded = 0; return 1;
$this->admin=0; }
return 1;
}
/** /**
@ -1420,38 +1424,66 @@ function creer_pass_aleatoire_1($sel = "")
/** /**
\brief Fonction pour créer un mot de passe aléatoire mélangeant majuscule, \brief Fonction pour créer un mot de passe aléatoire mélangeant majuscule,
minuscule, chiffre et alpha et caractères spéciaux minuscule, chiffre et alpha et caractères spéciaux
\remarks La fonction a été prise sur http://www.uzine.net/spip \remarks La fonction a été prise sur http://www.uzine.net/spip
\param sel Donnée aléatoire \param sel Donnée aléatoire
\return string Mot de passe \return string Mot de passe
*/ */
function creer_pass_aleatoire_2($sel = "") function creer_pass_aleatoire_2($sel = "")
{ {
$longueur=8; $longueur=8;
$seed = (double) (microtime() + 1) * time(); $seed = (double) (microtime() + 1) * time();
srand($seed); srand($seed);
for ($i = 0; $i < $longueur; $i++) for ($i = 0; $i < $longueur; $i++)
{
if (!$s)
{ {
if (!$s) if (!$s) $s = rand();
{ $s = substr(md5(uniqid($s).$sel), 0, 16);
if (!$s) $s = rand();
$s = substr(md5(uniqid($s).$sel), 0, 16);
}
$r = unpack("Cr", pack("H2", $s.$s));
$x = $r['r'] & 63;
if ($x < 10) $x = chr($x + 48);
else if ($x < 36) $x = chr($x + 55);
else if ($x < 62) $x = chr($x + 61);
else if ($x == 63) $x = '/';
else $x = '.';
$pass .= $x;
$s = substr($s, 2);
} }
$r = unpack("Cr", pack("H2", $s.$s));
$x = $r['r'] & 63;
if ($x < 10) $x = chr($x + 48);
else if ($x < 36) $x = chr($x + 55);
else if ($x < 62) $x = chr($x + 61);
else if ($x == 63) $x = '/';
else $x = '.';
$pass .= $x;
$s = substr($s, 2);
}
return $pass;
}
return $pass; /**
* \brief Charge la liste des entrepots pour l'utilisateur
* \return int 0 si ok, <> 0 si erreur
*/
function load_entrepots()
{
$err=0;
$this->entrepots = array();
$sql = "SELECT fk_entrepot,consult,send";
$sql.= " FROM ".MAIN_DB_PREFIX."user_entrepot";
$sql.= " WHERE fk_user = '".$this->id."'";
if ( $this->db->query($sql) )
{
while ($obj = $this->db->fetch_object($result) )
{
$this->entrepots[$i]['id'] = $obj->consult;
$this->entrepots[$i]['consult'] = $obj->consult;
$this->entrepots[$i]['send'] = $obj->send;
}
}
else
{
$err++;
dolibarr_print_error($this->db);
}
return $err;
} }
?> ?>