Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 47 → Rev 48

/trunk/actions/GttCtrlActionAdminUtilisateur.class.php
New file
0,0 → 1,235
<?php
class GttCtrlActionAdminUtilisateur extends aControlleurAction {
 
public function __construct(Registre $Registre)
{
$Registre->ajouterEspace('AdminUtilisateur', 'admin_utilisateur');
$Registre->ajouterSquelette('admin_utilisateur', 'admin_utilisateur.tpl.html');
$Registre->setTitre('Administrer les utilisateurs');
}
 
public function executer()
{
$aso_admin_utilisateur = array();
 
// Récupération des utilisateur
$Utilisateur = new Utilisateur();
 
// Vérification si l'utilisateur est admin
$aso_admin_utilisateur['bool_mark_admin'] = false;
if ($Utilisateur->getMarkAdmin() == 1) {
$aso_admin_utilisateur['bool_mark_admin'] = true;
}
// Vérification si l'utilisateur doit apparaître dans le récapitulatif
$aso_admin_utilisateur['bool_mark_recapitulatif'] = false;
if ($Utilisateur->getMarkRecapitulatif() == 1) {
$aso_admin_utilisateur['bool_mark_recapitulatif'] = true;
}
 
// Utilisateur vide par défaut
$aso_admin_utilisateur['Utilisateur'] = clone $Utilisateur;
 
// Recherche des utilisateurs existant
$tab_u = $Utilisateur->consulter(Utilisateur::GU_TOUS);
foreach ($tab_u as $u) {
// Nous récupérons tous les statuts sauf le null (=0)
if ($u->getIdUtilisateur() != 0) {
$aso_utilisateur['id'] = $u->getIdUtilisateur();
$aso_utilisateur['libelle'] = $u->getPrenom().' '.$u->getNom();
$aso_admin_utilisateur['utilisateurs'][] = $aso_utilisateur;
}
}
 
// Recherche des statuts des utilisateurs
$UtilisateurStatut = new UtilisateurStatut();
$tab_us = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_TOUS);
foreach ($tab_us as $us) {
// Nous récupérons tous les statuts sauf le null (=0)
if ($us->getIdUtilisateurStatut() != 0) {
$aso_us['id'] = $us->getIdUtilisateurStatut();
$aso_us['libelle'] = $us->getLibelle();
$aso_admin_utilisateur['utilisateur_statuts'][] = $aso_us;
}
}
 
// Modification des titres, légendes et bouton
$aso_admin_utilisateur['form_legend'] = 'Ajouter un utilisateur';
$aso_admin_utilisateur['form_bouton_value'] = 'Ajouter';
$aso_admin_utilisateur['form_bouton_id'] = 'btn_utilisateur_ajouter';
$aso_admin_utilisateur['form_url'] = 'index.php?action=admin-utilisateur_valider-ajouter';
 
//echo '<pre>'.print_r($aso_admin_utilisateur, true).'</pre>';
$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);
}
 
public function executerValiderAjouter()
{
if (isset($_POST['btn_utilisateur_annuler'])) {
// Action suivante
$this->setSuivant('__defaut__');
} else if (isset($_POST['btn_utilisateur_ajouter'])) {
// Vérification de l'utilisateur à ajouter
$bool_ajouter = true;
$Utilisateur = new Utilisateur();
$UtMail = $Utilisateur->consulter(Utilisateur::GU_MAIL, array($_POST['ut_email']));
if ((is_array($UtMail) && count($UtMail) > 1) || $UtMail instanceof Utilisateur) {
$aso_admin_utilisateur['messages'][] = 'Un utilisateur avec le même courriel existe déjà !';
$bool_ajouter = false;
}
$this->verifierChampsCommuns(&$aso_admin_utilisateur, &$bool_ajouter);
if ($bool_ajouter) {
// Action suivante
$this->setSuivant('ajouter');
} else {
// Action suivante
$this->setSuivant('__defaut__');
$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);
}
}
}
 
public function executerValiderModifier()
{
if (isset($_POST['btn_utilisateur_annuler'])) {
// Action suivante
$this->setSuivant('__defaut__');
} else if (isset($_POST['btn_utilisateur_modifier'])) {
// Vérification de l'utilisateur à modifier
$bool_modifier = true;
$Utilisateur = new Utilisateur();
$UtMail = $Utilisateur->consulter(Utilisateur::GU_MAIL, array($_POST['ut_email']));
if ((is_array($UtMail) && count($UtMail) > 1) || ($UtMail instanceof Utilisateur && $UtMail->getIdUtilisateur() != $_POST['ut_id_utilisateur'])) {
$aso_admin_utilisateur['messages'][] = 'Un utilisateur avec le même courriel existe déjà !';
$bool_modifier = false;
}
$this->verifierChampsCommuns(&$aso_admin_utilisateur, &$bool_modifier);
if ($bool_modifier) {
// Action suivante
$this->setSuivant('modifier');
} else {
// Action suivante
$_POST['btn_utilisateur_modifier'] = 'btn_utilisateur_modifier';
$_POST['utsu_id'] = $_POST['ut_id_utilisateur'];
$this->setSuivant('editer');
$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);
}
}
}
 
