esuser_id = $row["esuser_id"];
$this->esuser_username = $row["esuser_username"];
$this->esuser_fullname = $row["esuser_fullname"];
$this->esuser_password = $row["esuser_password"];
$this->esuser_group = $row["esuser_groupnum"];
}
else {
$this->set_error(ES_USER_UNKNOWN_USERID,$msg["es_user_unknown_user"]);
}
}
static function username_exists($username) {
global $dbh;
$sql = "SELECT esuser_id FROM es_esusers WHERE esuser_username = '".addslashes($username)."'";
$res = mysql_query($sql, $dbh);
return mysql_num_rows($res) > 0 ? mysql_result($res, 0, 0) : 0;
}
static function add_new() {
global $dbh;
$sql = "INSERT INTO es_esusers () VALUES ()";
$res = mysql_query($sql, $dbh);
$new_esuser_id = mysql_insert_id($dbh);
return new es_esuser($new_esuser_id);
}
static function create_from_credentials($user_name, $password) {
global $dbh;
$sql = "SELECT esuser_id FROM es_esusers WHERE esuser_username = '".addslashes($user_name)."' AND esuser_password = '".addslashes($password)."'";
$res = mysql_query($sql, $dbh);
if (!mysql_numrows($res))
return false;
$id = mysql_result($res, 0, 0);
return new es_esuser($id);
}
function commit_to_db() {
global $dbh;
//on oublie pas que includes/global_vars.inc.php s'amuse � tout addslasher tout seul donc on le fait pas ici
$sql = "UPDATE es_esusers SET esuser_username = '".$this->esuser_username."', esuser_password = '".$this->esuser_password."', esuser_fullname = '".$this->esuser_fullname."', esuser_groupnum = ".$this->esuser_group." WHERE esuser_id = ".$this->esuser_id."";
mysql_query($sql, $dbh);
}
function delete() {
global $dbh;
//Deletons l'user
$sql = "DELETE FROM es_esusers WHERE esuser_id = ".$this->esuser_id;
mysql_query($sql, $dbh);
//Enlevons l'user de tout les groupes dans lesquels il �tait.
$sql = "DELETE FROM es_esgroup_esusers WHERE esgroupuser_usertype=1 AND esgroupuser_usernum = ".$this->esuser_id;
mysql_query($sql, $dbh);
}
}
class es_esusers extends es_base {
var $users=array();//Array of es_esuser
function es_esusers() {
global $dbh;
$sql = 'SELECT esuser_id from es_esusers';
$res = mysql_query($sql, $dbh);
while ($row=mysql_fetch_assoc($res)) {
$aesuser = new es_esuser($row["esuser_id"]);
$this->users[] = clone $aesuser;
}
}
}
class es_esgroup extends es_base {
var $esgroup_id;
var $esgroup_name;
var $esgroup_fullname;
var $esgroup_pmbuserid;
var $esgroup_pmbuser_username;
var $esgroup_pmbuser_lastname;
var $esgroup_pmbuser_firstname;
var $esgroup_esusers=array();
var $esgroup_emprgroups=array();
function es_esgroup ($group_id){
global $dbh;
$group_id+=0; //Conversion en int
$sql = 'SELECT esgroup_id, esgroup_name, esgroup_fullname, esgroup_pmbusernum, users.username, users.nom, users.prenom FROM es_esgroups LEFT JOIN users ON (users.userid = es_esgroups.esgroup_pmbusernum) WHERE esgroup_id = '.$group_id;
$res = mysql_query($sql, $dbh);
if (mysql_num_rows($res)) {
$row = mysql_fetch_assoc($res);
$this->esgroup_id = $row["esgroup_id"];
$this->esgroup_name = $row["esgroup_name"];
$this->esgroup_fullname = $row["esgroup_fullname"];
$this->esgroup_pmbuserid = $row["esgroup_pmbusernum"];
$this->esgroup_pmbuser_username = $row["username"];
$this->esgroup_pmbuser_lastname = $row["nom"];
$this->esgroup_pmbuser_firstname = $row["prenom"];
}
else {
$this->set_error(ES_GROUP_UNKNOWN_USERID,$msg["es_user_unknown_group"]);
return;
}
$sql = "SELECT esuser_id FROM es_esusers WHERE esuser_groupnum = ".$group_id;
$res = mysql_query($sql, $dbh);
while($row = mysql_fetch_assoc($res)) {
$this->esgroup_esusers[] = $row["esuser_id"];
}
$sql = "SELECT * FROM es_esgroup_esusers WHERE esgroupuser_groupnum = ".$group_id;
$res = mysql_query($sql, $dbh);
while($row = mysql_fetch_assoc($res)) {
/*if ($row["esgroupuser_usertype"] == 1)
$this->esgroup_esusers[] = $row["esgroupuser_usernum"];
else*/
if ($row["esgroupuser_usertype"] == 2)
$this->esgroup_emprgroups[] = $row["esgroupuser_usernum"];
}
}
static function name_exists($name) {
global $dbh;
$sql = "SELECT esgroup_id FROM es_esgroups WHERE esgroup_name = '".addslashes($name)."'";
$res = mysql_query($sql, $dbh);
return mysql_num_rows($res) > 0 ? mysql_result($res, 0, 0) : 0;
}
static function id_exists($id) {
global $dbh;
$sql = "SELECT esgroup_id FROM es_esgroups WHERE esgroup_id = ".($id+0)."";
$res = mysql_query($sql, $dbh);
return mysql_num_rows($res) > 0 ? mysql_result($res, 0, 0) : 0;
}
static function add_new() {
global $dbh;
$sql = "INSERT INTO es_esgroups () VALUES ()";
$res = mysql_query($sql, $dbh);
$new_esgroup_id = mysql_insert_id($dbh);
return clone new es_esgroup($new_esgroup_id);
}
function commit_to_db() {
global $dbh;
//on oublie pas que includes/global_vars.inc.php s'amuse � tout addslasher tout seul donc on le fait pas ici
$sql = "UPDATE es_esgroups SET esgroup_name = '".$this->esgroup_name."', esgroup_fullname = '".$this->esgroup_fullname."', esgroup_pmbusernum = '".$this->esgroup_pmbuserid."' WHERE esgroup_id = '".$this->esgroup_id."'";
mysql_query($sql, $dbh);
//Vidage du groupe
$sql = "DELETE FROM es_esgroup_esusers WHERE esgroupuser_groupnum = ".$this->esgroup_id;
mysql_query($sql, $dbh);
//Remplissage du groupe (es_users)
$sql = "INSERT INTO es_esgroup_esusers (esgroupuser_groupnum ,esgroupuser_usertype ,esgroupuser_usernum) VALUES ";
$values=array();
foreach ($this->esgroup_esusers as $aesuser_id) {
if (!$aesuser_id) continue;
$values[] = '('.$this->esgroup_id.', 1, '.$aesuser_id.')';
}
$sql .= implode(",", $values);
mysql_query($sql, $dbh);
//Remplissage du groupe (groupes de lecteurs)
$sql = "INSERT INTO es_esgroup_esusers (esgroupuser_groupnum ,esgroupuser_usertype ,esgroupuser_usernum) VALUES ";
$values=array();
foreach ($this->esgroup_emprgroups as $aemprgroup_id) {
if (!$aemprgroup_id) continue;
$values[] = '('.$this->esgroup_id.', 2, '.$aemprgroup_id.')';
}
$sql .= implode(",", $values);
mysql_query($sql, $dbh);
}
function delete() {
global $dbh;
//Suppression du groupe
$sql = "DELETE FROM es_esgroups WHERE esgroup_id = ".$this->esgroup_id;
mysql_query($sql, $dbh);
//Vidage du groupe
$sql = "DELETE FROM es_esgroup_esusers WHERE esgroupuser_groupnum = ".$this->esgroup_id;
mysql_query($sql, $dbh);
}
}
class es_esgroups extends es_base {
var $groups=array();//Array of es_group
function es_esgroups() {
global $dbh;
$sql = 'SELECT esgroup_id from es_esgroups WHERE esgroup_id <> -1';
$res = mysql_query($sql, $dbh);
while ($row=mysql_fetch_assoc($res)) {
$aesgroup = new es_esgroup($row["esgroup_id"]);
$this->groups[] = clone $aesgroup;
}
}
}
?>