Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 47 → Rev 48

/trunk/classes/GestionnaireErreur.class.php
1,5 → 1,5
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.0.4 |
// +------------------------------------------------------------------------------------------------------+
25,8 → 25,8
/**
* Classe de gestion des erreurs.
*
*
*
*
*@package eFlore
*@subpackage Debogage
//Auteur original :
50,133 → 50,202
 
/**
* Classe GestionnaireErreur
*
*
* Gérer les erreurs PHP et SQL.
*/
class GestionnaireErreur
{
class GestionnaireErreur {
/*** Attributes: ***/
 
/**
* Contient la liste des erreurs.
* @access private
*/
* Contient la liste des erreurs.
* @access private
*/
private $erreurs;
 
/**
* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur,
* c'est à dire le contenu des variables.
* @access private
*/
* Permet de savoir si on veut faire apparaître ou pas le contexte de l'erreur,
* c'est à dire le contenu des variables.
* @access private
*/
private $contexte;
 
/**
* Contient le niveau d'erreur courrant. Celui que l'on donne à la fonction
* error_reporting().
* @access private
*/
* Permet de savoir si on veut faire apparaître ou pas les erreurs Pear.
* @access private
*/
private $pear;
 
/**
* Chaine de caractères permettant d'identifier les erreurs de la bibliothèque Pear.
* @access private
*/
private $pear_chaine;
 
/**
* Contient le niveau d'erreur courrant. Celui que l'on donne à la fonction
* error_reporting().
* @access private
*/
private $niveau_erreur_courrant;
 
/*** Constructeur: ***/
 
/**
* Construit le gestionnaire d'erreur.
*
* @return void
* @access public
*/
public function __construct( $contexte = FALSE ) {
* Construit le gestionnaire d'erreur.
*
* @return void
* @access public
*/
public function __construct($bool_contexte = false, $int_niveau = 2048, $bool_pear = false, $str_pear = '')
{
$this->erreurs = array();
$this->setContexte($contexte);
$this->setContexte($bool_contexte);
$this->setNiveauErreurCourrant($int_niveau);
$this->setPear($bool_pear);
$this->setPearChaine($str_pear);
set_error_handler(array($this, 'gererErreur'));
} // end of member function __construct
 
 
/*** Destructeur: ***/
public function __destruct()
{
echo $this->retournerErreur();
}
 
/*** Accesseurs: ***/
 
/**
* Récupère le tableau des erreurs.
*
* @return array
* @access public
*/
public function getErreur( ) {
* Récupère le tableau des erreurs.
*
* @return array
* @access public
*/
public function getErreur()
{
return $this->erreurs;
}
 
/**
* Ajoute une erreur à la liste.
*
* @param array une_erreur
* @return void
* @access public
*/
public function setErreur( $une_erreur ) {
* Ajoute une erreur à la liste.
*
* @param array une_erreur
* @return void
* @access public
*/
public function setErreur($une_erreur)
{
$tab_erreurs =& $this->getErreur();
array_push($tab_erreurs, $une_erreur);
}
 
/**
* Récupère la valeur du contexte.
*
* @return boolean
* @access public
*/
public function getContexte( ) {
* Récupère la valeur du contexte.
*
* @return boolean
* @access public
*/
public function getContexte()
{
return $this->contexte;
}
 
/**
* Définit si oui ou non le contexte sera affiché.
*
* @param boolean un_contexte
* @return void
* @access public
*/
public function setContexte( $un_contexte ) {
* Définit si oui ou non le contexte sera affiché.
*
* @param boolean un_contexte
* @return void
* @access public
*/
public function setContexte( $un_contexte )
{
$this->contexte = $un_contexte;
}
 
/**
* Récupère le niveau d'erreur courrant.
*
* @return int le niveau d'erreur courrant.
* @access public
*/
public function getNiveauErreurCourrant( ) {
* Récupère la valeur de l'attribut Pear.
*
* @return boolean true pour afficher les erreurs Pear sinon false.
* @access public
*/
public function getPear()
{
return $this->pear;
}
 
/**
* Définit si oui ou non les erreurs Pear seront affichées.
*
* @param boolean true pour afficher les erreurs Pear sinon false.
* @return void
* @access public
*/
public function setPear( $p )
{
$this->pear = $p;
}
 
/**
* Récupère la valeur de l'attribut pear_chaine.
*
* @return string la chaine de caractère identifiant les erreurs Pear.
* @access public
*/
public function getPearChaine()
{
return $this->pear_chaine;
}
 
/**
* Définit la chaine de caractère identifiant les erreurs Pear.
*
* @param string la chaine de caractère identifiant les erreurs Pear.
* @return void
* @access public
*/
public function setPearChaine( $pc )
{
$this->pear_chaine = $pc;
}
 
 
/**
* Récupère le niveau d'erreur courrant.
*
* @return int le niveau d'erreur courrant.
* @access public
*/
public function getNiveauErreurCourrant()
{
return (int)$this->niveau_erreur_courrant;
}
 
/**
* Définit le niveau d'erreur courrant.
*
* @param int un niveau d'erreur.
* @return void
* @access public
*/
public function setNiveauErreurCourrant( $niveau ) {
* Définit le niveau d'erreur courrant.
*
* @param int un niveau d'erreur.
* @return void
* @access public
*/
public function setNiveauErreurCourrant($niveau)
{
$this->niveau_erreur_courrant = $niveau;
}
 
/*** Méthodes : ***/
 
/**
*
* @param int niveau
* @param string message
* @param string fichier
* @param int ligne
* @param boolean contexte
* @return void
* @access public
*/
public function gererErreur( $niveau, $message, $fichier, $ligne, $contexte ) {
*
* @param int niveau
* @param string message
* @param string fichier
* @param int ligne
* @param boolean contexte
* @return void
* @access public
*/
public function gererErreur( $niveau, $message, $fichier, $ligne, $contexte )
{
$aso_erreur = array();
// Nous vérifions si nous affichons ou pas l'erreur en fonction du niveau demandé
if ( $niveau <= $this->getNiveauErreurCourrant() ) {
189,7 → 258,7
}
$this->setErreur($aso_erreur);
}
 
// Si nous avons à faire à une erreur et non à un warning ou une notice, nous arrêtons l'exécution du script
if ($niveau == E_USER_ERROR) {
echo $this->retournerErreur();
203,42 → 272,53
* @return string
* @access public
*/
public function retournerErreur() {
public function retournerErreur()
{
$retour = '';
$erreur_pear_nbre = 0;
foreach($this->getErreur() as $aso_erreur) {
if ('<!-- BEGIN sql -->' == substr($aso_erreur['message'], 0, 18)) {
$retour .= $aso_erreur['message'];
continue;
}
$retour .= '<p class="erreur">'."\n";
$retour .= '<strong>ERREUR</strong><br />'."\n";
$retour .= '<strong>Niveau : </strong>'.$aso_erreur['niveau'].'<br />'."\n";
$retour .= '<strong>Message : </strong>'.$aso_erreur['message'].'<br />'."\n";
$retour .= '<strong>Fichier : </strong>'.$aso_erreur['fichier'].'<br />'."\n";
$retour .= '<strong>Ligne : </strong>'.$aso_erreur['ligne'].'<br />'."\n";
if ($this->getContexte()) {
$retour .= '<pre>'."\n";
$retour .= '<stong>Contexte : </stong>'."\n".print_r($aso_erreur['contexte'], true)."\n";
$retour .= '</pre>'."\n";
}
$retour .= '</p>'."\n";
// Nous testons les erreurs PEAR pour ne pas en tenir compte
if (!$this->getPear() && stristr($aso_erreur['fichier'], $this->getPearChaine())) {
$erreur_pear_nbre++;
} else {
$retour .= '<p class="attention">'."\n";
$retour .= '<strong>ERREUR</strong><br />'."\n";
$retour .= '<strong>Niveau : </strong>'.$aso_erreur['niveau'].'<br />'."\n";
$retour .= '<strong>Message : </strong>'.$aso_erreur['message'].'<br />'."\n";
$retour .= '<strong>Fichier : </strong>'.$aso_erreur['fichier'].'<br />'."\n";
$retour .= '<strong>Ligne : </strong>'.$aso_erreur['ligne'].'<br />'."\n";
if ($this->getContexte()) {
$retour .= '<pre>'."\n";
$retour .= '<stong>Contexte : </stong>'."\n".print_r($aso_erreur['contexte'], true)."\n";
$retour .= '</pre>'."\n";
}
$retour .= '</p>'."\n";
}
}
if ($erreur_pear_nbre != 0) {
$retour .= '<p class="attention"><strong>Nombre d\'erreurs PEAR : </strong>'.$erreur_pear_nbre.'</p>'."\n";
}
return $retour;
} // end of member function retournerErreur
 
/**
* Retourne l'erreur SQL formatée.
*
* @param string fichier
* @param int ligne
* @param string message
* @param string requete
* @param string autres
* @return string
* @static
* @access public
*/
public static function retournerErreurSql( $fichier, $methode, $message, $requete = NULL, $autres = NULL ) {
* Retourne l'erreur SQL formatée.
*
* @param string fichier
* @param int ligne
* @param string message
* @param string requete
* @param string autres
* @return string
* @static
* @access public
*/
public static function retournerErreurSql( $fichier, $methode, $message, $requete = NULL, $autres = NULL )
{
$retour = '<!-- BEGIN sql -->';
$retour .= '<div id="zone_erreur">'."\n";
$retour .= '<h1 > ERREUR SQL </h1><br />'."\n";
245,18 → 325,18
$retour .= '<dl>'."\n";
$retour .= '<dt> Fichier : </dt> ';
$retour .= '<dd> '.$fichier.'</dd>'."\n";
 
$retour .= '<dt> Méthode : </dt> ';
$retour .= '<dd> '.$methode.'</dd>'."\n";
 
$retour .= '<dt> Message erreur : </dt> ';
$retour .= '<dd> '.$message.'</dd>'."\n";
 
if (!is_null($requete)) {
$retour .= '<dt> Requete : </dt> ';
$retour .= '<dd> '.$requete.' </dd>'."\n";
}
 
if (!is_null($autres)) {
$retour .= '<dt> Autres infos : </dt> ';
$retour .= '<dd> '.$autres.' </dd>'."\n";
264,21 → 344,21
$retour .= '</dl>'."\n";
$retour .= '</div>'."\n";
$retour .= '<!-- END sql -->'."\n";
 
return $retour;
} // end of member function retournerErreurSql
 
/**
* Retourne l'erreur SQL formatée selon le format demandé.
*
* @param string fichier
* @param int ligne
* @param string message
* @param string format : txt.
* @return string
* @static
* @access public
*/
* Retourne l'erreur SQL formatée selon le format demandé.
*
* @param string fichier
* @param int ligne
* @param string message
* @param string format : txt.
* @return string
* @static
* @access public
*/
public static function formaterMessageErreur( $message, $fichier = null, $ligne = null, $format = 'txt' )
{
$retour = '';
294,37 → 374,12
}
return $retour;
}
} // end of GestionnaireErreur
}
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: GestionnaireErreur.class.php,v $
* Revision 1.1 2005/11/15 17:33:49 jp_milcent
* Ajout de classe Système pour le débogage.
* Ces classes sont à améliorer!
* $Log$
*
* Revision 1.3 2005/10/10 07:28:07 jp_milcent
* Utilisation du webservice Yahoo-Image.
*
* Revision 1.2 2005/10/04 16:34:03 jp_milcent
* Début gestion de la chorologie.
* Ajout de la bibliothèque de cartographie (à améliorer!).
*
* Revision 1.1 2005/08/04 15:51:45 jp_milcent
* Implémentation de la gestion via DAO.
* Fin page d'accueil.
* Fin formulaire recherche taxonomique.
*
* Revision 1.3 2005/08/02 16:19:33 jp_milcent
* Amélioration des requetes de recherche de noms.
*
* Revision 1.2 2005/08/01 16:18:39 jp_milcent
* Début gestion résultat de la recherche par nom.
*
* Revision 1.1 2005/07/28 15:37:56 jp_milcent
* Début gestion des squelettes et de l'API eFlore.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>
/trunk/classes/metiers/Absence.class.php
47,6 → 47,7
class Absence extends aGttSql {
/*** Constantes : */
const GA_ID = 'ABSENCE_ID';
const GA_ID_ABSENCE_MOTIF = 'ABSENCE_ID_ABSENCE_MOTIF';
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';
125,6 → 126,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case Absence::GA_ID:
$requete = 'SELECT * '.
131,6 → 135,11
'FROM gestion_absence '.
'WHERE ga_id_utilisateur = '.$parametres[0].' AND ga_id_absence_motif = '.$parametres[1].' AND ga_id_date_absence = '.$parametres[2].' ';
break;
case Absence::GA_ID_ABSENCE_MOTIF:
$requete = 'SELECT * '.
'FROM gestion_absence '.
'WHERE ga_id_absence_motif = '.$parametres[0].' ';
break;
case Absence::GA_ID_UTILISATEUR_DATE_DEB_FIN:
$requete = 'SELECT * '.
'FROM gestion_absence '.
/trunk/classes/metiers/Projet.class.php
49,8 → 49,9
const GP_TOUS = 'PROJET_TOUS';
const GP_ID = 'PROJET_ID';
const GP_ID_MAX = 'PROJET_ID_MAX';
const GP_ID_LIST = 'PROJET_ID_LIST';
const GP_ID_LIST = 'PROJET_ID_LIST';
const GP_CE_CATEGORIE = 'PROJET_CE_CATEGORIE';
 
/*** Attributs : */
private $id_projet;
private $ce_categorie;
59,7 → 60,7
private $date_debut;
private $duree_prevue;
private $avancement;
 
/*** Aggregations : */
 
/*** Constructeur : */
74,13 → 75,13
'gp_date_debut' => 'date_debut',
'gp_duree_prevue' => 'duree_prevue',
'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()
91,7 → 92,7
{
$this->id_projet = $ip;
}
 
// Ce Categorie
public function getCeCategorie()
{
101,7 → 102,7
{
$this->ce_categorie = $cc;
}
 
// Nom Projet
public function getNomProjet()
{
111,7 → 112,7
{
$this->nom_projet = $np;
}
 
// Description
public function getDescription()
{
121,7 → 122,7
{
$this->description = $d;
}
 
// Date Debut
public function getDateDebut()
{
131,7 → 132,7
{
$this->date_debut = $dd;
}
 
// Duree Prevue
public function getDureePrevue()
{
141,7 → 142,7
{
$this->duree_prevue = $dp;
}
 
// Avancement
public function getAvancement()
{
151,7 → 152,7
{
$this->avancement = $a;
}
 
/*** Méthodes : */
 
/**
181,6 → 182,11
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_id_projet IN ('.$parametres[0].') ';
break;
case Projet::GP_CE_CATEGORIE:
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_ce_categorie = '.$parametres[0].' ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
193,8 → 199,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
203,7 → 209,7
return false;
}
}
 
/** Afficher l'objet Projet */
function afficherProjet()
{
/trunk/classes/metiers/ProjetCategorie.class.php
46,13 → 46,15
*/
class ProjetCategorie extends aGttSql {
/*** Constantes : */
const GPC_TOUS = 'PROJETCATEGORIE_TOUS';
const GPC_ID = 'PROJETCATEGORIE_ID';
const GPC_ID_MAX = 'PROJETCATEGORIE_ID_MAX';
const GPC_ID_MAX = 'PROJETCATEGORIE_ID_MAX';
const GPC_LIBELLE = 'PROJETCATEGORIE_LIBELLE';
 
/*** Attributs : */
private $id_categorie;
private $libelle;
 
/*** Aggregations : */
 
/*** Constructeur : */
62,13 → 64,13
$this->dao_correspondance = array(
'gpc_id_categorie' => 'id_categorie',
'gpc_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 Categorie
public function getIdCategorie()
79,7 → 81,7
{
$this->id_categorie = $ic;
}
 
// Libelle
public function getLibelle()
{
89,7 → 91,7
{
$this->libelle = $l;
}
 
/*** Méthodes : */
 
/**
102,6 → 104,10
$parametres[0] = $parametres;
}
switch ($cmd) {
case ProjetCategorie::GPC_TOUS:
$requete = 'SELECT * '.
'FROM gestion_projet_categorie ';
break;
case ProjetCategorie::GPC_ID:
$requete = 'SELECT * '.
'FROM gestion_projet_categorie '.
108,8 → 114,13
'WHERE gpc_id_categorie = '.$parametres[0].' ';
break;
case ProjetCategorie::GPC_ID_MAX:
$requete = 'SELECT MAX(gpc_id_categorie) '.
$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 = "'.$parametres[0].'" ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
116,7 → 127,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
123,8 → 134,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
133,7 → 144,7
return false;
}
}
 
/** Afficher l'objet ProjetCategorie */
function afficherProjetCategorie()
{
/trunk/classes/metiers/TravailProjet.class.php
125,6 → 125,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case TravailProjet::GTP_ID:
$requete = 'SELECT * '.
/trunk/classes/metiers/TravailTache.class.php
50,13 → 50,13
const GTT_ID_MAX_UTILISATEUR = 'TRAVAILTACHE_ID_MAX_UTILISATEUR';
const GTT_ID_MAX_TACHE = 'TRAVAILTACHE_ID_MAX_TACHE';
const GTT_ID_MAX_DATE_TRAVAIL = 'TRAVAILTACHE_ID_MAX_DATE_TRAVAIL';
 
/*** Attributs : */
private $id_utilisateur;
private $id_tache;
private $id_date_travail;
private $duree;
 
/*** Aggregations : */
 
/*** Constructeur : */
68,13 → 68,13
'gtt_id_tache' => 'id_tache',
'gtt_id_date_travail' => 'id_date_travail',
'gtt_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()
85,7 → 85,7
{
$this->id_utilisateur = $iu;
}
 
// Id Tache
public function getIdTache()
{
95,7 → 95,7
{
$this->id_tache = $it;
}
 
// Id Date Travail
public function getIdDateTravail()
{
105,7 → 105,7
{
$this->id_date_travail = $idt;
}
 
// Duree
public function getDuree()
{
115,7 → 115,7
{
$this->duree = $d;
}
 
/*** Méthodes : */
 
/**
124,6 → 124,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case TravailTache::GTT_ID:
$requete = 'SELECT * '.
147,7 → 150,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
154,8 → 157,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
164,7 → 167,7
return false;
}
}
 
/** Afficher l'objet TravailTache */
function afficherTravailTache()
{
/trunk/classes/metiers/ProjetTache.class.php
48,7 → 48,7
/*** Constantes : */
const GPT_ID = 'PROJETTACHE_ID';
const GPT_ID_MAX = 'PROJETTACHE_ID_MAX';
 
/*** Attributs : */
private $id_tache;
private $ce_tache_precedente;
58,7 → 58,7
private $date_debut;
private $duree_prevue;
private $avancement;
 
/*** Aggregations : */
 
/*** Constructeur : */
74,13 → 74,13
'gpt_date_debut' => 'date_debut',
'gpt_duree_prevue' => 'duree_prevue',
'gpt_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 Tache
public function getIdTache()
91,7 → 91,7
{
$this->id_tache = $it;
}
 
// Ce Tache Precedente
public function getCeTachePrecedente()
{
101,7 → 101,7
{
$this->ce_tache_precedente = $ctp;
}
 
// Ce Projet
public function getCeProjet()
{
111,7 → 111,7
{
$this->ce_projet = $cp;
}
 
// Libelle
public function getLibelle()
{
121,7 → 121,7
{
$this->libelle = $l;
}
 
// Description
public function getDescription()
{
131,7 → 131,7
{
$this->description = $d;
}
 
// Date Debut
public function getDateDebut()
{
141,7 → 141,7
{
$this->date_debut = $dd;
}
 
// Duree Prevue
public function getDureePrevue()
{
151,7 → 151,7
{
$this->duree_prevue = $dp;
}
 
// Avancement
public function getAvancement()
{
161,7 → 161,7
{
$this->avancement = $a;
}
 
/*** Méthodes : */
 
/**
170,6 → 170,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case ProjetTache::GPT_ID:
$requete = 'SELECT * '.
185,7 → 188,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
192,8 → 195,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
202,7 → 205,7
return false;
}
}
 
/** Afficher l'objet ProjetTache */
function afficherProjetTache()
{
/trunk/classes/metiers/NoteFraisLigne.class.php
48,7 → 48,7
/*** Constantes : */
const GNFL_ID = 'NOTEFRAISLIGNE_ID';
const GNFL_ID_MAX = 'NOTEFRAISLIGNE_ID_MAX';
 
/*** Attributs : */
private $id_note_frais_ligne;
private $ce_note_frais;
56,7 → 56,7
private $montant_ht;
private $taux_tva;
private $montant_ttc;
 
/*** Aggregations : */
 
/*** Constructeur : */
70,13 → 70,13
'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()
87,7 → 87,7
{
$this->id_note_frais_ligne = $infl;
}
 
// Ce Note Frais
public function getCeNoteFrais()
{
97,7 → 97,7
{
$this->ce_note_frais = $cnf;
}
 
// Date
public function getDate()
{
107,7 → 107,7
{
$this->date = $d;
}
 
// Montant Ht
public function getMontantHt()
{
117,7 → 117,7
{
$this->montant_ht = $mh;
}
 
// Taux Tva
public function getTauxTva()
{
127,7 → 127,7
{
$this->taux_tva = $tt;
}
 
// Montant Ttc
public function getMontantTtc()
{
137,7 → 137,7
{
$this->montant_ttc = $mt;
}
 
/*** Méthodes : */
 
/**
146,6 → 146,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case NoteFraisLigne::GNFL_ID:
$requete = 'SELECT * '.
161,7 → 164,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
168,8 → 171,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
178,7 → 181,7
return false;
}
}
 
/** Afficher l'objet NoteFraisLigne */
function afficherNoteFraisLigne()
{
/trunk/classes/metiers/NoteFrais.class.php
48,12 → 48,12
/*** 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 : */
64,13 → 64,13
'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()
81,7 → 81,7
{
$this->id_note_frais = $inf;
}
 
// Ce Utilisateur
public function getCeUtilisateur()
{
91,7 → 91,7
{
$this->ce_utilisateur = $cu;
}
 
// Libelle
public function getLibelle()
{
101,7 → 101,7
{
$this->libelle = $l;
}
 
/*** Méthodes : */
 
/**
110,6 → 110,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case NoteFrais::GNF_ID:
$requete = 'SELECT * '.
125,7 → 128,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
132,8 → 135,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
142,7 → 145,7
return false;
}
}
 
/** Afficher l'objet NoteFrais */
function afficherNoteFrais()
{
/trunk/classes/metiers/Utilisateur.class.php
46,13 → 46,15
*/
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';
 
/*** Attributs : */
private $id_utilisateur;
private $ce_statut;
private $ce_statut = 0;
private $nom;
private $prenom;
private $password;
61,11 → 63,11
private $adresse;
private $code_postal;
private $ville;
private $quota_heures_supp;
private $conges_payes;
private $temps_de_travail;
private $mark_admin;
private $mark_recapitulatif;
private $quota_heures_supp = 0;
private $conges_payes = 0;
private $temps_de_travail = 7;
private $mark_admin = 0;
private $mark_recapitulatif = 1;
private $notes;
 
/*** Aggregations : */
267,7 → 269,15
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case Utilisateur::GU_TOUS:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'ORDER BY gu_prenom, gu_nom ASC';
break;
case Utilisateur::GU_ID:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
274,9 → 284,14
'WHERE gu_id_utilisateur = '.$parametres[0].' ';
break;
case Utilisateur::GU_ID_MAX:
$requete = 'SELECT MAX(gu_id_utilisateur) '.
$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 = "'.$parametres[0].'" ';
break;
case Utilisateur::GU_MAIL:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
291,7 → 306,7
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
 
/trunk/classes/metiers/FraisKm.class.php
48,7 → 48,7
/*** Constantes : */
const GFK_ID = 'FRAISKM_ID';
const GFK_ID_MAX = 'FRAISKM_ID_MAX';
 
/*** Attributs : */
private $id_frais_km;
private $gfkt_id_frais_km_taux;
58,7 → 58,7
private $objet;
private $trajet;
private $montant_total;
 
/*** Aggregations : */
 
/*** Constructeur : */
74,13 → 74,13
'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()
91,7 → 91,7
{
$this->id_frais_km = $ifk;
}
 
// Gfkt Id Frais Km Taux
public function getGfktIdFraisKmTaux()
{
101,7 → 101,7
{
$this->gfkt_id_frais_km_taux = $gifkt;
}
 
// Ce Utilisateur
public function getCeUtilisateur()
{
111,7 → 111,7
{
$this->ce_utilisateur = $cu;
}
 
// Date
public function getDate()
{
121,7 → 121,7
{
$this->date = $d;
}
 
// Nbre Km
public function getNbreKm()
{
131,7 → 131,7
{
$this->nbre_km = $nk;
}
 
// Objet
public function getObjet()
{
141,7 → 141,7
{
$this->objet = $o;
}
 
// Trajet
public function getTrajet()
{
151,7 → 151,7
{
$this->trajet = $t;
}
 
// Montant Total
public function getMontantTotal()
{
161,7 → 161,7
{
$this->montant_total = $mt;
}
 
/*** Méthodes : */
 
/**
170,6 → 170,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case FraisKm::GFK_ID:
$requete = 'SELECT * '.
185,7 → 188,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
192,8 → 195,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
202,7 → 205,7
return false;
}
}
 
/** Afficher l'objet FraisKm */
function afficherFraisKm()
{
/trunk/classes/metiers/FraisKmTaux.class.php
48,11 → 48,11
/*** Constantes : */
const GFKT_ID = 'FRAISKMTAUX_ID';
const GFKT_ID_MAX = 'FRAISKMTAUX_ID_MAX';
 
/*** Attributs : */
private $id_frais_km_taux;
private $taux;
 
/*** Aggregations : */
 
/*** Constructeur : */
62,13 → 62,13
$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()
79,7 → 79,7
{
$this->id_frais_km_taux = $ifkt;
}
 
// Taux
public function getTaux()
{
89,7 → 89,7
{
$this->taux = $t;
}
 
/*** Méthodes : */
 
/**
98,6 → 98,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case FraisKmTaux::GFKT_ID:
$requete = 'SELECT * '.
113,7 → 116,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
120,8 → 123,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
130,7 → 133,7
return false;
}
}
 
/** Afficher l'objet FraisKmTaux */
function afficherFraisKmTaux()
{
/trunk/classes/metiers/AbsenceMotif.class.php
49,6 → 49,7
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;
99,6 → 100,9
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case AbsenceMotif::GAM_TOUS:
$requete = 'SELECT * '.
110,8 → 114,13
'WHERE gam_id_absence_motif = '.$parametres[0].' ';
break;
case AbsenceMotif::GAM_ID_MAX:
$requete = 'SELECT MAX(gam_id_absence_motif) '.
$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 = "'.$parametres[0].'" ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
/trunk/classes/metiers/UtilisateurStatut.class.php
46,13 → 46,15
*/
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;
 
/*** Aggregations : */
 
/*** Constructeur : */
62,13 → 64,13
$this->dao_correspondance = array(
'gus_id_utilisateur_statut' => 'id_utilisateur_statut',
'gus_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 Utilisateur Statut
public function getIdUtilisateurStatut()
79,7 → 81,7
{
$this->id_utilisateur_statut = $ius;
}
 
// Libelle
public function getLibelle()
{
89,7 → 91,7
{
$this->libelle = $l;
}
 
/*** Méthodes : */
 
/**
98,7 → 100,14
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
if (!is_array($parametres)) {
$parametres[0] = $parametres;
}
switch ($cmd) {
case UtilisateurStatut::GUS_TOUS:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_statut ';
break;
case UtilisateurStatut::GUS_ID:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_statut '.
105,8 → 114,13
'WHERE gus_id_utilisateur_statut = '.$parametres[0].' ';
break;
case UtilisateurStatut::GUS_ID_MAX:
$requete = 'SELECT MAX(gus_id_utilisateur_statut) '.
$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 = "'.$parametres[0].'" ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
113,7 → 127,7
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
 
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
120,8 → 134,8
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
$resultat_nbre = count($tab_resultat);
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
130,7 → 144,7
return false;
}
}
 
/** Afficher l'objet UtilisateurStatut */
function afficherUtilisateurStatut()
{
/trunk/classes/metiers/aGttSql.class.php
28,8 → 28,11
$this->dao_table_nom = $tn;
}
// Correspondance
function getCorrespondance()
function getCorrespondance($champ = null)
{
if (!is_null($champ)) {
return $this->dao_correspondance[$champ];
}
return $this->dao_correspondance;
}
function setCorrespondance($c)
49,7 → 52,7
if ($instancier) {
foreach ($this->getCorrespondance() as $champ => $attribut) {
if (isset($donnees[$champ]) && !is_null($donnees[$champ])) {
$methode = 'set'.str_replace(' ', '', ucwords(str_replace('_', ' ', $attribut)));
$methode = $this->donnerMethodeSetAvecAttribut($attribut);
$this->$methode($donnees[$champ]);
}
}
57,7 → 60,7
$Objet = new $classe;
foreach ($this->getCorrespondance() as $champ => $attribut) {
if (isset($donnees[$champ]) && !is_null($donnees[$champ])) {
$methode = 'set'.str_replace(' ', '', ucwords(str_replace('_', ' ', $attribut)));
$methode = $this->donnerMethodeSetAvecAttribut($attribut);
$Objet->$methode($donnees[$champ]);
}
}
66,7 → 69,7
} else if ($donnees instanceof $classe) {
$enregistrement = array();
foreach ($this->getCorrespondance() as $champ => $attribut) {
$methode = 'get'.str_replace(' ', '', ucwords(str_replace('_', ' ', $attribut)));
$methode = $this->donnerMethodeGetAvecAttribut($attribut);
if (method_exists($donnees, $methode)) {
if (!is_null($donnees->$methode())) {
$enregistrement[$champ] = $donnees->$methode();
76,6 → 79,22
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))));
}
 
/**
* Ajouter un enregistrement dans la base de données.
113,9 → 132,10
 
/**
* Modifier un enregistrement dans la base de données.
* @return true si ok, false si aucun enregistrement effectué
* @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()
public function modifier($Ancien = null)
{
$enregistrement = $this->basculerEnregistrementObjet($this);
$sql_where = '';
124,10 → 144,17
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 ';
} else {
$sql_set .= $champ.' = '.$val.', ';
}
}
$sql_set = trim($sql_set, ', ').' ';
/trunk/classes/Registre.class.php
88,7 → 88,12
}
public function ajouterDonnee($cle, $val)
{
$this->donnees[$cle] = $val;
if (is_array($val) && isset($this->donnees[$cle])) {
$this->donnees[$cle] = array_merge((array)$this->donnees[$cle], $val);
trigger_error('Fusion de données pour la clé : '. $cle, E_USER_NOTICE);
} else {
$this->donnees[$cle] = $val;
}
}
public function getDonnees($cle = null)
{