public function verifierChampsCommuns(&$aso_admin_utilisateur, &$bool)
{
if (!preg_match('/^\w{6,}$/', $_POST['ut_mot_de_passe'])) {
$aso_admin_utilisateur['messages'][] = 'Le mot de passe doit contenir au moins 6 caractères !';
$bool = false;
}
if ($_POST['ut_mot_de_passe'] != $_POST['ut_mot_de_passe_confirmation']) {
$aso_admin_utilisateur['messages'][] = 'Les mots de passe saisies ne sont pas identique !';
$bool = false;
}
if ($_POST['ut_temps_de_travail'] > 24) {
$aso_admin_utilisateur['messages'][] = 'Il est impossible que le temps de travail soit supérieur à 24h !';
$bool = false;
}
$aso_champs_obligatoires = array('ut_nom' => 'Nom', 'ut_prenom' => 'Prénom', 'ut_email' => 'Courriel', 'ut_mot_de_passe' => 'Mot de passe');
foreach ($aso_champs_obligatoires as $champ_id => $libelle) {
if (empty($_POST[$champ_id])) {
$aso_admin_utilisateur['messages'][] = "Le champ $libelle ne doit pas être vide !";
$bool = false;
}
}
}
 
public function executerEditer()
{
// Ajout du statut d'utilisateur
if (isset($_POST['btn_utilisateur_modifier'])) {
// Récupération des données de l'utilisateur à modifier
$Utilisateur = new Utilisateur();
$Utilisateur->consulter(Utilisateur::GU_ID, $_POST['utsu_id'], true);
$aso_admin_utilisateur['Utilisateur'] = $Utilisateur;
// Vérification si l'utilisateur est admin
$aso_admin_utilisateur['bool_mark_admin'] = false;
if ($Utilisateur->getMarkAdmin() == 1) {
$aso_admin_utilisateur['bool_mark_admin'] = true;
}
// Vérification si l'utilisateur doit apparaître dans le récapitulatif
$aso_admin_utilisateur['bool_mark_recapitulatif'] = false;
if ($Utilisateur->getMarkRecapitulatif() == 1) {
$aso_admin_utilisateur['bool_mark_recapitulatif'] = true;
}
// Modification des titres, légendes et bouton
$aso_admin_utilisateur['form_legend'] = 'Modifier un utilisateur';
$aso_admin_utilisateur['form_bouton_value'] = 'Modifier';
$aso_admin_utilisateur['form_bouton_id'] = 'btn_utilisateur_modifier';
$aso_admin_utilisateur['form_url'] = 'index.php?action=admin-utilisateur_valider-modifier';
 
$this->getRegistre()->ajouterDonnee('admin_utilisateur', $aso_admin_utilisateur);
} else if (isset($_POST['btn_utilisateur_supprimer'])) {
// Action suivante
$this->setSuivant('supprimer');
}
}
 
