Blame | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This file is part of Herbier. |// | |// | Foobar is free software; you can redistribute it and/or modify |// | it under the terms of the GNU General Public License as published by |// | the Free Software Foundation; either version 2 of the License, or |// | (at your option) any later version. |// | |// | Foobar is distributed in the hope that it will be useful, |// | but WITHOUT ANY WARRANTY; without even the implied warranty of |// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |// | GNU General Public License for more details. |// | |// | You should have received a copy of the GNU General Public License |// | along with Foobar; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: hb_utilisateur.class.php,v 1.1 2005-11-23 10:32:32 jp_milcent Exp $/*** Classe H_Utilisateur** Classe permettant de récupérer les données concernant un utilisateur des Herbiers.**@package Herbier*@subpackage Classes//Auteur original :*@author Jean-Pascal MILCENT <jpm@clapas.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2005*@version $Revision: 1.1 $ $Date: 2005-11-23 10:32:32 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// +------------------------------------------------------------------------------------------------------+// | CORPS du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/*** Classe H_Utilisateur()** Contient des requêtes sur la table servant d'annuaire.** @package herbiers*/class H_Utilisateur {/** @var integer identifiant de la personne actuellement connectée à l'administration des Herbiers.*/var $id;/** @var object un objet directement sortie de la base de données via PearD Bcontenant toutes les information sur l'utilisateur.*/var $info;/** @var bool contient TRUE si la personne à le droit d'accès sinon FALSE.*/var $droit_bool;/** @var bool contient TRUE si la personne est administratrice sinon FALSE.*/var $admin_bool;/** @var bool contient TRUE si la personne est coordinatrice sinon FALSE.*/var $coord_bool;/** @var bool contient TRUE si la personne est rédacteur sinon FALSE.*/var $redac_bool;/** @var array contient un tableau d'objet organisation appartenant à l'utilisateur.*/var $organisation_liste;/*** Constructeur de H_Utilisateur** @return void* @access public*/function H_Utilisateur($id_utilisateur){$this->id = $id_utilisateur;$this->info = $this->renseignement($this->id);$this->droit_bool = $this->avoirDroit();$this->admin_bool = $this->etreAdministrateur();$this->coord_bool = $this->etreCoordinateur();$this->redac_bool = $this->etreRedacteur();}/** Méthode getId() - Retourne l'identifiant d'un utilisateur.** @return integer l'identifiant d'un utilisateur.* @access public*/function getId(){return $this->id;}/** Méthode setId() - Remplace l'identifiant de l'utilisateur.** @param integer l'identifiant de l'utilisateur.* @return void.* @access public*/function setId($id){$this->id = $id;}/** Méthode getInfo() - Retourne les info sur un utilisateur.** @return object les infos provenant de la table annuaire.* @access public*/function getInfo(){return $this->info;}/** Méthode getDroit() - Retourne la valeur de l'attribut droit_bool** @return bool vrai si la personne à le droit sinon faux.* @access public*/function getDroit(){return $this->droit_bool;}/** Méthode getAdminBool() - Retourne la valeur de l'attribut admin_bool** @return bool vrai si la personne est administrateur sinon faux.* @access public*/function getAdminBool(){return $this->admin_bool;}/** Méthode getCoordBool() - Retourne la valeur de l'attribut coord_bool** @return bool vrai si la personne est coordinatrice sinon faux.* @access public*/function getCoordBool(){return $this->coord_bool;}/** Méthode getRedacBool() - Retourne la valeur de l'attribut redac_bool** @return bool vrai si la personne est rédacteur sinon faux.* @access public*/function getRedacBool(){return $this->redac_bool;}/** Méthode getOrganisationListe() - Retourne le tableau des organisation de l'utilisateur.** @return array le tableau des organisation de l'utilisateur.* @access public*/function getOrganisationListe(){if (is_array($this->organisation_liste)) {return $this->organisation_liste;} else {return array();}}/** Méthode renseignement() - Renvoie un objet de type H_Utilisateur** Renvoie un objet de type H_Administrateur dont l'identificateur est spécifié en paramètre.* L'objet correspond à un administrateur décrit dans la table servant d'annuaire.** @param integer l'identifiant de la table servant d'annuaire.* @return object un objet de la classe H_Utilisateur* @access public*/function renseignement($id_utilisateur = null){if (is_null($id_utilisateur)) {$id_utilisateur = $this->getId();}$requete = 'SELECT * '.'FROM '.HB_BDD_TAB_ANNUAIRE.' '.'WHERE '.HB_BDD_TAB_ANNUAIRE_CHP_ID.' = '.$id_utilisateur;$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));$ligne = mysql_fetch_object($resultat);return $ligne;}/** Méthode etreDansAnnuaire() - Retourne vrai si l'utilisateur est dans l'annuaire** Renvoie vrai si la personne est présente dans l'annuaire utilisé pour les Herbiers* sinon la méthode renvoie faux.** @param string la valeur à rechercher dans une colonne de la table d'annuaire.* @param string la nom de la colonne de la table d'annuaire où chercher la valeur.* @return bool vrai si la valeur est trouvée dans la colonne de la table d'annuaire sinon faux.* @access public*/function etreDansAnnuaire($valeur, $champs){$requete = 'SELECT U_ID '.'FROM '.HB_BDD_TAB_ANNUAIRE.' '.'WHERE '.$champs.' = "'.$valeur.'"';$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));if (mysql_num_rows($resultat) != 0) {return TRUE;} else {return FALSE;}}/** Méthode avoirDroit() - Retourne un booléen en fonction des droits de la personne** Renvoie vrai si la personne à le droit de se connecter à l'administration des Herbiers* sinon la méthode renvoie faux.** @param integer l'identifiant de la personne dans la table servant d'annuaire.* @return bool vrai si la personne à le droit sinon faux.* @access public*/function avoirDroit($id_utilisateur = null){if (is_null($id_utilisateur)) {$id_utilisateur = $this->getId();}$requete = 'SELECT EDP_ID_DROIT '.'FROM '.HB_BDD_NOM.'.EFLORE_DROIT_POSSEDER '.'WHERE EDP_ID_UTILISATEUR = '.$id_utilisateur.' '.'AND EDP_ID_PROJET = 1';$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));if (mysql_num_rows($resultat) != 0) {return TRUE;} else {return FALSE;}}/** Méthode etreAdministrateur() - Retourne vrai si l'utilisateur est administrateur** Renvoie vrai si la personne à les droits d'administrateur des Herbiers* sinon la méthode renvoie faux.** @param integer l'identifiant de la personne dans la table servant d'annuaire.* @return bool vrai si la personne est administrateur sinon faux.* @access public*/function etreAdministrateur($id_utilisateur = null){if (is_null($id_utilisateur)) {$id_utilisateur = $this->getId();}$requete = 'SELECT EDP_ID_DROIT '.'FROM '.HB_BDD_NOM.'.EFLORE_DROIT_POSSEDER '.'WHERE EDP_ID_UTILISATEUR = '.$id_utilisateur.' '.'AND EDP_ID_PROJET = 1 '.'AND EDP_ID_DROIT = 1';$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));if (mysql_num_rows($resultat) != 0) {return TRUE;} else {return FALSE;}}/** Méthode etreCoordinateur() - Retourne vrai si l'utilisateur est coordinateur** Renvoie vrai si la personne à les droits de coordinateur des Herbiers* sinon la méthode renvoie faux.** @param integer l'identifiant de la personne dans la table servant d'annuaire.* @return bool vrai si la personne est coordinateur sinon faux.* @access public*/function etreCoordinateur($id_utilisateur = null){if (is_null($id_utilisateur)) {$id_utilisateur = $this->getId();}$requete = 'SELECT EDP_ID_DROIT '.'FROM '.HB_BDD_NOM.'.EFLORE_DROIT_POSSEDER '.'WHERE EDP_ID_UTILISATEUR = '.$id_utilisateur.' '.'AND EDP_ID_PROJET = 1 '.'AND EDP_ID_DROIT = 2';$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));if (mysql_num_rows($resultat) != 0) {return TRUE;} else {return FALSE;}}/** Méthode etreRedacteur() - Retourne vrai si l'utilisateur est rédacteur.** Renvoie vrai si la personne à les droits de rédacteur des Herbiers* sinon la méthode renvoie faux.** @param integer l'identifiant de la personne dans la table servant d'annuaire.* @return bool vrai si la personne est rédacteur sinon faux.* @access public*/function etreRedacteur($id_utilisateur = null){if (is_null($id_utilisateur)) {$id_utilisateur = $this->getId();}$requete = 'SELECT EDP_ID_DROIT '.'FROM '.HB_BDD_NOM.'.EFLORE_DROIT_POSSEDER '.'WHERE EDP_ID_UTILISATEUR = '.$id_utilisateur.' '.'AND EDP_ID_PROJET = 1 '.'AND EDP_ID_DROIT = 3';$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));if (mysql_num_rows($resultat) != 0) {return TRUE;} else {return FALSE;}}/** Méthode donnerTableauUtilisateurs() - Retourne le tableau des utilisateurs avec droit.** Renvoie un tableau contenant les id de chaque utilisateur de l'administration des Herbiers.** @return array le tableau contenant les id de chaque utilisateur.* @access public*/function donnerTableauUtilisateurs(){$tab_utilisateurs = array();$requete = 'SELECT U_ID '.'FROM '.HB_BDD_NOM_ANNUAIRE.'.annuaire_tela, '.HB_BDD_NOM.'.EFLORE_DROIT_POSSEDER '.'WHERE U_ID = EDP_ID_UTILISATEUR';$resultat = mysql_query($requete) or die (BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));while ($ligne = mysql_fetch_assoc($resultat)) {array_push($tab_utilisateurs, $ligne['U_ID']);}return $tab_utilisateurs;}/*** Méthode recupererOrganisationListe() - Remplir le tableau des organisations de l'utilisateur.** Initialise l'attribut organisation_utilisateur.** @param H_Utilisateur l'objet représentant l'utilisateur actuel des Herbiers.* @return bool retourne TRUE si la talbeau a été rempli, FALSE si il est vide.* @access public*/function recupererOrganisationListe(&$un_utilisateur){$requete = 'SELECT HERBIERS_ORGANISATION.ID_ORG, HERBIERS_ORGANISATION.INSTITUTION_NAME, HERBIERS_ORGANISATION.TOWN '.'FROM HERBIERS_ORGANISATION ';if (!$un_utilisateur->getAdminBool()) {$requete .= ', HERBIERS_ADMINISTRER '.'WHERE HERBIERS_ADMINISTRER.HA_ID_ANNUAIRE = '.$un_utilisateur->getId().' '.'AND HERBIERS_ADMINISTRER.HA_ID_ORG = HERBIERS_ORGANISATION.ID_ORG ';}$requete .= 'ORDER BY HERBIERS_ORGANISATION.TOWN';$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));if (mysql_num_rows($resultat) == 0) {return FALSE;} else {$this->organisation_liste = array();while ($ligne = mysql_fetch_object($resultat)) {array_push($this->organisation_liste, $ligne);}return TRUE;}}/*** Méthode insererOrganisationListe() - Attribuer à un utilisateur une organisation.** Permet d'insérer dans la base de données une ligne faisant correspondre une organisation à* un utilisateur.** @param H_organisation l'objet représentant l'organisation de l'utilisateur.* return void* @access public*/function insererOrganisationListe(&$une_organisation){$requete = 'INSERT INTO HERBIERS_ADMINISTRER '.'SET HA_ID_ANNUAIRE = '.$this->getId().', '.'HA_ID_ORG = '.$une_organisation->getId();mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));}}// +------------------------------------------------------------------------------------------------------+// | PIED du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/* +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* Revision 1.1 2005/04/06 13:29:17 jpm* Ajout et modifications des objets représentant la base de données Herbier.** Revision 1.1 2005/03/08 14:13:21 jpm* Ajout des classes d'accès à la base de données.*** +-- Fin du code ----------------------------------------------------------------------------------------+*/?>