| 10 | jpm | 1 | <?php
 | 
        
           |  |  | 2 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 3 | // | PHP version 5.1.1                                                                                    |
 | 
        
           |  |  | 4 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 5 | // | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org)                                         |
 | 
        
           |  |  | 6 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 7 | // | This file is part of eFlore.                                                                         |
 | 
        
           |  |  | 8 | // |                                                                                                      |
 | 
        
           |  |  | 9 | // | Foobar is free software; you can redistribute it and/or modify                                       |
 | 
        
           |  |  | 10 | // | it under the terms of the GNU General Public License as published by                                 |
 | 
        
           |  |  | 11 | // | the Free Software Foundation; either version 2 of the License, or                                    |
 | 
        
           |  |  | 12 | // | (at your option) any later version.                                                                  |
 | 
        
           |  |  | 13 | // |                                                                                                      |
 | 
        
           |  |  | 14 | // | Foobar is distributed in the hope that it will be useful,                                            |
 | 
        
           |  |  | 15 | // | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
 | 
        
           |  |  | 16 | // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
 | 
        
           |  |  | 17 | // | GNU General Public License for more details.                                                         |
 | 
        
           |  |  | 18 | // |                                                                                                      |
 | 
        
           |  |  | 19 | // | You should have received a copy of the GNU General Public License                                    |
 | 
        
           |  |  | 20 | // | along with Foobar; if not, write to the Free Software                                                |
 | 
        
           |  |  | 21 | // | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
 | 
        
           |  |  | 22 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 23 | // CVS : $Id$
 | 
        
           |  |  | 24 | /**
 | 
        
           |  |  | 25 | * Classe TravailProjet
 | 
        
           |  |  | 26 | *
 | 
        
           |  |  | 27 | * Description
 | 
        
           |  |  | 28 | *
 | 
        
           |  |  | 29 | *@package eFlore
 | 
        
           |  |  | 30 | *@subpackage modele
 | 
        
           |  |  | 31 | //Auteur original :
 | 
        
           |  |  | 32 | *@version 3
 | 
        
           |  |  | 33 | *@author        Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
 | 
        
           |  |  | 34 | //Autres auteurs :
 | 
        
           |  |  | 35 | *@version 4
 | 
        
           |  |  | 36 | *@author        Jean-Pascal MILCENT <jpm@clapas.org>
 | 
        
           |  |  | 37 | *@author        aucun
 | 
        
           |  |  | 38 | *@copyright     Tela-Botanica 2000-2006
 | 
        
           |  |  | 39 | *@version       $Revision$ $Date$
 | 
        
           |  |  | 40 | // +------------------------------------------------------------------------------------------------------+
 | 
        
           |  |  | 41 | */
 | 
        
           |  |  | 42 |   | 
        
           |  |  | 43 | /**
 | 
        
           |  |  | 44 | * class TravailProjet : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
 | 
        
           |  |  | 45 | * classe métier
 | 
        
           |  |  | 46 | */
 | 
        
           |  |  | 47 | class TravailProjet extends aGttSql {
 | 
        
           |  |  | 48 | 	/*** Constantes : */
 | 
        
           | 11 | jpm | 49 | 	const GTP_ID = 'TRAVAILPROJET_ID';
 | 
        
           |  |  | 50 | 	const GTP_ID_UTILISATEUR_DATE_DEB_FIN = 'TRAVAILPROJET_ID_UTILISATEUR_DATE';
 | 
        
           | 10 | jpm | 51 | 	const GTP_ID_MAX_UTILISATEUR = 'TRAVAILPROJET_ID_MAX_UTILISATEUR';
 | 
        
           |  |  | 52 | 	const GTP_ID_MAX_PROJET = 'TRAVAILPROJET_ID_MAX_PROJET';
 | 
        
           |  |  | 53 | 	const GTP_ID_MAX_DATE_TRAVAIL = 'TRAVAILPROJET_ID_MAX_DATE_TRAVAIL';
 | 
        
           | 12 | jpm | 54 |   | 
        
           | 10 | jpm | 55 | 	/*** Attributs : */
 | 
        
           |  |  | 56 | 	private $id_utilisateur;
 | 
        
           |  |  | 57 | 	private $id_projet;
 | 
        
           |  |  | 58 | 	private $id_date_travail;
 | 
        
           |  |  | 59 | 	private $duree;
 | 
        
           | 12 | jpm | 60 |   | 
        
           | 10 | jpm | 61 | 	/*** Aggregations : */
 | 
        
           |  |  | 62 |   | 
        
           |  |  | 63 | 	/*** Constructeur : */
 | 
        
           |  |  | 64 | 	public function __construct($cmd = null, $parametres = null)
 | 
        
           |  |  | 65 | 	{
 | 
        
           |  |  | 66 | 		$this->dao_table_nom = 'gestion_travail_projet';
 | 
        
           |  |  | 67 | 		$this->dao_correspondance = array(
 | 
        
           |  |  | 68 | 			'gtp_id_utilisateur'	=> 'id_utilisateur',
 | 
        
           |  |  | 69 | 			'gtp_id_projet'	=> 'id_projet',
 | 
        
           |  |  | 70 | 			'gtp_id_date_travail'	=> 'id_date_travail',
 | 
        
           |  |  | 71 | 			'gtp_duree'	=> 'duree');
 | 
        
           | 12 | jpm | 72 |   | 
        
           | 10 | jpm | 73 | 		// Si l'on veut remplir l'objet à la création on lance la requete correspondante
 | 
        
           |  |  | 74 | 		if (!is_null($cmd)) {
 | 
        
           |  |  | 75 | 			$this->consulter($cmd, $parametres, true);
 | 
        
           |  |  | 76 | 		}
 | 
        
           |  |  | 77 | 	}
 | 
        
           | 12 | jpm | 78 |   | 
        
           | 10 | jpm | 79 | 	/*** Accesseurs : */
 | 
        
           |  |  | 80 | 	// Id Utilisateur
 | 
        
           |  |  | 81 | 	public function getIdUtilisateur()
 | 
        
           |  |  | 82 | 	{
 | 
        
           |  |  | 83 | 		return $this->id_utilisateur;
 | 
        
           |  |  | 84 | 	}
 | 
        
           |  |  | 85 | 	public function setIdUtilisateur( $iu )
 | 
        
           |  |  | 86 | 	{
 | 
        
           |  |  | 87 | 		$this->id_utilisateur = $iu;
 | 
        
           |  |  | 88 | 	}
 | 
        
           | 12 | jpm | 89 |   | 
        
           | 10 | jpm | 90 | 	// Id Projet
 | 
        
           |  |  | 91 | 	public function getIdProjet()
 | 
        
           |  |  | 92 | 	{
 | 
        
           |  |  | 93 | 		return $this->id_projet;
 | 
        
           |  |  | 94 | 	}
 | 
        
           |  |  | 95 | 	public function setIdProjet( $ip )
 | 
        
           |  |  | 96 | 	{
 | 
        
           |  |  | 97 | 		$this->id_projet = $ip;
 | 
        
           |  |  | 98 | 	}
 | 
        
           | 12 | jpm | 99 |   | 
        
           | 10 | jpm | 100 | 	// Id Date Travail
 | 
        
           |  |  | 101 | 	public function getIdDateTravail()
 | 
        
           |  |  | 102 | 	{
 | 
        
           |  |  | 103 | 		return $this->id_date_travail;
 | 
        
           |  |  | 104 | 	}
 | 
        
           |  |  | 105 | 	public function setIdDateTravail( $idt )
 | 
        
           |  |  | 106 | 	{
 | 
        
           |  |  | 107 | 		$this->id_date_travail = $idt;
 | 
        
           |  |  | 108 | 	}
 | 
        
           | 12 | jpm | 109 |   | 
        
           | 10 | jpm | 110 | 	// Duree
 | 
        
           |  |  | 111 | 	public function getDuree()
 | 
        
           |  |  | 112 | 	{
 | 
        
           |  |  | 113 | 		return $this->duree;
 | 
        
           |  |  | 114 | 	}
 | 
        
           |  |  | 115 | 	public function setDuree( $d )
 | 
        
           |  |  | 116 | 	{
 | 
        
           |  |  | 117 | 		$this->duree = $d;
 | 
        
           |  |  | 118 | 	}
 | 
        
           | 12 | jpm | 119 |   | 
        
           | 10 | jpm | 120 | 	/*** Méthodes : */
 | 
        
           |  |  | 121 |   | 
        
           |  |  | 122 | 	/**
 | 
        
           |  |  | 123 | 	* Consulter la table gestion_travail_projet.
 | 
        
           |  |  | 124 | 	* @return mixed un tableau d'objets TravailProjet s'il y en a plusieurs, l'objet TravailProjet s'il y en a 1 seul sinon false.
 | 
        
           |  |  | 125 | 	*/
 | 
        
           |  |  | 126 | 	public function consulter($cmd = '', $parametres = array(), $instancier = false)
 | 
        
           |  |  | 127 | 	{
 | 
        
           | 48 | jpm | 128 | 		if (!is_array($parametres)) {
 | 
        
           |  |  | 129 | 			$parametres[0] = $parametres;
 | 
        
           |  |  | 130 | 		}
 | 
        
           | 10 | jpm | 131 | 		switch ($cmd) {
 | 
        
           |  |  | 132 | 			case TravailProjet::GTP_ID:
 | 
        
           |  |  | 133 | 				$requete = 	'SELECT * '.
 | 
        
           |  |  | 134 | 							'FROM gestion_travail_projet '.
 | 
        
           | 11 | jpm | 135 | 							'WHERE gtp_id_utilisateur = '.$parametres[0].' AND gtp_id_projet = '.$parametres[1].' AND gtp_id_date_travail = "'.$parametres[2].'" ';
 | 
        
           | 10 | jpm | 136 | 				break;
 | 
        
           | 11 | jpm | 137 | 			case TravailProjet::GTP_ID_UTILISATEUR_DATE_DEB_FIN:
 | 
        
           |  |  | 138 | 				$requete = 	'SELECT * '.
 | 
        
           |  |  | 139 | 							'FROM gestion_travail_projet '.
 | 
        
           | 12 | jpm | 140 | 							'WHERE gtp_id_utilisateur = '.$parametres[0].' AND gtp_id_date_travail >= "'.$parametres[1].'" '.' AND gtp_id_date_travail <= "'.$parametres[2].'" ';
 | 
        
           | 11 | jpm | 141 | 				break;
 | 
        
           | 10 | jpm | 142 | 			case TravailProjet::GTP_ID_MAX_UTILISATEUR:
 | 
        
           |  |  | 143 | 				$requete =	'SELECT MAX(gtp_id_utilisateur) '.
 | 
        
           |  |  | 144 | 							'FROM gestion_travail_projet ';
 | 
        
           |  |  | 145 | 				break;
 | 
        
           |  |  | 146 | 			case TravailProjet::GTP_ID_MAX_PROJET:
 | 
        
           |  |  | 147 | 				$requete =	'SELECT MAX(gtp_id_projet) '.
 | 
        
           |  |  | 148 | 							'FROM gestion_travail_projet ';
 | 
        
           |  |  | 149 | 				break;
 | 
        
           |  |  | 150 | 			case TravailProjet::GTP_ID_MAX_DATE_TRAVAIL:
 | 
        
           |  |  | 151 | 				$requete =	'SELECT MAX(gtp_id_date_travail) '.
 | 
        
           |  |  | 152 | 							'FROM gestion_travail_projet ';
 | 
        
           | 11 | jpm | 153 | 				break;
 | 
        
           | 10 | jpm | 154 | 			default :
 | 
        
           | 11 | jpm | 155 | 				$message = 'Commande '.$cmd.' inconnue!';
 | 
        
           | 10 | jpm | 156 | 				$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
 | 
        
           |  |  | 157 |     			trigger_error($e, E_USER_ERROR);
 | 
        
           |  |  | 158 | 		}
 | 
        
           | 13 | jpm | 159 |   | 
        
           | 10 | jpm | 160 | 		$resultat = $GLOBALS['db']->query($requete);
 | 
        
           |  |  | 161 | 		(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
 | 
        
           |  |  | 162 | 		$tab_resultat = array();
 | 
        
           |  |  | 163 | 		while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
 | 
        
           |  |  | 164 | 			$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
 | 
        
           |  |  | 165 | 		}
 | 
        
           | 12 | jpm | 166 |   | 
        
           |  |  | 167 | 		$resultat_nbre = count($tab_resultat);
 | 
        
           | 10 | jpm | 168 | 		if ($resultat_nbre > 1) {
 | 
        
           |  |  | 169 | 			return $tab_resultat;
 | 
        
           |  |  | 170 | 		} else if ($resultat_nbre == 1) {
 | 
        
           |  |  | 171 | 			return $tab_resultat[0];
 | 
        
           |  |  | 172 | 		} else if ($resultat_nbre == 0) {
 | 
        
           |  |  | 173 | 			return false;
 | 
        
           |  |  | 174 | 		}
 | 
        
           |  |  | 175 | 	}
 | 
        
           | 12 | jpm | 176 |   | 
        
           | 10 | jpm | 177 | 	/** Afficher l'objet TravailProjet */
 | 
        
           |  |  | 178 | 	function afficherTravailProjet()
 | 
        
           |  |  | 179 | 	{
 | 
        
           |  |  | 180 | 		echo '<pre>'.print_r($this, true).'</pre>';
 | 
        
           |  |  | 181 | 	}
 | 
        
           |  |  | 182 | }
 | 
        
           |  |  | 183 |   | 
        
           |  |  | 184 | /* +--Fin du code ----------------------------------------------------------------------------------------+
 | 
        
           |  |  | 185 | *
 | 
        
           |  |  | 186 | * $Log$
 | 
        
           |  |  | 187 | *
 | 
        
           |  |  | 188 | * +-- Fin du code ----------------------------------------------------------------------------------------+
 | 
        
           |  |  | 189 | */
 | 
        
           |  |  | 190 | ?>
 |