public function executerAjouter()
{
$Utilisateur = new Utilisateur();
$UtilisateurMax = $Utilisateur->consulter(Utilisateur::GU_ID_MAX);
$id_max = $UtilisateurMax->getIdUtilisateur();
$Utilisateur->setIdUtilisateur(++$id_max);
$Utilisateur->setNom($_POST['ut_nom']);
$Utilisateur->setPrenom($_POST['ut_prenom']);
$Utilisateur->setAdresse($_POST['ut_adresse']);
$Utilisateur->setVille($_POST['ut_ville']);
$Utilisateur->setCodePostal($_POST['ut_code_postal']);
$Utilisateur->setTelephone($_POST['ut_telephone']);
$Utilisateur->setEmail($_POST['ut_email']);
$Utilisateur->setPassword($_POST['ut_mot_de_passe']);
//$Utilisateur->setCeStatut($_POST['ut_statut']);
$Utilisateur->setCongesPayes($_POST['ut_conges_payes']);
$Utilisateur->setTempsDeTravail($_POST['ut_temps_de_travail']);
$Utilisateur->setQuotaHeuresSupp($_POST['ut_quota_heures_supp']);
$Utilisateur->setMarkAdmin($_POST['ut_mark_admin']);
$Utilisateur->setMarkRecapitulatif($_POST['ut_mark_recapitulatif']);
$Utilisateur->ajouter();
// Action suivante
$this->setSuivant('__defaut__');
}
 
 
public function executerModifier()
{
$Utilisateur = new Utilisateur();
$Utilisateur->setIdUtilisateur($_POST['ut_id_utilisateur']);
$Utilisateur->setNom($_POST['ut_nom']);
$Utilisateur->setPrenom($_POST['ut_prenom']);
$Utilisateur->setAdresse($_POST['ut_adresse']);
$Utilisateur->setVille($_POST['ut_ville']);
$Utilisateur->setCodePostal($_POST['ut_code_postal']);
$Utilisateur->setTelephone($_POST['ut_telephone']);
$Utilisateur->setEmail($_POST['ut_email']);
$Utilisateur->setPassword($_POST['ut_mot_de_passe']);
//$Utilisateur->setCeStatut($_POST['ut_statut']);
$Utilisateur->setCongesPayes($_POST['ut_conges_payes']);
$Utilisateur->setTempsDeTravail($_POST['ut_temps_de_travail']);
$Utilisateur->setQuotaHeuresSupp($_POST['ut_quota_heures_supp']);
$Utilisateur->setMarkAdmin($_POST['ut_mark_admin']);
$Utilisateur->setMarkRecapitulatif($_POST['ut_mark_recapitulatif']);
$Utilisateur->modifier();
// Action suivante
$this->setSuivant('__defaut__');
}
 
public function executerSupprimer()
{
// Suppression du statut d'utilisateur
$Utilisateur = new Utilisateur();
$Utilisateur->setIdUtilisateur($_POST['utsu_id']);
$Utilisateur->supprimer();
 
// TODO : Suppression des données de cet utilisateur
 
// Action suivante
$this->setSuivant('__defaut__');
}
}
?>
/trunk/actions/GttCtrlActionAdminAbsenceMotif.class.php
New file
0,0 → 1,74
<?php
class GttCtrlActionAdminAbsenceMotif extends aControlleurAction {
 
public function __construct(Registre $Registre)
{
$Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif');
$Registre->ajouterSquelette('admin_absence_motif', 'admin_absence_motif.tpl.html');
$Registre->setTitre('Administrer les motifs d\'absence');
}
 
public function executer()
{
$aso_admin_absence_motif = array();
 
// Récupération des catégories
$AbsenceMotif = new AbsenceMotif();
$tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS);
foreach ($tab_am as $am) {
if ($am->getIdAbsenceMotif() != 0) {
$aso_motif['id'] = $am->getIdAbsenceMotif();
$aso_motif['libelle'] = $am->getLibelle();
$aso_admin_absence_motif['motifs'][] = $aso_motif;
}
}
 
//echo '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>';
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
}
 
public function executerValiderAjouter()
{
// Ajout de la catégorie
$AbsenceMotif = new AbsenceMotif();
$bool_existe = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle']));
if ($bool_existe == false) {
$AbsenceMotifMax = $AbsenceMotif->consulter(AbsenceMotif::GAM_ID_MAX);
$id_max = $AbsenceMotifMax->getIdAbsenceMotif();
$AbsenceMotif->setIdAbsenceMotif(++$id_max);
$AbsenceMotif->setLibelle($_POST['amaj_libelle']);
$AbsenceMotif->ajouter();
} else {
$aso_admin_absence_motif['message'] = 'Ce motif d\'absence existe déjà !';
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif);
}
// Action suivante
$this->setSuivant('__defaut__');
}
 
public function executerValiderSupprimer()
{
// Suppression du motif d'absence
$AbsenceMotif = new AbsenceMotif();
$AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']);
$AbsenceMotif->supprimer();
 
// Mise à jour des absences possédant le motif supprimé
$Absence = new Absence();
$tab_a = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, $_POST['amsu_id']);
if ($tab_a != false) {
if ($tab_a && count($tab_a) == 1) {
$tab_a = array($tab_a);
}
foreach ($tab_a as $a) {
$Ancien = clone $a;
$a->setIdAbsenceMotif(0);
$a->modifier($Ancien);
}
}
 
