Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 160 → Rev 161

/tags/v1.1-thales/bibliotheque/metier/FraisKm.class.php
New file
0,0 → 1,198
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe FraisKm
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class FraisKm : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class FraisKm extends aGttSql {
/*** Constantes : */
const GFK_ID = 'FRAISKM_ID';
const GFK_ID_MAX = 'FRAISKM_ID_MAX';
 
/*** Attributs : */
private $id_frais_km;
private $gfkt_id_frais_km_taux;
private $ce_utilisateur;
private $date;
private $nbre_km;
private $objet;
private $trajet;
private $montant_total;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_frais_km';
$this->dao_correspondance = array(
'gfk_id_frais_km' => 'id_frais_km',
'gfkt_id_frais_km_taux' => 'gfkt_id_frais_km_taux',
'gfk_ce_utilisateur' => 'ce_utilisateur',
'gfk_date' => 'date',
'gfk_nbre_km' => 'nbre_km',
'gfk_objet' => 'objet',
'gfk_trajet' => 'trajet',
'gfk_montant_total' => 'montant_total');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Frais Km
public function getIdFraisKm()
{
return $this->id_frais_km;
}
public function setIdFraisKm( $ifk )
{
$this->id_frais_km = $ifk;
}
 
// Gfkt Id Frais Km Taux
public function getGfktIdFraisKmTaux()
{
return $this->gfkt_id_frais_km_taux;
}
public function setGfktIdFraisKmTaux( $gifkt )
{
$this->gfkt_id_frais_km_taux = $gifkt;
}
 
// Ce Utilisateur
public function getCeUtilisateur()
{
return $this->ce_utilisateur;
}
public function setCeUtilisateur( $cu )
{
$this->ce_utilisateur = $cu;
}
 
// Date
public function getDate()
{
return $this->date;
}
public function setDate( $d )
{
$this->date = $d;
}
 
// Nbre Km
public function getNbreKm()
{
return $this->nbre_km;
}
public function setNbreKm( $nk )
{
$this->nbre_km = $nk;
}
 
// Objet
public function getObjet()
{
return $this->objet;
}
public function setObjet( $o )
{
$this->objet = $o;
}
 
// Trajet
public function getTrajet()
{
return $this->trajet;
}
public function setTrajet( $t )
{
$this->trajet = $t;
}
 
// Montant Total
public function getMontantTotal()
{
return $this->montant_total;
}
public function setMontantTotal( $mt )
{
$this->montant_total = $mt;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_frais_km.
* @return mixed un tableau d'objets FraisKm s'il y en a plusieurs, l'objet FraisKm s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case FraisKm::GFK_ID:
$requete = 'SELECT * '.
'FROM gestion_frais_km '.
'WHERE gfk_id_frais_km = #0 ';
break;
case FraisKm::GFK_ID_MAX:
$requete = 'SELECT MAX(gfk_id_frais_km) '.
'FROM gestion_frais_km ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/FraisKmTaux.class.php
New file
0,0 → 1,126
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe FraisKmTaux
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class FraisKmTaux : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class FraisKmTaux extends aGttSql {
/*** Constantes : */
const GFKT_ID = 'FRAISKMTAUX_ID';
const GFKT_ID_MAX = 'FRAISKMTAUX_ID_MAX';
 
/*** Attributs : */
private $id_frais_km_taux;
private $taux;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_frais_km_taux';
$this->dao_correspondance = array(
'gfkt_id_frais_km_taux' => 'id_frais_km_taux',
'gfkt_taux' => 'taux');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Frais Km Taux
public function getIdFraisKmTaux()
{
return $this->id_frais_km_taux;
}
public function setIdFraisKmTaux( $ifkt )
{
$this->id_frais_km_taux = $ifkt;
}
 
// Taux
public function getTaux()
{
return $this->taux;
}
public function setTaux( $t )
{
$this->taux = $t;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_frais_km_taux.
* @return mixed un tableau d'objets FraisKmTaux s'il y en a plusieurs, l'objet FraisKmTaux s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case FraisKmTaux::GFKT_ID:
$requete = 'SELECT * '.
'FROM gestion_frais_km_taux '.
'WHERE gfkt_id_frais_km_taux = #0 ';
break;
case FraisKmTaux::GFKT_ID_MAX:
$requete = 'SELECT MAX(gfkt_id_frais_km_taux) '.
'FROM gestion_frais_km_taux ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/AbsenceMotif.class.php
New file
0,0 → 1,161
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe AbsenceMotif
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class AbsenceMotif : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class AbsenceMotif extends aGttSql {
/*** Constantes : */
const GAM_TOUS = 'ABSENCEMOTIF_TOUS';
const GAM_ID = 'ABSENCEMOTIF_ID';
const GAM_ID_MAX = 'ABSENCEMOTIF_ID_MAX';
const GAM_LIBELLE = 'ABSENCEMOTIF_LIBELLE';
 
/*** Attributs : */
private $id_absence_motif;
private $libelle;
private $mark_cp_diminuer;
private $mark_hs_diminuer;
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_absence_motif';
$this->dao_correspondance = array(
'gam_id_absence_motif' => 'id_absence_motif',
'gam_libelle' => 'libelle',
'gam_mark_cp_diminuer' => 'mark_cp_diminuer',
'gam_mark_hs_diminuer' => 'mark_hs_diminuer');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Absence Motif
public function getIdAbsenceMotif()
{
return $this->id_absence_motif;
}
public function setIdAbsenceMotif( $iam )
{
$this->id_absence_motif = $iam;
}
 
// Libelle
public function getLibelle()
{
return $this->libelle;
}
public function setLibelle( $l )
{
$this->libelle = $l;
}
 
// CP Diminuer
public function getMarkCpDiminuer()
{
return $this->mark_cp_diminuer;
}
public function setMarkCpDiminuer( $cd )
{
$this->mark_cp_diminuer = $cd;
}
 
// HS Diminuer
public function getMarkHsDiminuer()
{
return $this->mark_hs_diminuer;
}
public function setMarkHsDiminuer( $hd )
{
$this->mark_hs_diminuer = $hd;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_absence_motif.
* @return mixed un tableau d'objets AbsenceMotif s'il y en a plusieurs, l'objet AbsenceMotif s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case AbsenceMotif::GAM_TOUS:
$requete = 'SELECT * '.
'FROM gestion_absence_motif ';
break;
case AbsenceMotif::GAM_ID:
$requete = 'SELECT * '.
'FROM gestion_absence_motif '.
'WHERE gam_id_absence_motif = #0 ';
break;
case AbsenceMotif::GAM_ID_MAX:
$requete = 'SELECT MAX(gam_id_absence_motif) AS gam_id_absence_motif '.
'FROM gestion_absence_motif ';
break;
case AbsenceMotif::GAM_LIBELLE:
$requete = 'SELECT * '.
'FROM gestion_absence_motif '.
'WHERE gam_libelle = "#0" ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/UtilisateurAProjet.class.php
New file
0,0 → 1,144
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe UtilisateurAProjet
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class UtilisateurAProjet : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class UtilisateurAProjet extends aGttSql {
/*** Constantes : */
const GUAP_ID = 'UTILISATEURAPROJET_ID';
const GUAP_ID_MAX_UTILISATEUR = 'UTILISATEURAPROJET_ID_MAX_UTILISATEUR';
const GUAP_ID_MAX_PROJET = 'UTILISATEURAPROJET_ID_MAX_PROJET';
const GUAP_UTILISATEUR = 'UTILISATEURAPROJET_ID_UTILISATEUR';
const GUAP_PROJET = 'UTILISATEURAPROJET_ID_PROJET';
/*** Attributs : */
private $id_utilisateur;
private $id_projet;
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_utilisateur_a_projet';
$this->dao_correspondance = array(
'guap_id_utilisateur' => 'id_utilisateur',
'guap_id_projet' => 'id_projet');
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
/*** Accesseurs : */
// Id Utilisateur
public function getIdUtilisateur()
{
return $this->id_utilisateur;
}
public function setIdUtilisateur( $iu )
{
$this->id_utilisateur = $iu;
}
// Id Projet
public function getIdProjet()
{
return $this->id_projet;
}
public function setIdProjet( $ip )
{
$this->id_projet = $ip;
}
/*** Méthodes : */
 
/**
* Consulter la table gestion_utilisateur_a_projet.
* @return mixed un tableau d'objets UtilisateurAProjet s'il y en a plusieurs, l'objet UtilisateurAProjet s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case UtilisateurAProjet::GUAP_ID:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_a_projet '.
'WHERE guap_id_utilisateur = #0 '.
' AND guap_id_projet = #1 ';
break;
case UtilisateurAProjet::GUAP_ID_MAX_UTILISATEUR:
$requete = 'SELECT MAX(guap_id_utilisateur) '.
'FROM gestion_utilisateur_a_projet ';
break;
case UtilisateurAProjet::GUAP_ID_MAX_PROJET:
$requete = 'SELECT MAX(guap_id_projet) '.
'FROM gestion_utilisateur_a_projet ';
break;
case UtilisateurAProjet::GUAP_UTILISATEUR:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_a_projet '.
'WHERE guap_id_utilisateur = #0 ';
break;
case UtilisateurAProjet::GUAP_PROJET:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_a_projet '.
'WHERE guap_id_projet = #0 ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/UtilisateurStatut.class.php
New file
0,0 → 1,149
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe UtilisateurStatut
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class UtilisateurStatut : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class UtilisateurStatut extends aGttSql {
/*** Constantes : */
const GUS_TOUS = 'UTILISATEURSTATUT_TOUS';
const GUS_ID = 'UTILISATEURSTATUT_ID';
const GUS_ID_MAX = 'UTILISATEURSTATUT_ID_MAX';
const GUS_LIBELLE = 'UTILISATEURSTATUT_LIBELLE';
 
/*** Attributs : */
private $id_utilisateur_statut;
private $libelle;
private $mark_recapitulatif;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_utilisateur_statut';
$this->dao_correspondance = array(
'gus_id_utilisateur_statut' => 'id_utilisateur_statut',
'gus_libelle' => 'libelle',
'gus_mark_recapitulatif' => 'mark_recapitulatif');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Utilisateur Statut
public function getIdUtilisateurStatut()
{
return $this->id_utilisateur_statut;
}
public function setIdUtilisateurStatut( $ius )
{
$this->id_utilisateur_statut = $ius;
}
 
// Libelle
public function getLibelle()
{
return $this->libelle;
}
public function setLibelle( $l )
{
$this->libelle = $l;
}
 
// Mark Recapitulatif
public function getMarkRecapitulatif()
{
return $this->mark_recapitulatif;
}
public function setMarkRecapitulatif( $mr )
{
$this->mark_recapitulatif = $mr;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_utilisateur_statut.
* @return mixed un tableau d'objets UtilisateurStatut s'il y en a plusieurs, l'objet UtilisateurStatut s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case UtilisateurStatut::GUS_TOUS:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_statut ';
break;
case UtilisateurStatut::GUS_ID:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_statut '.
'WHERE gus_id_utilisateur_statut = #0 ';
break;
case UtilisateurStatut::GUS_ID_MAX:
$requete = 'SELECT MAX(gus_id_utilisateur_statut) AS gus_id_utilisateur_statut '.
'FROM gestion_utilisateur_statut ';
break;
case UtilisateurStatut::GUS_LIBELLE:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_statut '.
'WHERE gus_libelle = "#0" ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/aGttSql.class.php
New file
0,0 → 1,274
<?php
 
abstract class aGttSql {
 
/*** Attributs : */
private $base_de_donnees = GTT_BDD_NOM;
protected $table_nom;
protected $correspondance;
/*** Accesseurs : */
 
// Base De Donnees
function getBaseDeDonnees()
{
return $this->base_de_donnees;
}
function setBaseDeDonnees($bdd)
{
$this->base_de_donnees = $bdd;
}
// TableNom
function getTableNom()
{
return $this->dao_table_nom;
}
function setTableNom($tn)
{
$this->dao_table_nom = $tn;
}
// Correspondance
function getCorrespondance($champ = null)
{
if (!is_null($champ)) {
return $this->dao_correspondance[$champ];
}
return $this->dao_correspondance;
}
function setCorrespondance($c)
{
$this->dao_correspondance = $c;
}
 
/*** Méthodes : */
 
/** Instancie un objet utilisateur à partir d'un enregistrement issu de la base de donnée ou l'inverse.
* Cette métohode permet de s'abstraire des noms des champs présent dans la base de donnée.
*/
protected function basculerEnregistrementObjet($donnees, $instancier = false)
{
$classe = get_class($this);
if (is_array($donnees)) {
if ($instancier) {
foreach ($this->getCorrespondance() as $champ => $attribut) {
if (isset($donnees[$champ]) && !is_null($donnees[$champ])) {
$methode = $this->donnerMethodeSetAvecAttribut($attribut);
$this->$methode($donnees[$champ]);
}
}
} else {
$Objet = new $classe;
foreach ($this->getCorrespondance() as $champ => $attribut) {
if (isset($donnees[$champ]) && !is_null($donnees[$champ])) {
$methode = $this->donnerMethodeSetAvecAttribut($attribut);
$Objet->$methode($donnees[$champ]);
}
}
return $Objet;
}
} else if ($donnees instanceof $classe) {
$enregistrement = array();
foreach ($this->getCorrespondance() as $champ => $attribut) {
$methode = $this->donnerMethodeGetAvecAttribut($attribut);
if (method_exists($donnees, $methode)) {
if (!is_null($donnees->$methode())) {
$enregistrement[$champ] = $donnees->$methode();
}
}
}
return $enregistrement;
}
}
private function donnerMethodeGetAvecAttribut($attribut)
{
return 'get'.str_replace(' ', '', ucwords(str_replace('_', ' ', $attribut)));
}
private function donnerMethodeGetAvecChamp($champ)
{
return 'get'.str_replace(' ', '', ucwords(str_replace('_', ' ', $this->getCorrespondance($champ))));
}
private function donnerMethodeSetAvecAttribut($attribut)
{
return 'set'.str_replace(' ', '', ucwords(str_replace('_', ' ', $attribut)));
}
private function donnerMethodeSetAvecChamp($champ)
{
return 'set'.str_replace(' ', '', ucwords(str_replace('_', ' ', $this->getCorrespondance($champ))));
}
 
/**
* Consulter un ou plusieurs enregistrements dans la base de données.
* Chaque requête comportant des paramêtre doivent les inclures sous la forme "#0" pour le paramêtre 0,
* puis "#1" pour le paramêtre 1 et ainsi de suite.
* Exemple : SELECT * FROM gestion_projet WHERE gp_id_projet = #0
* ou SELECT * FROM gestion_projet WHERE gp_nom_projet = "#0"
* @return mixed false, un objet, un tableau d'objet ou rien et instancie l'objet courant.
*/
public function consulter($requete, $parametres = null, $instancier = false)
{
// Formatage de la requête avec les paramêtres s'il y en a
if (!is_null($parametres)) {
if (!is_array($parametres)) {
$parametres = array('#0' => $parametres);
} else {
// Ajout d'un # devant chaque clé numérique
if (count($parametres) > 0) {
foreach ($parametres as $c => $v) {
$parametres['#'.$c] = $v;
}
}
}
// Remplacement dans la requete par les valeurs des paramêtres
$requete = strtr($requete, $parametres);
}
if (GTT_DEBOGAGE_SQL) {
trigger_error($requete, E_USER_NOTICE);
}
$tps = microtime(true);
$resultat = $GLOBALS['db']->query($requete);
$GLOBALS['_GTT_']['chrono']->setTempsSql($tps, microtime(true));
(DB::isError($resultat)) ? trigger_error(GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete), E_USER_ERROR) : '' ;
$tab_resultat = array();
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre >= 1) {
return $tab_resultat;
} else if ($resultat_nbre == 0) {
return false;
}
}
 
/**
* Ajouter un enregistrement dans la base de données.
* @return true si ok, false si aucun enregistrement effectué
*/
public function ajouter()
{
$enregistrement = $this->basculerEnregistrementObjet($this);
$sql_attributs = '';
$sql_valeurs = '';
foreach($enregistrement as $champ => $val) {
if (!is_numeric($val)) {
$val = '"'.$val.'"';
}
$sql_attributs .= $champ.', ';
$sql_valeurs .= $val.', ';
}
$sql_attributs = trim($sql_attributs, ', ');
$sql_valeurs = trim($sql_valeurs, ', ');
$requete = 'INSERT INTO '.$this->getBaseDeDonnees().'.'.$this->getTableNom().' '.
'( '.$sql_attributs.' ) '.
'VALUES '.
'( '.$sql_valeurs.' )';
if (GTT_DEBOGAGE_SQL) {
trigger_error($requete, E_USER_NOTICE);
}
$tps = microtime(true);
$resultat = $GLOBALS['db']->query($requete);
$GLOBALS['_GTT_']['chrono']->setTempsSql($tps, microtime(true));
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$nbre_enregistrement_ajoute = $GLOBALS['db']->affectedRows();
if ($nbre_enregistrement_ajoute == 1) {
return true;
} elseif ($nbre_enregistrement_ajoute == 0) {
return false;
}
}
 
/**
* Modifier un enregistrement dans la base de données.
* @param object l'ancien objet contenant les valeurs de clés primaires non modifiées. Laissé vide si on ne modifie pas les clés.
* @return true si ok, false si aucun enregistrement effectué.
*/
public function modifier($Ancien = null)
{
$enregistrement = $this->basculerEnregistrementObjet($this);
$sql_where = '';
$sql_set = '';
foreach($enregistrement as $champ => $val) {
if (!is_numeric($val)) {
$val = '"'.$val.'"';
}
$sql_set .= $champ.' = '.$val.', ';
$classe = get_class($this);
if ($Ancien instanceof $classe) {
$methode = $this->donnerMethodeGetAvecChamp($champ);
$val = $Ancien->$methode();
if (!is_numeric($val)) {
$val = '"'.$val.'"';
}
}
if (preg_match('/_id_/', $champ)) {
$sql_where .= $champ.' = '.$val.' AND ';
}
}
$sql_set = trim($sql_set, ', ').' ';
$sql_where = trim($sql_where, ' AND ').' ';
$requete = 'UPDATE '.$this->getBaseDeDonnees().'.'.$this->getTableNom().' SET '.$sql_set.'WHERE '.$sql_where;
if (GTT_DEBOGAGE_SQL) {
trigger_error($requete, E_USER_NOTICE);
}
$tps = microtime(true);
$resultat = $GLOBALS['db']->query($requete);
$GLOBALS['_GTT_']['chrono']->setTempsSql($tps, microtime(true));
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$nbre_enregistrement_ajoute = $GLOBALS['db']->affectedRows();
if ($nbre_enregistrement_ajoute == 1) {
return true;
} elseif ($nbre_enregistrement_ajoute == 0) {
return false;
}
}
 
/**
* Supprimer un enregistrement dans la base de données.
* @return true si ok, false si aucun enregistrement effectué
*/
public function supprimer()
{
$enregistrement = $this->basculerEnregistrementObjet($this);
$sql_where = '';
foreach($enregistrement as $champ => $val) {
if (!is_numeric($val)) {
$val = '"'.$val.'"';
}
//if (preg_match('/_id_/', $champ)) {
$sql_where .= $champ.' = '.$val.' AND ';
//}
}
$sql_where = trim($sql_where, ' AND ').' ';
$requete = 'DELETE FROM '.$this->getBaseDeDonnees().'.'.$this->getTableNom().' WHERE '.$sql_where ;
if (GTT_DEBOGAGE_SQL) {
trigger_error($requete, E_USER_NOTICE);
}
$tps = microtime(true);
$resultat = $GLOBALS['db']->query($requete);
$GLOBALS['_GTT_']['chrono']->setTempsSql($tps, microtime(true));
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
 
$nbre_enregistrement_suppr = $GLOBALS['db']->affectedRows();
if ($nbre_enregistrement_suppr == 1) {
return true;
} elseif ($nbre_enregistrement_suppr == 0) {
return false;
}
}
/** Mettre à NULL les champs de l'objet*/
public function initialiser()
{
foreach ($this->getCorrespondance() as $champ => $attribut) {
$methode = $this->donnerMethodeSetAvecAttribut($attribut);
$this->$methode(null);
}
}
/** Afficher l'objet courrant. */
public function afficher()
{
echo '<pre>'.print_r($this, true).'</pre>';
}
}
?>
/tags/v1.1-thales/bibliotheque/metier/Absence.class.php
New file
0,0 → 1,182
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe Absence
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class Absence : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class Absence extends aGttSql {
/*** Constantes : */
const GA_ID = 'ABSENCE_ID';
const GA_ID_ABSENCE_MOTIF = 'ABSENCE_ID_ABSENCE_MOTIF';
const GA_ID_UTILISATEUR = 'ABSENCE_ID_UTILISATEUR';
const GA_ID_UTILISATEUR_DATE_DEB_FIN = 'ABSENCE_ID_UTILISATEUR_DATE_DEB_FIN';
const GA_ID_MAX_UTILISATEUR = 'ABSENCE_ID_MAX_UTILISATEUR';
const GA_ID_MAX_ABSENCE_MOTIF = 'ABSENCE_ID_MAX_ABSENCE_MOTIF';
const GA_ID_MAX_DATE_ABSENCE = 'ABSENCE_ID_MAX_DATE_ABSENCE';
 
/*** Attributs : */
private $id_utilisateur;
private $id_absence_motif;
private $id_date_absence;
private $duree;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_absence';
$this->dao_correspondance = array(
'ga_id_utilisateur' => 'id_utilisateur',
'ga_id_absence_motif' => 'id_absence_motif',
'ga_id_date_absence' => 'id_date_absence',
'ga_duree' => 'duree');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Utilisateur
public function getIdUtilisateur()
{
return $this->id_utilisateur;
}
public function setIdUtilisateur( $iu )
{
$this->id_utilisateur = $iu;
}
 
// Id Absence Motif
public function getIdAbsenceMotif()
{
return $this->id_absence_motif;
}
public function setIdAbsenceMotif( $iam )
{
$this->id_absence_motif = $iam;
}
 
// Id Date Absence
public function getIdDateAbsence()
{
return $this->id_date_absence;
}
public function setIdDateAbsence( $ida )
{
$this->id_date_absence = $ida;
}
 
// Duree
public function getDuree()
{
return $this->duree;
}
public function setDuree( $d )
{
$this->duree = $d;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_absence.
* @return mixed un tableau d'objets Absence s'il y en a plusieurs, l'objet Absence s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case Absence::GA_ID:
$requete = 'SELECT * '.
'FROM gestion_absence '.
'WHERE ga_id_utilisateur = #0 '.
' AND ga_id_absence_motif = #1 '.
' AND ga_id_date_absence = #2 ';
break;
case Absence::GA_ID_ABSENCE_MOTIF:
$requete = 'SELECT * '.
'FROM gestion_absence '.
'WHERE ga_id_absence_motif = #0 ';
break;
case Absence::GA_ID_UTILISATEUR:
$requete = 'SELECT * '.
'FROM gestion_absence '.
'WHERE ga_id_utilisateur = #0 ';
break;
case Absence::GA_ID_UTILISATEUR_DATE_DEB_FIN:
$requete = 'SELECT * '.
'FROM gestion_absence '.
'WHERE ga_id_utilisateur = #0 '.
' AND ga_id_date_absence >= "#1" '.
' AND ga_id_date_absence <= "#2" ';
break;
case Absence::GA_ID_MAX_UTILISATEUR:
$requete = 'SELECT MAX(ga_id_utilisateur) '.
'FROM gestion_absence ';
break;
case Absence::GA_ID_MAX_ABSENCE_MOTIF:
$requete = 'SELECT MAX(ga_id_absence_motif) '.
'FROM gestion_absence ';
break;
case Absence::GA_ID_MAX_DATE_ABSENCE:
$requete = 'SELECT MAX(ga_id_date_absence) '.
'FROM gestion_absence ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/Nombre.class.php
New file
0,0 → 1,37
<?php
 
class Nombre {
 
public static function formaterNbre($tableau, $format = 'fr', $debog = false) {
if (is_array($tableau)) {
if ($debog) {
trigger_error('pt2='.print_r($tableau, true), E_USER_NOTICE);
}
foreach ($tableau as $c => $v) {
$tableau[$c] = Nombre::formaterNbre($v, $format, $debog);
if ($debog) {
trigger_error('pt3='.print_r($tableau[$c], true), E_USER_NOTICE);
}
}
} else if (is_float($tableau) || is_int($tableau) || preg_match('/^(?:\d+|\d+\.\d+)$/', $tableau)) {
if ($debog) {
trigger_error('pt1='.print_r($tableau, true), E_USER_NOTICE);
}
switch ($format) {
case 'fr' :
if (is_float($tableau) || preg_match('/^\d+\.\d+$/', $tableau)) {
// Nous supprimons les 0 après la virgule puis la virgule s'il n'y pas de chifre après
$tableau = rtrim(rtrim(number_format($tableau, 2, ',', ' '), '0'), ',');
}
if (is_int($tableau) || preg_match('/^\d+$/', $tableau)) {
$tableau = number_format($tableau, 0, ',', ' ');
}
break;
default:
trigger_error("Format pour les nombres non pris en charge : $format", E_USER_WARNING);
}
}
return $tableau;
}
}
?>
/tags/v1.1-thales/bibliotheque/metier/Projet.class.php
New file
0,0 → 1,248
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe Projet
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class Projet : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class Projet extends aGttSql {
/*** Constantes : */
const GP_TOUS = 'PROJET_TOUS';
const GP_ID = 'PROJET_ID';
const GP_NOM = 'PROJET_NOM';
const GP_ID_MAX = 'PROJET_ID_MAX';
const GP_ID_LIST = 'PROJET_ID_LIST';
const GP_CE_CATEGORIE = 'PROJET_CE_CATEGORIE';
 
/*** Attributs : */
private $id_projet;
private $ce_projet_parent;
private $ce_categorie;
private $nom;
private $description;
private $date_debut;
private $date_fin;
private $duree_prevue;
private $duree_finance;
private $avancement;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_projet';
$this->dao_correspondance = array(
'gp_id_projet' => 'id_projet',
'gp_ce_projet_parent' => 'ce_projet_parent',
'gp_ce_categorie' => 'ce_categorie',
'gp_nom' => 'nom',
'gp_description' => 'description',
'gp_date_debut' => 'date_debut',
'gp_date_fin' => 'date_fin',
'gp_duree_prevue' => 'duree_prevue',
'gp_duree_finance' => 'duree_finance',
'gp_avancement' => 'avancement');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Projet
public function getIdProjet()
{
return $this->id_projet;
}
public function setIdProjet( $ip )
{
$this->id_projet = $ip;
}
 
// Ce Projet Parent
public function getCeProjetParent()
{
return $this->ce_projet_parent;
}
public function setCeProjetParent( $cpp )
{
$this->ce_projet_parent = $cpp;
}
 
 
// Ce Categorie
public function getCeCategorie()
{
return $this->ce_categorie;
}
public function setCeCategorie( $cc )
{
$this->ce_categorie = $cc;
}
 
// Nom
public function getNom()
{
return $this->nom;
}
public function setNom( $n )
{
$this->nom = $n;
}
 
// Description
public function getDescription()
{
return $this->description;
}
public function setDescription( $d )
{
$this->description = $d;
}
 
// Date Debut
public function getDateDebut()
{
return $this->date_debut;
}
public function setDateDebut( $dd )
{
$this->date_debut = $dd;
}
// Date Fin
public function getDateFin()
{
return $this->date_fin;
}
public function setDateFin( $df )
{
$this->date_fin = $df;
}
 
// Duree Prevue
public function getDureePrevue()
{
return $this->duree_prevue;
}
public function setDureePrevue( $dp )
{
$this->duree_prevue = $dp;
}
 
// Duree Finance
public function getDureeFinance()
{
return $this->duree_finance;
}
public function setDureeFinance( $df )
{
$this->duree_finance = $df;
}
 
// Avancement
public function getAvancement()
{
return $this->avancement;
}
public function setAvancement( $a )
{
$this->avancement = $a;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_projet.
* @return mixed un tableau d'objets Projet s'il y en a plusieurs, l'objet Projet s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case Projet::GP_TOUS:
$requete = 'SELECT * '.
'FROM gestion_projet LEFT JOIN gestion_projet_categorie ON (gp_ce_categorie = gpc_id_categorie) '.
'ORDER BY gpc_libelle, gp_nom ASC';
break;
case Projet::GP_ID:
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_id_projet = #0 ';
break;
case Projet::GP_NOM:
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_nom = "#0" ';
break;
case Projet::GP_ID_MAX:
$requete = 'SELECT MAX(gp_id_projet) AS gp_id_projet '.
'FROM gestion_projet ';
break;
case Projet::GP_ID_LIST:
$requete = 'SELECT * '.
'FROM gestion_projet LEFT JOIN gestion_projet_categorie ON (gp_ce_categorie = gpc_id_categorie) '.
'WHERE gp_id_projet IN (#0) '.
'ORDER BY gpc_libelle, gp_nom ASC';
break;
case Projet::GP_CE_CATEGORIE:
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_ce_categorie = #0 ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/ProjetCategorie.class.php
New file
0,0 → 1,151
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe ProjetCategorie
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class ProjetCategorie : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class ProjetCategorie extends aGttSql {
/*** Constantes : */
const GPC_TOUS = 'PROJETCATEGORIE_TOUS';
const GPC_ID = 'PROJETCATEGORIE_ID';
const GPC_ID_MAX = 'PROJETCATEGORIE_ID_MAX';
const GPC_LIBELLE = 'PROJETCATEGORIE_LIBELLE';
 
/*** Attributs : */
private $id_categorie;
private $libelle;
private $abreviation;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_projet_categorie';
$this->dao_correspondance = array(
'gpc_id_categorie' => 'id_categorie',
'gpc_libelle' => 'libelle',
'gpc_abreviation' => 'abreviation');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Categorie
public function getIdCategorie()
{
return $this->id_categorie;
}
public function setIdCategorie( $ic )
{
$this->id_categorie = $ic;
}
 
// Libelle
public function getLibelle()
{
return $this->libelle;
}
public function setLibelle( $l )
{
$this->libelle = $l;
}
 
// Abreviation
public function getAbreviation()
{
return $this->abreviation;
}
public function setAbreviation( $a )
{
$this->abreviation = $a;
}
 
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_projet_categorie.
* @return mixed un tableau d'objets ProjetCategorie s'il y en a plusieurs, l'objet ProjetCategorie s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case ProjetCategorie::GPC_TOUS:
$requete = 'SELECT * '.
'FROM gestion_projet_categorie '.
'ORDER BY gpc_libelle';
break;
case ProjetCategorie::GPC_ID:
$requete = 'SELECT * '.
'FROM gestion_projet_categorie '.
'WHERE gpc_id_categorie = #0 ';
break;
case ProjetCategorie::GPC_ID_MAX:
$requete = 'SELECT MAX(gpc_id_categorie) AS gpc_id_categorie '.
'FROM gestion_projet_categorie ';
break;
case ProjetCategorie::GPC_LIBELLE:
$requete = 'SELECT * '.
'FROM gestion_projet_categorie '.
'WHERE gpc_libelle = "#0" ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/TravailProjet.class.php
New file
0,0 → 1,182
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe TravailProjet
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class TravailProjet : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class TravailProjet extends aGttSql {
/*** Constantes : */
const GTP_ID = 'TRAVAILPROJET_ID';
const GTP_ID_UTILISATEUR_DATE_DEB_FIN = 'TRAVAILPROJET_ID_UTILISATEUR_DATE';
const GTP_ID_MAX_UTILISATEUR = 'TRAVAILPROJET_ID_MAX_UTILISATEUR';
const GTP_ID_MAX_PROJET = 'TRAVAILPROJET_ID_MAX_PROJET';
const GTP_ID_MAX_DATE_TRAVAIL = 'TRAVAILPROJET_ID_MAX_DATE_TRAVAIL';
const GTP_PROJET = 'TRAVAILPROJET_ID_PROJET';
const GTP_UTILISATEUR = 'TRAVAILPROJET_ID_UTILISATEUR';
/*** Attributs : */
private $id_utilisateur;
private $id_projet;
private $id_date_travail;
private $duree;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_travail_projet';
$this->dao_correspondance = array(
'gtp_id_utilisateur' => 'id_utilisateur',
'gtp_id_projet' => 'id_projet',
'gtp_id_date_travail' => 'id_date_travail',
'gtp_duree' => 'duree');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Utilisateur
public function getIdUtilisateur()
{
return $this->id_utilisateur;
}
public function setIdUtilisateur( $iu )
{
$this->id_utilisateur = $iu;
}
 
// Id Projet
public function getIdProjet()
{
return $this->id_projet;
}
public function setIdProjet( $ip )
{
$this->id_projet = $ip;
}
 
// Id Date Travail
public function getIdDateTravail()
{
return $this->id_date_travail;
}
public function setIdDateTravail( $idt )
{
$this->id_date_travail = $idt;
}
 
// Duree
public function getDuree()
{
return $this->duree;
}
public function setDuree( $d )
{
$this->duree = $d;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_travail_projet.
* @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.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case TravailProjet::GTP_ID:
$requete = 'SELECT * '.
'FROM gestion_travail_projet '.
'WHERE gtp_id_utilisateur = #0 '.
' AND gtp_id_projet = #1 '.
' AND gtp_id_date_travail = "#2" ';
break;
case TravailProjet::GTP_ID_UTILISATEUR_DATE_DEB_FIN:
$requete = 'SELECT * '.
'FROM gestion_travail_projet '.
'WHERE gtp_id_utilisateur = #0 '.
' AND gtp_id_date_travail >= "#1" '.
' AND gtp_id_date_travail <= "#2" ';
break;
case TravailProjet::GTP_ID_MAX_UTILISATEUR:
$requete = 'SELECT MAX(gtp_id_utilisateur) '.
'FROM gestion_travail_projet ';
break;
case TravailProjet::GTP_ID_MAX_PROJET:
$requete = 'SELECT MAX(gtp_id_projet) '.
'FROM gestion_travail_projet ';
break;
case TravailProjet::GTP_ID_MAX_DATE_TRAVAIL:
$requete = 'SELECT MAX(gtp_id_date_travail) '.
'FROM gestion_travail_projet ';
break;
case TravailProjet::GTP_PROJET:
$requete = 'SELECT gtp_id_projet '.
'FROM gestion_travail_projet '.
'WHERE gtp_id_projet = #0 ';
break;
case TravailProjet::GTP_UTILISATEUR:
$requete = 'SELECT gtp_id_utilisateur '.
'FROM gestion_travail_projet '.
'WHERE gtp_id_utilisateur = #0 ';
break;
default :
$message = 'Commande '.$cmd.' inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/Calendrier.class.php
New file
0,0 → 1,244
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe Calendrier
*
* Description
*
*@package Calendrier
//Auteur original :
*@version 1
*@author Dorian BANNIER <dbannier@aol.com>
//Autres auteurs :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* Classe calendrier pour gerer le calendrier pour un mois et une annee
*
*@param annee
*@param mois
*@param premier jour du mois
*@param semaine
*@param l'url du resultat affiche
*@param liste de noms des jours
*@param liste de noms des mois
*@param liste des jours feries du mois
*/
class Calendrier
{
private $annee;
private $mois;
private $semaine;
private $jour;
private $nom_jours = array();
private $nom_mois = array();
private $liste_feries = array();
/**
*constructeur de la classe calendrier
*toutes les variables sont initialises avec les donnees
*de la date du jour si on ne passe aucune date en parametre
*sinon on initialise le calendrier avec
*@param semaine
*@param annee
*/
public function __construct($jour = null, $semaine = null, $mois = null, $annee = null)
{
if (is_null($jour)) {
$jour = date('d', time());
}
$this->jour = $jour;
if (is_null($semaine)) {
$semaine = date('W', time());
}
$this->semaine = $semaine;
if (is_null($mois)) {
$mois = date('m', time());
}
$this->mois = $mois;
if (is_null($annee)) {
// TODO : vérifier le standard ISO-8601
$annee = date('Y', time());
}
$this->annee = $annee;
$this->nom_jours = array (1 => GESTION_LUN_A, GESTION_MAR_A, GESTION_MER_A, GESTION_JEU_A, GESTION_VEN_A, GESTION_SAM_A ,GESTION_DIM_A);
$this->nom_jours_long = array (1 => GESTION_LUN_L, GESTION_MAR_L, GESTION_MER_L, GESTION_JEU_L, GESTION_VEN_L, GESTION_SAM_L ,GESTION_DIM_L);
$this->nom_mois = array(1 => "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
$this->liste_feries = $this->calculerJoursFeries($this->annee);
}
public function getAnnee()
{
return $this->annee;
}
public function getMois()
{
return $this->mois;
}
public function getSemaine()
{
return $this->semaine;
}
public function getJour()
{
return $this->jour;
}
public function getNomJours($j = null)
{
if (is_null($j)) {
return $this->nom_jours;
}
return $this->nom_jours[$j];
}
public function getNomJoursLong($j = null)
{
if (is_null($j)) {
return $this->nom_jours_long;
}
return $this->nom_jours_long[$j];
}
 
public function getNomMois($m = null)
{
if (is_null($m)) {
return $this->nom_mois;
}
return $this->nom_mois[$m];
}
public function getListeFeries()
{
return $this->liste_feries;
}
/**
*Calcule les dates des jours fériés pour la france.
*Renvoie un tableau contenant la liste de dates par mois.
*Les dates sont de la forme timestamp unix.
*
*@param integer l'année pour laquelle on veut les jours fériés.
*@return array tableau des dates fériées.
*/
public function calculerJoursFeries($annee)
{
$tab = array( mktime(0,0,0,1,1,$annee),
$this->donnerDatePaques($annee),
mktime(0,0,0,5,1,$annee),
mktime(0,0,0,5,8,$annee),
$this->donnerDateAscension($annee),
// TODO : gérer les jours fériès depuis l'interface d'admin...
// N'est plus un jour férié...
//$this->donnerDatePentecote($annee),
mktime(0,0,0,7,14,$annee),
mktime(0,0,0,8,15,$annee),
mktime(0,0,0,11,1,$annee),
mktime(0,0,0,11,11,$annee),
mktime(0,0,0,12,25,$annee));
return $tab;
}
/**
*Calcule la date du lundi de Pâques.
*
*@param integer l'année pour laquelle on veut connaître la date de Pâques
*@return integer le timestamp du lundi de Pâques
*/
public function donnerDatePaques($annee)
{
$date_paques = easter_date($annee);
$lundi_paques = mktime( date("H", $date_paques),
date("i", $date_paques),
date("s", $date_paques),
date("m", $date_paques),
date("d", $date_paques) + 1,
date("Y", $date_paques));
return $lundi_paques;
}
/**
*Calcule la date de l'ascension.
*
*@param integer l'année pour laquelle on veut connaître la date de l'ascencion
*@return integer le timestamp de l'ascencion
*/
public function donnerDateAscension($annee)
{
$date_paques = easter_date($annee);
$date_ascension = mktime( date("H", $date_paques),
date("i", $date_paques),
date("s", $date_paques),
date("m", $date_paques),
date("d", $date_paques) + 39,
date("Y", $date_paques));
return $date_ascension;
}
 
/**
*Calcule la date du lundi de la pentecote
*Renvoie un timestamp
*renvoie cette derniere
*/
public function donnerDatePentecote($annee)
{
$date_paques = easter_date($annee);
$date_ascension = $this->donnerDateAscension($annee);
$date_pentecote = mktime( date("H", $date_ascension),
date("i", $date_ascension),
date("s", $date_ascension),
date("m", $date_ascension),
date("d", $date_ascension) + 11,
date("Y", $date_ascension));
return $date_pentecote;
}
 
/**
*Indique si une date est fériée ou non
*
*@param integer le timestamp de la date à vérifier
*@return boolean true si vrai, false si le jour n'est pas férié.
*/
function etreFerie($date)
{
if (in_array($date, $this->liste_feries)) {
return true;
} else {
return false;
}
}
}
?>
/tags/v1.1-thales/bibliotheque/metier/NoteFraisLigne.class.php
New file
0,0 → 1,174
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe NoteFraisLigne
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class NoteFraisLigne : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class NoteFraisLigne extends aGttSql {
/*** Constantes : */
const GNFL_ID = 'NOTEFRAISLIGNE_ID';
const GNFL_ID_MAX = 'NOTEFRAISLIGNE_ID_MAX';
 
/*** Attributs : */
private $id_note_frais_ligne;
private $ce_note_frais;
private $date;
private $montant_ht;
private $taux_tva;
private $montant_ttc;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_note_frais_ligne';
$this->dao_correspondance = array(
'gnfl_id_note_frais_ligne' => 'id_note_frais_ligne',
'gnfl_ce_note_frais' => 'ce_note_frais',
'gnfl_date' => 'date',
'gnfl_montant_ht' => 'montant_ht',
'gnfl_taux_tva' => 'taux_tva',
'gnfl_montant_ttc' => 'montant_ttc');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Note Frais Ligne
public function getIdNoteFraisLigne()
{
return $this->id_note_frais_ligne;
}
public function setIdNoteFraisLigne( $infl )
{
$this->id_note_frais_ligne = $infl;
}
 
// Ce Note Frais
public function getCeNoteFrais()
{
return $this->ce_note_frais;
}
public function setCeNoteFrais( $cnf )
{
$this->ce_note_frais = $cnf;
}
 
// Date
public function getDate()
{
return $this->date;
}
public function setDate( $d )
{
$this->date = $d;
}
 
// Montant Ht
public function getMontantHt()
{
return $this->montant_ht;
}
public function setMontantHt( $mh )
{
$this->montant_ht = $mh;
}
 
// Taux Tva
public function getTauxTva()
{
return $this->taux_tva;
}
public function setTauxTva( $tt )
{
$this->taux_tva = $tt;
}
 
// Montant Ttc
public function getMontantTtc()
{
return $this->montant_ttc;
}
public function setMontantTtc( $mt )
{
$this->montant_ttc = $mt;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_note_frais_ligne.
* @return mixed un tableau d'objets NoteFraisLigne s'il y en a plusieurs, l'objet NoteFraisLigne s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case NoteFraisLigne::GNFL_ID:
$requete = 'SELECT * '.
'FROM gestion_note_frais_ligne '.
'WHERE gnfl_id_note_frais_ligne = #0 ';
break;
case NoteFraisLigne::GNFL_ID_MAX:
$requete = 'SELECT MAX(gnfl_id_note_frais_ligne) '.
'FROM gestion_note_frais_ligne ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/NoteFrais.class.php
New file
0,0 → 1,138
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe NoteFrais
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class NoteFrais : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class NoteFrais extends aGttSql {
/*** Constantes : */
const GNF_ID = 'NOTEFRAIS_ID';
const GNF_ID_MAX = 'NOTEFRAIS_ID_MAX';
 
/*** Attributs : */
private $id_note_frais;
private $ce_utilisateur;
private $libelle;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_note_frais';
$this->dao_correspondance = array(
'gnf_id_note_frais' => 'id_note_frais',
'gnf_ce_utilisateur' => 'ce_utilisateur',
'gnf_libelle' => 'libelle');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Note Frais
public function getIdNoteFrais()
{
return $this->id_note_frais;
}
public function setIdNoteFrais( $inf )
{
$this->id_note_frais = $inf;
}
 
// Ce Utilisateur
public function getCeUtilisateur()
{
return $this->ce_utilisateur;
}
public function setCeUtilisateur( $cu )
{
$this->ce_utilisateur = $cu;
}
 
// Libelle
public function getLibelle()
{
return $this->libelle;
}
public function setLibelle( $l )
{
$this->libelle = $l;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_note_frais.
* @return mixed un tableau d'objets NoteFrais s'il y en a plusieurs, l'objet NoteFrais s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case NoteFrais::GNF_ID:
$requete = 'SELECT * '.
'FROM gestion_note_frais '.
'WHERE gnf_id_note_frais = #0 ';
break;
case NoteFrais::GNF_ID_MAX:
$requete = 'SELECT MAX(gnf_id_note_frais) '.
'FROM gestion_note_frais ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/tags/v1.1-thales/bibliotheque/metier/Utilisateur.class.php
New file
0,0 → 1,494
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | 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$
/**
* Classe Utilisateur
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
 
/**
* class Utilisateur : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
class Utilisateur extends aGttSql {
/*** Constantes : */
const GU_TOUS = 'UTILISATEUR_TOUS';
const GU_ID = 'UTILISATEUR_ID';
const GU_ID_MAX = 'UTILISATEUR_ID_MAX';
const GU_CE_STATUT = 'UTILISATEUR_CE_STATUT';
const GU_MAIL = 'UTILISATEUR_MAIL';
const GU_TOUS_AFFICHABLE = 'UTILISATEUR_TOUS_AFFICHABLE';
const GU_ADMIN = 'UTILISATEUR_ADMIN';
 
/*** Attributs : */
private $id_utilisateur;
private $ce_statut = 0;
private $nom;
private $prenom;
private $password;
private $email;
private $telephone;
private $adresse;
private $code_postal;
private $ville;
private $quota_heures_supp = 0;
private $conges_payes = 0;
private $temps_de_travail_jour = 7;
private $temps_de_travail_mois = 0;
private $tdt_lundi = 0;
private $tdt_mardi = 0;
private $tdt_mercredi = 0;
private $tdt_jeudi = 0;
private $tdt_vendredi = 0;
private $tdt_samedi = 0;
private $tdt_dimanche = 0;
private $mark_admin = 0;
private $mark_recapitulatif = 1;
private $notes;
 
/*** Aggregations : */
 
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_utilisateur';
$this->dao_correspondance = array(
'gu_id_utilisateur' => 'id_utilisateur',
'gu_ce_statut' => 'ce_statut',
'gu_nom' => 'nom',
'gu_prenom' => 'prenom',
'gu_password' => 'password',
'gu_email' => 'email',
'gu_telephone' => 'telephone',
'gu_adresse' => 'adresse',
'gu_code_postal' => 'code_postal',
'gu_ville' => 'ville',
'gu_quota_heures_supp' => 'quota_heures_supp',
'gu_conges_payes' => 'conges_payes',
'gu_temps_de_travail_jour' => 'temps_de_travail_jour',
'gu_temps_de_travail_mois' => 'temps_de_travail_mois',
'gu_tdt_lundi' => 'tdt_lundi',
'gu_tdt_mardi' => 'tdt_mardi',
'gu_tdt_mercredi' => 'tdt_mercredi',
'gu_tdt_jeudi' => 'tdt_jeudi',
'gu_tdt_vendredi' => 'tdt_vendredi',
'gu_tdt_samedi' => 'tdt_samedi',
'gu_tdt_dimanche' => 'tdt_dimanche',
'gu_mark_admin' => 'mark_admin',
'gu_mark_recapitulatif' => 'mark_recapitulatif',
'gu_notes' => 'notes');
 
// Si l'on veut remplir l'objet à la création on lance la requete correspondante
if (!is_null($cmd)) {
$this->consulter($cmd, $parametres, true);
}
}
 
/*** Accesseurs : */
// Id Utilisateur
public function getIdUtilisateur()
{
return $this->id_utilisateur;
}
public function setIdUtilisateur( $iu )
{
$this->id_utilisateur = $iu;
}
 
// Gus Id Utilisateur Statut
public function getCeStatut()
{
return $this->ce_statut;
}
public function setCeStatut( $cs )
{
$this->ce_statut = $cs;
}
 
// Nom
public function getNom()
{
return $this->nom;
}
public function setNom( $n )
{
if (!is_null($n)) {
$this->nom = strtoupper($n);
} else {
$this->nom = $n;
}
}
 
// Prenom
public function getPrenom()
{
return $this->prenom;
}
public function setPrenom( $p )
{
$this->prenom = $p;
}
 
// Password
public function getPassword()
{
return $this->password;
}
public function setPassword( $p )
{
if (!is_null($p)) {
$this->password = md5($p);
} else {
$this->password = $p;
}
}
 
// Email
public function getEmail()
{
return $this->email;
}
public function setEmail( $e )
{
$this->email = $e;
}
 
// Telephone
public function getTelephone()
{
return $this->telephone;
}
public function setTelephone( $t )
{
$this->telephone = (string) $t;
}
 
// Adresse
public function getAdresse()
{
return $this->adresse;
}
public function setAdresse( $a )
{
$this->adresse = $a;
}
 
// Code Postal
public function getCodePostal()
{
return $this->code_postal;
}
public function setCodePostal( $cp )
{
$this->code_postal = $cp;
}
 
// Ville
public function getVille()
{
return $this->ville;
}
public function setVille( $v )
{
$this->ville = $v;
}
 
// Quota Heures Supp
public function getQuotaHeuresSupp()
{
return $this->quota_heures_supp;
}
public function setQuotaHeuresSupp( $qhs )
{
$this->quota_heures_supp = $qhs;
}
 
// Conges Payes
public function getCongesPayes()
{
return $this->conges_payes;
}
public function setCongesPayes( $cp )
{
$this->conges_payes = $cp;
}
 
// Temps De Travail Jour
public function getTempsDeTravailJour()
{
return $this->temps_de_travail_jour;
}
public function setTempsDeTravailJour( $tdt )
{
$this->temps_de_travail_jour = $tdt;
}
 
// Temps De Travail Mois
public function getTempsDeTravailMois()
{
return $this->temps_de_travail_mois;
}
public function setTempsDeTravailMois( $tdt )
{
$this->temps_de_travail_mois = $tdt;
}
 
// Tdt Lundi
public function getTdtLundi()
{
return $this->tdt_lundi;
}
public function setTdtLundi( $tdt )
{
$this->tdt_lundi = $tdt;
}
 
// Tdt Mardi
public function getTdtMardi()
{
return $this->tdt_mardi;
}
public function setTdtMardi( $tdt )
{
$this->tdt_mardi = $tdt;
}
 
// Tdt Mercredi
public function getTdtMercredi()
{
return $this->tdt_mercredi;
}
public function setTdtMercredi( $tdt )
{
$this->tdt_mercredi = $tdt;
}
 
// Tdt Jeudi
public function getTdtJeudi()
{
return $this->tdt_jeudi;
}
public function setTdtJeudi( $tdt )
{
$this->tdt_jeudi = $tdt;
}
 
// Tdt Vendredi
public function getTdtVendredi()
{
return $this->tdt_vendredi;
}
public function setTdtVendredi( $tdt )
{
$this->tdt_vendredi = $tdt;
}
 
// Tdt Samedi
public function getTdtSamedi()
{
return $this->tdt_samedi;
}
public function setTdtSamedi( $tdt )
{
$this->tdt_samedi = $tdt;
}
 
// Tdt Dimanche
public function getTdtDimanche()
{
return $this->tdt_dimanche;
}
public function setTdtDimanche( $tdt )
{
$this->tdt_dimanche = $tdt;
}
 
// Tdt Par Numéro du jour
public function getTdtParNumJour($num)
{
$tdt = 0;
if ($num == 1) {
$tdt = $this->getTdtLundi();
} else if ($num == 2) {
$tdt = $this->getTdtMardi();
} else if ($num == 3) {
$tdt = $this->getTdtMercredi();
} else if ($num == 4) {
$tdt = $this->getTdtJeudi();
} else if ($num == 5) {
$tdt = $this->getTdtVendredi();
} else if ($num == 6) {
$tdt = $this->getTdtSamedi();
} else if ($num == 7) {
$tdt = $this->getTdtDimanche();
}
 
return $tdt;
}
 
// Mark Admin
public function getMarkAdmin()
{
return $this->mark_admin;
}
public function setMarkAdmin( $ma )
{
$this->mark_admin = $ma;
}
 
// Mark Recapitulatif
public function getMarkRecapitulatif()
{
return $this->mark_recapitulatif;
}
public function setMarkRecapitulatif( $mr )
{
$this->mark_recapitulatif = $mr;
}
 
// Notes
public function getNotes()
{
return $this->notes;
}
public function setNotes( $n )
{
$this->notes = $n;
}
 
/*** Méthodes : */
 
/**
* Consulter la table gestion_utilisateur.
* @return mixed un tableau d'objets Utilisateur s'il y en a plusieurs, l'objet Utilisateur s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
switch ($cmd) {
case Utilisateur::GU_TOUS:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'ORDER BY gu_nom, gu_prenom ASC';
break;
case Utilisateur::GU_ID:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_id_utilisateur = #0 ';
break;
case Utilisateur::GU_ID_MAX:
$requete = 'SELECT MAX(gu_id_utilisateur) AS gu_id_utilisateur '.
'FROM gestion_utilisateur ';
break;
case Utilisateur::GU_CE_STATUT:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_ce_statut = "#0" ';
break;
case Utilisateur::GU_MAIL:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_email = "#0" ';
break;
case Utilisateur::GU_TOUS_AFFICHABLE:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_mark_recapitulatif = 0 '.
'ORDER BY gu_nom, gu_prenom ASC';
break;
case Utilisateur::GU_ADMIN:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_mark_admin = 1 ';
break;
 
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
 
public function supprimer()
{
$requete = 'DELETE FROM gestion_utilisateur '.
'WHERE gu_id_utilisateur = '.$this->getIdUtilisateur();
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
 
if ($GLOBALS['db']->affectedRows() == 1) {
return true;
} elseif ($GLOBALS['db']->affectedRows() == 0) {
return false;
}
}
 
/**augmenter le nombre d'heure sup
*un acces est fait a la bse de donnees pour enregistrer les changements en temps reel
*/
public function augmenterQuotaHeuresSup($nb)
{
$this->quota_heures_supp = $this->quota_heures_supp + abs($nb);
}
 
/**diminuer le nb d'heures sup*/
public function diminuerQuotaHeuresSup($nb)
{
$this->quota_heures_supp = $this->quota_heures_supp - abs($nb);
/*un quota heure supp negatif implique qu'il y a des heures a rattraper*/
}
 
/**augmenter le nombre de jours de conges */
public function augmenterCongesPayes($nb)
{
$this->conges_payes = $this->conges_payes + abs($nb);
}
 
/**diminuer le nombre de jour de conges */
public function diminuerCongesPayes($nb)
{
$this->conges_payes = $this->conges_payes - abs($nb);
}
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>