// Action suivante
$this->setSuivant('__defaut__');
}
}
?>
/trunk/actions/GttCtrlActionAdminUtilisateurStatut.class.php
New file
0,0 → 1,76
<?php
class GttCtrlActionAdminUtilisateurStatut extends aControlleurAction {
 
public function __construct(Registre $Registre)
{
$Registre->ajouterEspace('AdminUtilisateurStatut', 'admin_utilisateur_statut');
$Registre->ajouterSquelette('admin_utilisateur_statut', 'admin_utilisateur_statut.tpl.html');
$Registre->setTitre('Administrer les statuts des utilisateurs');
}
 
public function executer()
{
$aso_admin_us = array();
 
// Récupération des statuts d'utilisateur
$UtilisateurStatut = new UtilisateurStatut();
$tab_us = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_TOUS);
foreach ($tab_us as $us) {
// Nous récupérons tous les statuts sauf le null (=0)
if ($us->getIdUtilisateurStatut() != 0) {
$aso_us['id'] = $us->getIdUtilisateurStatut();
$aso_us['libelle'] = $us->getLibelle();
$aso_admin_us['statuts'][] = $aso_us;
}
}
 
//echo '<pre>'.print_r($aso_admin_us, true).'</pre>';
$this->getRegistre()->ajouterDonnee('admin_utilisateur_statut', $aso_admin_us);
}
 
public function executerValiderAjouter()
{
// Ajout du statut d'utilisateur
$UtilisateurStatut = new UtilisateurStatut();
$bool_existe = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_LIBELLE, array($_POST['usaj_libelle']));
if ($bool_existe == false) {
$UtilisateurStatutMax = $UtilisateurStatut->consulter(UtilisateurStatut::GUS_ID_MAX);
$id_max = $UtilisateurStatutMax->getIdUtilisateurStatut();
$UtilisateurStatut->setIdUtilisateurStatut(++$id_max);
$UtilisateurStatut->setLibelle($_POST['usaj_libelle']);
$UtilisateurStatut->ajouter();
} else {
$aso_admin_us['message'] = 'Ce statut d\'utilisateur existe déjà !';
$this->getRegistre()->ajouterDonnee('admin_utilisateur_statut', $aso_admin_us);
}
 
// Action suivante
$this->setSuivant('__defaut__');
}
 
public function executerValiderSupprimer()
{
// Suppression du statut d'utilisateur
$UtilisateurStatut = new UtilisateurStatut();
$UtilisateurStatut->setIdUtilisateurStatut($_POST['ussu_id']);
$UtilisateurStatut->supprimer();
 
// Mise à jour des utilisateurs possédant ce statut
$Utilisateur = new Utilisateur();
$tab_u = $Utilisateur->consulter(Utilisateur::GU_CE_STATUT, $_POST['ussu_id']);
if ($tab_u != false) {
if ($tab_u && count($tab_u) == 1) {
$tab_u = array($tab_u);
}
foreach ($tab_u as $u) {
$Ancien = clone $u;
$u->setCeStatut(0);
$u->modifier($Ancien);
}
}
 
// Action suivante
$this->setSuivant('__defaut__');
}
}
?>
/trunk/actions/GttCtrlActionGestion.class.php
313,7 → 313,6
$bool_ajouter = false;
 
if ($A->getDuree() != $ab_duree) {
echo 'ici'.$ab_duree;
if (empty($ab_duree)) {
$A->supprimer();
} else {
/trunk/actions/GttCtrlActionIdentification.class.php
17,16 → 17,14
'cryptype' => 'md5',
'db_fields' => '*');
// Création de l'objet auth
$a = new Auth('DB', $params, null, false);
$a->setSessionname(GTT_AUTH_SESSION_NOM);
$a->setExpire(time()+(int)GTT_AUTH_SESSION_DUREE);
$a->start();
$GLOBALS['_GTT_']['auth'] = $a;
$GLOBALS['_GTT_']['identification'] = new Auth('DB', $params, null, false);
$GLOBALS['_GTT_']['identification']->setSessionname(GTT_AUTH_SESSION_NOM);
$GLOBALS['_GTT_']['identification']->setExpire(time()+(int)GTT_AUTH_SESSION_DUREE);
$GLOBALS['_GTT_']['identification']->start();
setcookie(session_name(),session_id(), time()+(int)GTT_AUTH_SESSION_DUREE, "/");
if ($GLOBALS['_GTT_']['auth']->getAuth()) {
require_once GTT_CHEMIN_METIER.'Utilisateur.class.php';
$GLOBALS['_GTT_']['Utilisateur'] = new Utilisateur(Utilisateur::GU_MAIL, array($a->getUserName()));
 
if ($GLOBALS['_GTT_']['identification']->getAuth()) {
require_once GTT_CHEMIN_METIER.'Utilisateur.class.php';
$GLOBALS['_GTT_']['Utilisateur'] = new Utilisateur(Utilisateur::GU_MAIL, array($GLOBALS['_GTT_']['identification']->getUserName()));
$aso_identification['nom'] = $GLOBALS['_GTT_']['Utilisateur']->getNom();
$aso_identification['prenom'] = $GLOBALS['_GTT_']['Utilisateur']->getPrenom();
$this->getRegistre()->ajouterSquelette('identification', 'identite.tpl.html');
44,7 → 42,7
$this->getRegistre()->ajouterSquelette('identification', 'connexion.tpl.html');
// Création de l'url de réponse du formulaire
$aso_connexion['url'] = 'index.php?action='.GTT_ACTION_CONNEXION;
$GLOBALS['_GTT_']['auth']->logout();
$GLOBALS['_GTT_']['identification']->logout();
 
//echo '<pre>'.print_r($aso_connexion, true).'</pre>';
$this->getRegistre()->ajouterDonnee('identification', $aso_connexion);
/trunk/actions/GttCtrlActionAdminCategorie.class.php
5,16 → 5,71
{
$Registre->ajouterEspace('AdminCategorie', 'admin_categorie');
$Registre->ajouterSquelette('admin_categorie', 'admin_categorie.tpl.html');
$Registre->setTitre('Administrer les catégories des projets');
}
 
public function executer()
{
$aso_admin_categ = array();
$this->getRegistre()->setTitre('Administrer les catégories des projets');
 
// Récupération des catégories
$ProjetCategorie = new ProjetCategorie();
$tab_pc = $ProjetCategorie->consulter(ProjetCategorie::GPC_TOUS);
foreach ($tab_pc as $pc) {
if ($pc->getIdCategorie() != 0) {
$aso_categ['id'] = $pc->getIdCategorie();
$aso_categ['libelle'] = $pc->getLibelle();
$aso_admin_categ['categories'][] = $aso_categ;
}
}
 
//echo '<pre>'.print_r($aso_admin_categ, true).'</pre>';
$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ);
}
 
public function executerValiderAjouter()
{
// Ajout de la catégorie
$ProjetCategorie = new ProjetCategorie();
$bool_existe = $ProjetCategorie->consulter(ProjetCategorie::GPC_LIBELLE, array($_POST['caaj_libelle']));
if ($bool_existe == false) {
$ProjetCategorieMax = $ProjetCategorie->consulter(ProjetCategorie::GPC_ID_MAX);
$id_max = $ProjetCategorieMax->getIdCategorie();
$ProjetCategorie->setIdCategorie(++$id_max);
$ProjetCategorie->setLibelle($_POST['caaj_libelle']);
$ProjetCategorie->ajouter();
} else {
$aso_admin_categ['message'] = 'Cette catégorie existe déjà !';
$this->getRegistre()->ajouterDonnee('admin_categorie', $aso_admin_categ);
}
 
// Action suivante
$this->setSuivant('__defaut__');
}
 
public function executerValiderSupprimer()
{
// Suppression de la catégorie
$ProjetCategorie = new ProjetCategorie();
$ProjetCategorie->setIdCategorie($_POST['casu_id']);
$ProjetCategorie->supprimer();
 
// Mise à jour des projets appartenant à la catégorie
$Projet = new Projet();
$tab_p = $Projet->consulter(Projet::GP_CE_CATEGORIE, $_POST['casu_id']);
if ($tab_p != false) {
if ($tab_p && count($tab_p) == 1) {
$tab_p = array($tab_p);
}
foreach ($tab_p as $p) {
$Ancien = clone $p;
$p->setCeCategorie(0);
$p->modifier($Ancien);
}
}
 
// Action suivante
$this->setSuivant('__defaut__');
}
}
?>
/trunk/gtt_config.inc.php
44,6 → 44,21
define('GTT_ABSCENCE_ID_MALADIE', 3);
define('GTT_ABSCENCE_ID_GREVE', 4);
 
// +------------------------------------------------------------------------------------------------------+
// Débogage
/** Constante stockant si oui ou non on veut afficher le débogage.*/
define('GTT_DEBOGAGE', false);
/** Constante stockant si oui ou non on veut afficher le débogage des fichiers PEAR.*/
define('GTT_DEBOGAGE_PEAR', false);
/** Constante stockant la chaine permettant de repérer en se basabt sur le chemin, les fichiers provenant de la bibliothèque PEAR.*/
define('GTT_DEBOGAGE_PEAR_CHAINE', '/lib/php/');
/** Constante stockant si oui ou non on veut afficher le contexte de débogage.*/
define('GTT_DEBOGAGE_CONTEXTE', false);
/** Constante stockant une valeur correspondant au niveau d'erreur à employer pour le code PHP.*/
define('GTT_DEBOGAGE_NIVEAU', 2048);// Voir le manuel de PHP pour les différents niveaux disponibles.
/** Constante stockant si oui ou nom on veut afficher le tableau de chronométrage de l'application.*/
define('GTT_DEBOGAGE_CHRONO', false);
 
//==================================== GTT v3 ==================================
/* definition des chemins d'acces */
define ("CHEMIN",'');
/trunk/presentation/gtt.css
13,7 → 13,21
a:hover{
background-color:#eff4fa;
color:#036;}
 
/* Presentation des informations */
.information{
margin: 0 25% 0 25%;
text-align:center;
font-size:1.2em;
line-height:1.5em;
font-weight:bold;
color:white;
background:#74C054;
border-color:red;
border-width:4px;
border-style:outset;}
/* Presentation des formulaires */
form ul li {
list-style-type:none;}
/* Presentation des listes de definitions */
dl {width:100%;}
dt {
/trunk/presentation/menu.tpl.html
6,7 → 6,10
<?php if ($bool_admin) : ?>
<li>Administration
<ul>
<li><a href="index.php?action=admin-categorie">Categorie des projets</a></li>
<li><a href="index.php?action=admin-categorie">Categories des projets</a></li>
<li><a href="index.php?action=admin-absence-motif">Motifs des absences</a></li>
<li><a href="index.php?action=admin-utilisateur-statut">Statuts des utilisateurs</a></li>
<li><a href="index.php?action=admin-utilisateur">Utilisateurs</a></li>
</ul>
</li>
<?php endif; ?>
/trunk/presentation/admin_absence_motif.tpl.html
New file
0,0 → 1,34
<?php if (isset($message)) : ?>
<p class="information"><?=$message;?></p>
<?php endif; ?>
<form id="admin_absence_motif_ajouter" name="admin_absence_motif_ajouter" action="http://localhost/gestion/index.php?action=admin-absence-motif_valider-ajouter" method="post">
<fieldset>
<legend>Ajouter un motif d'absence</legend>
<ul>
<li>
Libellé:
<input size="30" name="amaj_libelle" type="text" />
<span class="symbole_obligatoire">*</span>
</li>
<li>
<input size="5" id="btn_absence_motif_ajouter" name="btn_absence_motif_ajouter" value="Ajouter" type="submit" /></li>
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li>
</ul>
</fieldset>
</form>
<form id="admin_absence_motif_supprimer" name="admin_absence_motif_supprimer" action="http://localhost/gestion/index.php?action=admin-absence-motif_valider-supprimer" method="post">
<fieldset>
<legend>Supprimer un motif d'absence</legend>
<ul>
<li>
Catégorie :
<select id="amsu_id" name="amsu_id">
<?php foreach ($motifs as $motif) : ?>
<option value="<?=$motif['id'];?>"><?=$motif['libelle'];?></option>
<?php endforeach; ?>
</select>
</li>
<li><input id="btn_absence_motif_supprimer" name="btn_absence_motif_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer ce motif ?');"/></li>
</ul>
</fieldset>
</form>
/trunk/presentation/admin_utilisateur_statut.tpl.html
New file
0,0 → 1,34
<?php if (isset($message)) : ?>
<p class="information"><?=$message;?></p>
<?php endif; ?>
<form id="admin_us_ajouter" name="admin_us_ajouter" action="http://localhost/gestion/index.php?action=admin-utilisateur-statut_valider-ajouter" method="post">
<fieldset>
<legend>Ajouter un statut d'utilisateur</legend>
<ul>
<li>
Libelle:
<input size="30" id="usaj_libelle" name="usaj_libelle" type="text" />
<span class="symbole_obligatoire">*</span>
</li>
<li>
<input size="5" id="btn_us_ajouter" name="btn_us_ajouter" value="Ajouter" type="submit" /></li>
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li>
</ul>
</fieldset>
</form>
<form id="admin_us_supprimer" name="admin_us_supprimer" action="http://localhost/gestion/index.php?action=admin-utilisateur-statut_valider-supprimer" method="post">
<fieldset>
<legend>Supprimer un statut d'utilisateur</legend>
<ul>
<li>
Statut d'utilisateur :
<select id="ussu_id" name="ussu_id">
<?php foreach ($statuts as $statut) : ?>
<option value="<?=$statut['id'];?>"><?=$statut['libelle'];?></option>
<?php endforeach; ?>
</select>
</li>
<li><input id="btn_us_supprimer" name="btn_us_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer cet statut d\'utilisateur ?');" /></li>
</ul>
</fieldset>
</form>
/trunk/presentation/gestion.tpl.html
36,8 → 36,7
</tbody>
</table>
 
<form id="gestion" name="gestion" action="
<?=$url_gestion_valider;?>" method="post">
<form id="gestion" name="gestion" action="<?=$url_gestion_valider;?>" method="post">
<table>
<caption>
<a href="<?=$url_semaine_precedente;?>">&lt;&lt;</a>
/trunk/presentation/admin_categorie.tpl.html
1,3 → 1,6
<?php if (isset($message)) : ?>
<p class="information"><?=$message;?></p>
<?php endif; ?>
<form id="admin_categorie_ajouter" name="admin_categorie_ajouter" action="http://localhost/gestion/index.php?action=admin-categorie_valider-ajouter" method="post">
<fieldset>
<legend>Ajouter une catégorie</legend>
4,25 → 7,28
<ul>
<li>
Libelle:
<input class="AJOUTER_CATEGORIE" size="30" name="champ_nom_cat" type="text" />
<input size="30" id="caaj_libelle" name="caaj_libelle" type="text" />
<span class="symbole_obligatoire">*</span>
</li>
<li>
<input class="AJOUTER_CATEGORIE" size="5" name="champ_valider_cat" value="Ajouter" type="submit" /></li>
<input size="5" id="btn_categorie_ajouter" name="btn_categorie_ajouter" value="Ajouter" type="submit" /></li>
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li>
</ul>
</fieldset>
</form>
<form id="admin_categorie_supprimer" name="admin_categorie_supprimer" action="http://localhost/gestion/index.php?action=valider-supprimer" method="post">
<form id="admin_categorie_supprimer" name="admin_categorie_supprimer" action="http://localhost/gestion/index.php?action=admin-categorie_valider-supprimer" method="post">
<fieldset>
<legend>Supprimer une catégorie</legend>
<ul>
<li>
Categorie :
<select class="SUPPRIMER_CATEGORIE" name="champ_cat_supprimer">
<select id="casu_id" name="casu_id">
<?php foreach ($categories as $categorie) : ?>
<option value="<?=$categorie['id'];?>"><?=$categorie['libelle'];?></option>
<?php endforeach; ?>
</select>
</li>
<li><input class="SUPPRIMER_CATEGORIE" name="btn_supprimer_cat" value="Supprimer" type="submit" /></li>
<li><input name="btn_categorie_supprimer" name="btn_categorie_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer cette catégorie ?');" /></li>
</ul>
</fieldset>
</form>
/trunk/presentation/principal.tpl.html
9,6 → 9,9
<h1 id="titre_principal"><?=$titre;?></h1>
<div id="zone_contenu_principal"><?=$zone_contenu;?></div>
<div id="zone_identification"><?=$zone_identification;?></div>
<div id="zone_menu"><?=$zone_menu;?></div>
<div id="zone_menu"><?=$zone_menu;?></div>
<div id="zone_erreur">
<?=(EF_DEBOGAGE) ? $GLOBALS['_GTT_']['erreur']->retournerErreur():'';?>
</div>
</body>
</html>
/trunk/presentation/admin_utilisateur.tpl.html
New file
0,0 → 1,98
<?php if (isset($messages)) : ?>
<?php foreach ($messages as $message) : ?>
<p class="information"><?=$message;?></p>
<?php endforeach; ?>
<?php endif; ?>
<form id="admin_utilisateur_ajouter" name="admin_utilisateur_ajouter" action="<?=$form_url;?>" method="post">
<fieldset>
<legend><?=$form_legend;?></legend>
<ul>
<li>
Nom:
<input size="50" name="ut_nom" type="text" value="<?=$Utilisateur->getNom();?>"/><span class="symbole_obligatoire">*</span>
</li>
<li>
Prenom:
<input size="50" name="ut_prenom" type="text" value="<?=$Utilisateur->getPrenom();?>"/><span class="symbole_obligatoire">*</span>
</li>
<li>
Adresse:
<input size="100" name="ut_adresse" type="text" value="<?=$Utilisateur->getAdresse();?>"/>
</li>
<li>
Ville:
<input size="50" name="ut_ville" type="text" value="<?=$Utilisateur->getVille();?>"/>
</li>
<li>
Code postal:
<input size="5" name="ut_code_postal" value="0" type="text" value="<?=$Utilisateur->getCodePostal();?>"/>
</li>
<li>
Téléphone:
<input size="10" name="ut_telephone" value="0" type="text" value="<?=$Utilisateur->getTelephone();?>"/>
</li>
<li>
Courriel:
<input size="50" name="ut_email" type="text" value="<?=$Utilisateur->getEmail();?>"/><span class="symbole_obligatoire">*</span>
</li>
<li>
Mot de passe:
<input size="20" name="ut_mot_de_passe" type="password"/><span class="symbole_obligatoire">*</span></li>
<li>
Confirmer mot de passe:
<input size="20" name="ut_mot_de_passe_confirmation" type="password"/><span class="symbole_obligatoire">*</span>
</li>
<li>
Statut:
<select id="ut_statut" name="ut_statut">
<?php foreach ($utilisateur_statuts as $statut) : ?>
<option value="<?=$statut['id'];?>"><?=$statut['libelle'];?></option>
<?php endforeach; ?>
</select>
</li>
<li>
Congés payés initiaux:
<input size="3" name="ut_conges_payes" type="text" value="<?=$Utilisateur->getCongesPayes();?>"/>
</li>
<li>
Temps journalier de travail:
<input size="3" name="ut_temps_de_travail" type="text" value="<?=$Utilisateur->getTempsDeTravail();?>"/>
</li>
<li>
Heures supplémentaires initiales:
<input size="3" name="ut_quota_heures_supp" type="text" value="<?=$Utilisateur->getQuotaHeuresSupp();?>"/>
</li>
<li>
Adminitrateur:
<input id="ut_mark_admin" name="ut_mark_admin" type="checkbox" value="<?=$Utilisateur->getMarkAdmin();?>" <?=($bool_mark_admin)?'checked="checked"':'';?>/>
</li>
<li>
Cet utilisateur ne doit pas apparaître dans les divers récapitulatif:
<input id="ut_mark_recapitulatif" name="ut_mark_recapitulatif" type="checkbox" value="<?=$Utilisateur->getMarkRecapitulatif();?>" <?=($bool_mark_recapitulatif)?'checked="checked"':'';?>/>
</li>
<li>
<input name="ut_id_utilisateur" type="hidden" value="<?=$Utilisateur->getIdUtilisateur();?>"/>
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" />
<input id="btn_utilisateur_annuler" name="btn_utilisateur_annuler" value="Annuler" type="submit" />
</li>
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li>
</ul>
</fieldset>
</form>
<form id="admin_utilisateur_editer" name="admin_utilisateur_editer" action="http://localhost/gestion/index.php?action=admin-utilisateur_editer" method="post">
<fieldset>
<legend>Éditer un utilisateur</legend>
<ul>
<li>
Utilisateur :
<select id="utsu_id" name="utsu_id">
<?php foreach ($utilisateurs as $utilisateur) : ?>
<option value="<?=$utilisateur['id'];?>"><?=$utilisateur['libelle'];?></option>
<?php endforeach; ?>
</select>
</li>
<li><input id="btn_utilisateur_supprimer" name="btn_utilisateur_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer cet utilisateur ?');" /></li>
<li><input id="btn_utilisateur_modifier" name="btn_utilisateur_modifier" value="Modifier" type="submit" /></li>
</ul>
</fieldset>
</form>
/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)
{
/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/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/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/index.php
42,11 → 42,12
include CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
 
// Test des choix de menu a afficher
$action = 'gestion';
$action = 1;
if (!empty($_GET['action'])) {
$action = $_GET['action'];
}
if (!preg_match('/^\d+$/', $action)) {
 
/**
* La fonction __autoload() charge dynamiquement les classes trouvées dans le code.
*
71,6 → 72,9
}
}
 
// Initialisation du gestionnaire d'erreur
$GLOBALS['_GTT_']['erreur'] = new GestionnaireErreur(GTT_DEBOGAGE_CONTEXTE, GTT_DEBOGAGE_NIVEAU, GTT_DEBOGAGE_PEAR, GTT_DEBOGAGE_PEAR_CHAINE);
 
// Connexion a la base de donnees
$GLOBALS['db'] = DB::connect(GTT_BDD_DSN);
if (PEAR::isError($GLOBALS['db'])) {
77,13 → 81,7
trigger_error("Echec connexion a la base de donnees : ".$GLOBALS['db']->getMessage(), E_USER_ERROR);
}
 
// Récuperation d'informations générales
require_once GTT_CHEMIN_CLASSE.'GestionnaireErreur.class.php';
require_once GTT_CHEMIN_METIER.'aGttSql.class.php';
 
// Utilisation du mécanisme MVC avec Squelette PHP et objet
require_once GTT_CHEMIN_CLASSE.'aControlleurAction.class.php';
require_once GTT_CHEMIN_CLASSE.'Registre.class.php';
$nom_module_general = 'ControlleurFrontal';
$fichier_module_general = GTT_CHEMIN_CLASSE.$nom_module_general.'.class.php';
if (file_exists($fichier_module_general)) {