Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 4 → Rev 5

/trunk/presentation/gtt_fonctions_generique_affichage.php
35,8 → 35,8
// +------------------------------------------------------------------------------------------------------+
 
//include_once 'gtt_config.inc.php';
include_once CHEMIN_CLASSES_METIER.'gtt_utilisateur.class.php';
include_once CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
require_once CHEMIN_CLASSES_METIER.'gtt_utilisateur.class.php';
require_once CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
 
 
 
73,7 → 73,7
*/
function creerEntetePage($nom)
{
$entete ='<?xml version="1.0" encoding="ISO-8859-1" ?>'."\n";
$entete ='<?xml version="1.0" encoding="ISO-8859-15" ?>'."\n";
$entete .='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />'."\n";
$entete .='<html xmlns="http://www.w3.org/1999/xhtml/" >'."\n";
$entete .=' <head>'."\n";
171,49 → 171,48
return $zoneOption;
}
/**
* fonction affichant les options
*@param identifiant d'un utilisateur
*renvoie un formulaire sous forme html
*/
* fonction affichant les options
*@param identifiant d'un utilisateur
*renvoie un formulaire sous forme html
*/
function afficherOptionAplication($user)
{
$id="MENU_OPTION";
$size=15;
$assoc1=array('class'=>$id);
$form=new HTML_QuickForm('gestion_option', 'post','','', $assoc1);
//ajout d'element
//projets de l'utilisateur
$ligneEditerPref = &HTML_QuickForm::createElement('link', 'btn_editer_pref','',$GLOBALS['urlBase'].GESTION_EDITER_PREFERENCES,GESTION_MES_PROJETS_L,$assoc1);
$form->addElement($ligneEditerPref);
//travail
$ligneTravail=&HTML_QuickForm::createElement('link', 'btn_editer_travail','',$GLOBALS['urlBase'].GESTION_TRAVAIL,GTT_L_ME_TRAVAIL,$assoc1);
$form->addElement($ligneTravail);
//administration
$user1=&Utilisateur::recupererUtilisateur($user);
if ($user1->isAdmin()==1)
{
$ligneAdmin=&HTML_QuickForm::createElement('link', 'btn_admin','',$GLOBALS['urlBase'].GESTION_ADMIN_UTILISATEUR,GTT_L_ME_ADMINISTRATION,$assoc1);
$form->addElement($ligneAdmin);
}
 
$ligneDeconnexion=&HTML_QuickForm::createElement('link', 'btn_deconnexion','',$GLOBALS['urlBase'].GESTION_DECONNEXION,GTT_L_ME_DECONNECTION,$assoc1);
$form->addElement($ligneDeconnexion);
 
return $form->toHtml();
$id = 'MENU_OPTION';
$size = 15;
$assoc1 = array('class'=>$id);
$form = new HTML_QuickForm('gestion_option', 'post','','', $assoc1);
//ajout d'element
//projets de l'utilisateur
$ligneEditerPref = &HTML_QuickForm::createElement('link', 'btn_editer_pref','',$GLOBALS['urlBase'].GESTION_EDITER_PREFERENCES,GESTION_MES_PROJETS_L,$assoc1);
$form->addElement($ligneEditerPref);
//travail
$ligneTravail=&HTML_QuickForm::createElement('link', 'btn_editer_travail','',$GLOBALS['urlBase'].GESTION_TRAVAIL,GTT_L_ME_TRAVAIL,$assoc1);
$form->addElement($ligneTravail);
//administration
$user1=&Utilisateur::recupererUtilisateur($user);
if ($user1->isAdmin() == 1) {
$ligneAdmin=&HTML_QuickForm::createElement('link', 'btn_admin','',$GLOBALS['urlBase'].GESTION_ADMIN_UTILISATEUR,GTT_L_ME_ADMINISTRATION,$assoc1);
$form->addElement($ligneAdmin);
}
$ligneDeconnexion =& HTML_QuickForm::createElement('link', 'btn_deconnexion','',$GLOBALS['urlBase'].GESTION_DECONNEXION,GTT_L_ME_DECONNECTION,$assoc1);
$form->addElement($ligneDeconnexion);
return $form->toHtml();
}
/**
*fonctions creant la liste des options disponibles
*nouveau formulaire avec la liste des optiosn disponibles
*/
function creerFormulaireOptionAdmin()
{
/**
*fonctions creant la liste des options disponibles
*nouveau formulaire avec la liste des optiosn disponibles
*/
function creerFormulaireOptionAdmin()
{
$id = 'LISTE_OPTION_ADMIN';
$size=7;
$assoc =array ('class'=>$id, 'size'=>$size);
$id="LISTE_OPTION_ADMIN";
$size=7;
$assoc =array ('class'=>$id, 'size'=>$size);
$form=new HTML_QuickForm('liste_options_admin', 'post','','',$assoc);
//liste des elements : categorie
/trunk/controleur/gtt_controleur_travail.php
34,7 → 34,6
*/
// +------------------------------------------------------------------------------------------------------+
include_once CHEMIN_FN_GENERIQUE_AFFICHAGE;
include_once 'gtt_config.inc.php';
include_once CHEMIN_MENU.'gtt_menu_travail.php';
include_once CHEMIN_CLASSES_METIER.'gtt_travail.class.php';
include_once CHEMIN_CLASSES_METIER.'gtt_taches.class.php';
48,91 → 47,82
 
function verifTempsTravail()
{
$nb=$_POST["champ_nb_projet"];
$nb = $_POST['champ_nb_projet'];
$res = true;
// Iniatilisation des variables
$somme1 = $somme2 = $somme3 = $somme4 = $somme5 = $somme6 = $somme7 = 0;
$verif_a_faire = false;
// Tableau jour
$tabJour = array(0 => "champ_lundi", 1 => "champ_mardi", "champ_mercredi", "champ_jeudi", "champ_vendredi", "champ_samedi", "champ_dimanche");
$res = true;
//iniatilisation des variables
$somme1=$somme2=$somme3=$somme4=$somme5=$somme6=$somme7=0;
$verif_a_faire=false;
//tableau jour
$tabJour=array(0=>"champ_lundi",1=>"champ_mardi","champ_mercredi","champ_jeudi","champ_vendredi","champ_samedi","champ_dimanche");
for ($i=0;$i<$nb;$i++)
{
for ($j=0;$j<count($tabJour);$j++)
{
//on ne fait les tests que si des jours de travail ou de recuperation partielle
if ((isset($_POST[$tabJour[$j].$i]))and (($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL) or
($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]=="Récup part:1/2j")))
{
$verif_a_faire=true;
//attribution de la limite selon le type de jour
if ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL)
{
$limite = 24;
for ($i = 0; $i < $nb; $i++) {
for ($j = 0; $j < count($tabJour); $j++) {
// On ne fait les tests que si des jours de travail ou de recuperation partielle
if ((isset($_POST[$tabJour[$j].$i]))and (($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL) or
($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]=="Récup part:1/2j"))) {
$verif_a_faire = true;
//attribution de la limite selon le type de jour
if ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL) {
$limite = 24;
} elseif ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]=="Récup part:1/2j") {
$limite = 12;
}
if ((!(($_POST[$tabJour[$j].$i]<$limite)and ($_POST[$tabJour[$j].$i]>=0))) or
(empty($_POST[$tabJour[$j].$i])!=1 and is_numeric($_POST[$tabJour[$j].$i]) != 1)) {
$res = false;
} else {
switch ($j) {
//cas lundi
case 1:
$somme1 += $_POST[$tabJour[$j].$i];
break;
//cas mardi
case 2 :
$somme2 += $_POST[$tabJour[$j].$i];
break;
//cas mercredi
case 3 :
$somme3 += $_POST[$tabJour[$j].$i];
break;
//cas jeudi
case 4 :
$somme4 += $_POST[$tabJour[$j].$i];
break;
//cas vendredi
case 5 :
$somme5 += $_POST[$tabJour[$j].$i];
break;
//cas samedi
case 6 :
$somme6 += $_POST[$tabJour[$j].$i];
break;
//cas dimanche
case 7 :
$somme7 += $_POST[$tabJour[$j].$i];
break;
}
}
}
}
elseif($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]=="Récup part:1/2j")
{
$limite = 12;
}
if ((!(($_POST[$tabJour[$j].$i]<$limite)and ($_POST[$tabJour[$j].$i]>=0)))or
(empty($_POST[$tabJour[$j].$i])!=1 and is_numeric($_POST[$tabJour[$j].$i])!=1))
{
$res=false;
}else{
switch ($j)
{
//cas lundi
case 1:
$somme1 += $_POST[$tabJour[$j].$i];
break;
//cas mardi
case 2 :
$somme2 += $_POST[$tabJour[$j].$i];
break;
//cas mercredi
case 3 :
$somme3 += $_POST[$tabJour[$j].$i];
break;
//cas jeudi
case 4 :
$somme4 += $_POST[$tabJour[$j].$i];
break;
//cas vendredi
case 5 :
$somme5 += $_POST[$tabJour[$j].$i];
break;
//cas samedi
case 6 :
$somme6 += $_POST[$tabJour[$j].$i];
break;
//cas dimanche
case 7 :
$somme7 += $_POST[$tabJour[$j].$i];
break;
}
}
}
}
}
//test si une des valeurs >24
if( $verif_a_faire==true)
{
$resultat=(($somme1<$limite)and ($somme2<$limite)and ($somme3<$limite)and ($somme4<$limite)and ($somme5<$limite)
and ($somme6<$limite)and ($somme7<$limite)and ($res==true));
}else $resultat=true;
return $resultat;
if( $verif_a_faire == true) {
$resultat=(($somme1<$limite)and ($somme2<$limite)and ($somme3<$limite)and ($somme4<$limite)and ($somme5<$limite)
and ($somme6<$limite)and ($somme7<$limite)and ($res==true));
} else {
$resultat = true;
}
return $resultat;
}
 
/**
*fonction traitant l'ajout d'un champ travail dans la base
*@param : utilisateur
139,185 → 129,163
*/
function traiterSemaine($utilisateur)
{
if (isset($_POST["champ_valider_travail"]))
{
//recuperation de l'utilisateur
$user1=&Utilisateur::recupererUtilisateur($utilisateur);
//parcours du tableau de jours
$tabListeJour=array(0 =>'champ_lundi',1 =>'champ_mardi','champ_mercredi','champ_jeudi','champ_vendredi','champ_samedi','champ_dimanche');
//parcourt du tableau de jour
for ($nb=0;$nb<$_POST["champ_nb_projet"];$nb++)
{
for($j=0; $j<count($tabListeJour);$j++)
{
//test du type de jour
if (isset($_POST["champ_type_jour".$j]))
{
//cas jour de travail ou recuperation partielle(recuperation partielle ne reduit pas le temps de travail
if (($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL)
or (($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_RECUP_PART)
and ($_POST["champ_rtt_type_jour".$_POST["champ_type_jour".$j]]==0)))
{
//test si aucun conges prealablement rentre ne chevauche la date voulue
//construction d'un objet absence equivalent a la date de travail
$testAbs= new Absence($utilisateur,0,date('Y-m-d',$_POST["champ_date_j".$j]));
$testAbs->setDateFin(date('Y-m-d',$_POST["champ_date_j".$j]));
$tabAbsence=$testAbs->existeAbsence();
//booleen pour indiquer si on peut ajouter
$possibleAjout=true;
//si chevauchement: verification si tous validee
if(count($tabAbsence)>0)
{
if($testAbs->existeAbsenceValidee()==true)
{
$possibleAjout=false;
$_POST[$tabListeJour[$j].$nb]='';
$codeErreur=2;
}else{
//supression des absences non validees
for($p=0;$p<count($tabAbsence);$p++)
{
$l=$tabAbsence[$p];
$absTemp2=$testAbs;
$absTemp2->construireAbsence($l);
$nbJour2=$absTemp2->getDureeAbsence();
//mise a jour des quota heures sup et des conges payes de l'utilisateur
if($_POST["champ_libelle_type_jour".$l[GEST_CHAMPS_ID_MOTIF]]==GTT_NOM_RECUPERATION)
{
$quotaTemp=$user1->getQuota();
$user1->setQuota($quotaTemp+(($user1->getTempsTravail())*$nbJour2));
if (isset($_POST['champ_valider_travail'])) {
// Récuperation de l'utilisateur
$user1 = Utilisateur::recupererUtilisateur($utilisateur);
// Parcours du tableau de jours
$tabListeJour = array(0 =>'champ_lundi',1 =>'champ_mardi','champ_mercredi','champ_jeudi','champ_vendredi','champ_samedi','champ_dimanche');
// Parcourt du tableau de jour
for ($nb = 0; $nb < $_POST["champ_nb_projet"]; $nb++) {
for($j = 0; $j < count($tabListeJour); $j++) {
// Test du type de jour
if (isset($_POST["champ_type_jour".$j])) {
//cas jour de travail ou recuperation partielle(recuperation partielle ne reduit pas le temps de travail
if (($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]] == GTT_NOM_TRAVAIL)
or (($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]] == GTT_NOM_RECUP_PART)
and ($_POST["champ_rtt_type_jour".$_POST["champ_type_jour".$j]] == 0))) {
//test si aucun conges prealablement rentre ne chevauche la date voulue
//construction d'un objet absence equivalent a la date de travail
$testAbs = new Absence($utilisateur,0,date('Y-m-d', $_POST["champ_date_j".$j]));
$testAbs->setDateFin(date('Y-m-d', $_POST["champ_date_j".$j]));
$tabAbsence = $testAbs->existeAbsence();
// Booleen pour indiquer si on peut ajouter
$possibleAjout = true;
// Si chevauchement: verification si tous validee
if (count($tabAbsence) > 0) {
if ($testAbs->existeAbsenceValidee() == true) {
$possibleAjout = false;
$_POST[$tabListeJour[$j].$nb] = '';
$codeErreur = 2;
} else {
//supression des absences non validees
for ($p = 0; $p < count($tabAbsence); $p++) {
$l = $tabAbsence[$p];
$absTemp2 = $testAbs;
$absTemp2->construireAbsence($l);
$nbJour2 = $absTemp2->getDureeAbsence();
// Mise a jour des quota heures sup et des conges payes de l'utilisateur
if ($_POST["champ_libelle_type_jour".$l[GEST_CHAMPS_ID_MOTIF]]==GTT_NOM_RECUPERATION) {
$quotaTemp=$user1->getQuota();
$user1->setQuota($quotaTemp+(($user1->getTempsTravail())*$nbJour2));
} elseif ($_POST["champ_libelle_type_jour".$l[GEST_CHAMPS_ID_MOTIF]]==GTT_NOM_RECUP_PART) {
$quotaTemp=$user1->getQuota();
$user1->setQuota($quotaTemp+((($user1->getTempsTravail())/2)*$nbJour2));
} else {
if ($_POST["champ_libelle_type_jour".$l[GEST_CHAMPS_ID_MOTIF]]==GTT_NOM_CONGES_PAYES) {
$congesTemp=$user1->getConges();
$user1->setConges($congesTemp+($nbJour2*1));
}
}
$f = $testAbs->supprimerAbsence($utilisateur,$l[GEST_CHAMPS_DATE_DEBUT_ABSENCE]);
if ($f != 1) {
$codeErreur = 3;
}
}
}
}
}elseif($_POST["champ_libelle_type_jour".$l[GEST_CHAMPS_ID_MOTIF]]==GTT_NOM_RECUP_PART)
{
$quotaTemp=$user1->getQuota();
$user1->setQuota($quotaTemp+((($user1->getTempsTravail())/2)*$nbJour2));
}else
{
if ($_POST["champ_libelle_type_jour".$l[GEST_CHAMPS_ID_MOTIF]]==GTT_NOM_CONGES_PAYES)
//determination des limites de travail en fonction du type de jour
if ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL) {
$limiteHeureTravail = $GLOBALS['limiteJourTravail'];
} else {
$limiteHeureTravail=$GLOBALS['limiteJourRecupPart'];
//construction de l'absence
$absenceRecupPart=new Absence($utilisateur,$_POST["champ_type_jour".$j],date('Y-m-d',$_POST["champ_date_j".$j]));
$absenceRecupPart->setDateFin(date('Y-m-d',$_POST["champ_date_j".$j]));
//traitement de l'enregistrement de la recuperation partielle
if ($possibleAjout == true) {
$q = $absenceRecupPart->enregistrerNewAbsence();
//mise a jour des quotas
$val=$user1->getQuota();
$duree=$user1->getTempsTravail();
$user1->setQuota($val-(($user1->getTempsTravail())/2));
if ($q != 1 ) {
//attribution d'un code erreur
$codeErreur=1;
}
}
}
//test si le champ n'est pas vide et le champ est different de 0
if (empty($_POST[$tabListeJour[$j].$nb])!=1 and ($_POST[$tabListeJour[$j].$nb])!=0)
{
$congesTemp=$user1->getConges();
$user1->setConges($congesTemp+($nbJour2*1));
}
}
$f=$testAbs->supprimerAbsence($utilisateur,$l[GEST_CHAMPS_DATE_DEBUT_ABSENCE]);
if ($f!=1)$codeErreur=3;
}
}
}
//determination des limites de travail en fonction du type de jour
if ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_TRAVAIL)
{
$limiteHeureTravail=$GLOBALS['limiteJourTravail'];
}else
{
$limiteHeureTravail=$GLOBALS['limiteJourRecupPart'];
//construction de l'absence
$absenceRecupPart=new Absence($utilisateur,$_POST["champ_type_jour".$j],date('Y-m-d',$_POST["champ_date_j".$j]));
$absenceRecupPart->setDateFin(date('Y-m-d',$_POST["champ_date_j".$j]));
//traitement de l'enregistrement de la recuperation partielle
if($possibleAjout==true)
{
$q = $absenceRecupPart->enregistrerNewAbsence();
//mise a jour des quotas
$val=$user1->getQuota();
$duree=$user1->getTempsTravail();
$user1->setQuota($val-(($user1->getTempsTravail())/2));
if ($q!=1 )
{
//attribution d'un code erreur
$codeErreur=1;
}
}
}
//test si le champ n'est pas vide et le champ est different de 0
if (empty($_POST[$tabListeJour[$j].$nb])!=1 and ($_POST[$tabListeJour[$j].$nb])!=0)
{
//test si date <=date d'aujourd'hui
if ($_POST["champ_date_j".$j]<=time() and ($possibleAjout==true))
{
//impossible de modifier des donnees une fosi que l'absence
//est enregistree
//construction de l'objet travail
$travail= new Travail($utilisateur,$_POST["champ_tache".$nb]);
$travail->setDateTravail(date('Y-m-d',$_POST["champ_date_j".$j]));
$travail->setDureeTravail($_POST[$tabListeJour[$j].$nb]);
//traitement de l'objet travail
$t=traiterTravail($travail,$limiteHeureTravail);
$_POST[$tabListeJour[$j].$nb]='';
if($t!=1)$codeErreur=$t;
//test si date <=date d'aujourd'hui
if ($_POST["champ_date_j".$j]<=time() and ($possibleAjout==true))
{
//impossible de modifier des donnees une fosi que l'absence
//est enregistree
//construction de l'objet travail
$travail= new Travail($utilisateur,$_POST["champ_tache".$nb]);
$travail->setDateTravail(date('Y-m-d',$_POST["champ_date_j".$j]));
$travail->setDureeTravail($_POST[$tabListeJour[$j].$nb]);
//traitement de l'objet travail
$t=traiterTravail($travail,$limiteHeureTravail);
$_POST[$tabListeJour[$j].$nb]='';
if($t!=1)$codeErreur=$t;
}else{
if($possibleAjout==true)
{
//cas ou la date est superieure a la date d'aujourd'hui
//construction de l'objet prevision
$prevision=new Prevision(1000,1000);
$tableau=array(GEST_CHAMPS_ID_UTILISATEUR=>$utilisateur,
GEST_CHAMPS_ID_TACHE=>$_POST["champ_tache".$nb],
GEST_CHAMPS_DATE_PREVISION=>date('Y-m-d',$_POST["champ_date_j".$j]),
GEST_CHAMPS_DUREE_PREVISION=> $_POST["$tabListeJour[$j]".$nb]);
$prevision->construirePrevision($tableau);
$o=traiterPrevision($prevision, $limiteHeureTravail);
$_POST[$tabListeJour[$j].$nb]='';
if($o!=1)$codeErreur=$o;
}
}
}//fin traitement travail et prevision
}else{
if($possibleAjout==true)
//cas des conges
//cas : conges paye,recup,maladie,greve,ferie
if(($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_CONGES_PAYES)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_RECUPERATION)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_MALADIE)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_GREVE)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_WEEK_END)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_FERIE))
{
//cas ou la date est superieure a la date d'aujourd'hui
//construction de l'objet prevision
$prevision=new Prevision(1000,1000);
$tableau=array(GEST_CHAMPS_ID_UTILISATEUR=>$utilisateur,
GEST_CHAMPS_ID_TACHE=>$_POST["champ_tache".$nb],
GEST_CHAMPS_DATE_PREVISION=>date('Y-m-d',$_POST["champ_date_j".$j]),
GEST_CHAMPS_DUREE_PREVISION=> $_POST["$tabListeJour[$j]".$nb]);
//construction du nouvel objet absence
$objetAbsence=new Absence($utilisateur,$_POST["champ_type_jour".$j],date('Y-m-d',$_POST["champ_date_j".$j]));
$objetAbsence->setDateFin(date('Y-m-d',$_POST["champ_date_j".$j]));
//traitement de l'objet absence
$g=traiterAbsence($objetAbsence,$user1,$_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]);
if ($g[0]!=1){
$codeErreur=$g[0];
}else {
$user1=$g[1];
}
$prevision->construirePrevision($tableau);
$o=traiterPrevision($prevision, $limiteHeureTravail);
$_POST[$tabListeJour[$j].$nb]='';
if($o!=1)$codeErreur=$o;
}
}
}//fin traitement travail et prevision
}else{
//cas des conges
//cas : conges paye,recup,maladie,greve,ferie
if(($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_CONGES_PAYES)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_RECUPERATION)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_MALADIE)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_GREVE)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_WEEK_END)
or ($_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]==GTT_NOM_FERIE))
{
//construction du nouvel objet absence
$objetAbsence=new Absence($utilisateur,$_POST["champ_type_jour".$j],date('Y-m-d',$_POST["champ_date_j".$j]));
$objetAbsence->setDateFin(date('Y-m-d',$_POST["champ_date_j".$j]));
//traitement de l'objet absence
$g=traiterAbsence($objetAbsence,$user1,$_POST["champ_libelle_type_jour".$_POST["champ_type_jour".$j]]);
if ($g[0]!=1){
$codeErreur=$g[0];
}else {
$user1=$g[1];
}
}
}//fin traitement type jour
}//typr jour
}
// }
}
$h=$user1->mettreAJourUtilisateur();
if ($h!=1)
{
$codeErreur=25;
}
}//fin traitement type jour
}//typr jour
}
// }
}
$h=$user1->mettreAJourUtilisateur();
if ($h!=1) {
$codeErreur = 25;
}
}
$_POST["champ_valider_travail"]='dejaValider';
$_POST['champ_valider_travail'] = 'dejaValider';
}
 
/**
746,26 → 714,22
}
 
 
/**
*fonction traitant le menu travail
*/
function traiterAdminTravail($url,$semaine,$annee,$utilisateur)
function traiterAdminTravail($url, $semaine, $annee, $utilisateur)
{
$text=creerEntetePage(GESTION_GESTIONDEPOSTE_L);
$form=afficherTableauJour($url,$utilisateur,$semaine,$annee);
if (isset($_POST["champ_valider_travail"])and $_POST["champ_valider_travail"]!='dejaValider'and $form->validate())
{
$text = creerEntetePage(GESTION_GESTIONDEPOSTE_L);
$form = afficherTableauJour($url, $utilisateur, $semaine, $annee);
$form->process(traiterSemaine($utilisateur));
$t=afficherTableauJour($url,$utilisateur,$semaine,$annee);
$text.=$t->ToHTml();
}else{
$text.=$form->ToHtml();
}
return $text;
if (isset($_POST['champ_valider_travail']) and $_POST['champ_valider_travail'] != 'dejaValider' and $form->validate()) {
$form->process(traiterSemaine($utilisateur));
$t = afficherTableauJour($url, $utilisateur, $semaine, $annee);
$text .= $t->ToHTml();
} else {
$text .= $form->ToHtml();
}
return $text;
}
 
 
?>
/trunk/controleur/gtt_controleur_editer_preferences.php
42,19 → 42,18
*/
function traiterEditerPreferences($user)
{
$text=creerEntetePage(GESTION_EDITER_PREFERENCES_L);
$form= afficherMenuEditerPref($user);
if (isset($_POST["btn_valider_editer"])and $_POST["btn_valider_editer"]!='dejaValider'and $form->validate())
{
$form->process(editerPref($user));
$t=afficherMenuEditerPref($user);
$text.=$t->ToHTml();
}else{
$text.=$form->ToHtml();
}
//affichage des options disponibles pour l'utilisateur courant
$text.=afficherOptionAplication($user);
return $text;
$text = creerEntetePage(GESTION_EDITER_PREFERENCES_L);
$form = afficherMenuEditerPref($user);
if (isset($_POST["btn_valider_editer"]) and $_POST["btn_valider_editer"] != 'dejaValider' and $form->validate()) {
$form->process(editerPref($user));
$t = afficherMenuEditerPref($user);
$text .= $t->ToHTml();
} else {
$text .= $form->ToHtml();
}
// Affichage des options disponibles pour l'utilisateur courant
$text .= afficherOptionAplication($user);
return $text;
}
 
/**
62,16 → 61,15
*/
function editerPref($user)
{
$r=&Preference::supprimerPreferences($user);
$nb=$_POST["champ_nb_total_proj"]; //NB TOTAL DE PROJET
for($u=0;$u<$nb;$u++)
{
if(isset($_POST["champ_check".$u]))
{
$preference1=new Preference($user,$_POST["champ_id_pr".$u]);
$ret= $preference1->enregistrerPreference();
if($ret!=1)echo "erreur preferences";
}
}
$r =& Preference::supprimerPreferences($user);
$nb = $_POST['champ_nb_total_proj']; //NB TOTAL DE PROJET
for($i = 0; $i < $nb; $i++) {
if (isset($_POST['champ_check'.$i])) {
$Preference = new Preference($user, $_POST['champ_id_pr'.$i]);
if (!$Preference->ajouter()) {
echo "Erreur preferences";
}
}
}
}
?>
/trunk/index.php
34,10 → 34,10
// +------------------------------------------------------------------------------------------------------+
// | INCLUSION DE FICHIERS |
// +------------------------------------------------------------------------------------------------------+
error_reporting(E_ALL);
//fichiers de la bibliotheque PEAR
include_once "Auth/Auth.php";
include_once "DB.php";
 
// Fichiers de la bibliotheque PEAR
include_once 'Auth/Auth.php';
include_once 'DB.php';
include_once 'gtt_config.inc.php';
include_once CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
include_once CHEMIN_CLASSES.'gtt_authentification.php';
53,137 → 53,106
include_once CHEMIN_CONTROLEUR.'gtt_controleur_editer_preferences.php';
include_once CHEMIN_MENU.'gtt_menu_editer_preferences.php';
 
// Création du dsn
// Connexion a la base de donnees
$GLOBALS['db'] = DB::connect($GLOBALS['dsn']);
 
//definition des constantes
define ("GESTION_TRAVAIL",1);
define ("GESTION_ADMIN_UTILISATEUR", 13);
define ("GESTION_EDITER_UTILISATEUR",14);
define ("GESTION_ADMIN_PROJET",15);
define ("GESTION_ADMIN_CATEGORIE",16);
define ("GESTION_ADMIN_MOTIF_ABSENCE",17);
define ("GESTION_ADMIN_STATUT",18);
define ("GESTION_ADMIN_FRAIS",19);
define ("GESTION_ADMIN_TACHE",20);
define ("GESTION_EDITER_PREFERENCES",21);
define ("GESTION_DECONNEXION",22);
 
//creation du dsn
//connexion a la base de donnees
$GLOBALS['db']=DB::connect($GLOBALS['dsn']);
 
if (DB::isError($GLOBALS['db']))
{
$GLOBALS['db']->getMessage();
echo "echec connexion a la base de donnees";
if (DB::isError($GLOBALS['db'])) {
$GLOBALS['db']->getMessage();
echo "echec connexion a la base de donnees";
}
 
 
 
$params=array(
"dsn"=>$GLOBALS['dsn'],
"table"=>GEST_UTILISATEUR,
"usernamecol"=>GEST_CHAMPS_EMAIL,
"passwordcol"=>GEST_CHAMPS_PASSWORD,
"cryptype"=>"md5",
"db_fields"=>"*");
$params = array("dsn"=>$GLOBALS['dsn'],
"table"=>GEST_UTILISATEUR,
"usernamecol"=>GEST_CHAMPS_EMAIL,
"passwordcol"=>GEST_CHAMPS_PASSWORD,
"cryptype"=>"md5",
"db_fields"=>"*");
//creation de l'objet auth
 
$a = new Auth("DB",$params,"afficherMenuConnexion",true);
 
// Création de l'objet auth
$a = new Auth('DB', $params, 'afficherMenuConnexion', true);
$a->setSessionname('temps_travail');
$a->setExpire(3600*24*30);
 
$a->start();
echo $a->getStatus();
 
if ($a->getAuth())
{
$mail=$a->getUserName();
$utilisateur=&Utilisateur::recupIDUtilisateurMail($mail);
$GLOBALS['idCurrentUser']=$utilisateur;
//recuperation de l'identifiant de la personne
//test des choix de menu a afficher
if (empty($action)){ $action = 1 ;}
switch ($action)
{
//cas affichage menu travail 1
case GESTION_TRAVAIL :
if (!isset($semaine))
{
$semaine=date('W',mktime(0,0,0,date('m'),date('d'),date('Y')));
}
if (!isset($annee))
{
$annee=date('Y');
}
$text=traiterAdminTravail($_SERVER["PHP_SELF"],$semaine,$annee,$utilisateur);
break;
//cas affichage du menu ajout autilisateurss 13
case GESTION_ADMIN_UTILISATEUR :
$text=traiterAdminUtilisateur('',0);
break;
//cas editer des utilisateurs 14
case GESTION_EDITER_UTILISATEUR :
$text=traiterAdminUtilisateur(renvoyerDonneesUser(),1);
break;
//cas afficher menu administration projet 15
case GESTION_ADMIN_PROJET :
$text=traiterAdminProjet();
break;
//cas afficher menu administration categorie 16
case GESTION_ADMIN_CATEGORIE :
$text=traiterAdminCategorie();
break;
//cas afficher menu admin motif absence 17
case GESTION_ADMIN_MOTIF_ABSENCE :
$text=traiterAdminMotif();
break;
//cas afficher menu admin statut 18
case GESTION_ADMIN_STATUT :
$text=traiterAdminStatut();
break;
//cas afficher admin editer frais 19
case GESTION_ADMIN_FRAIS :
$text='';
break;
//cas afficher admin editer taches 20
case GESTION_ADMIN_TACHE :
$text='';
break;
//cas editer preferences d'un utilisateur 21
case GESTION_EDITER_PREFERENCES :
$text=traiterEditerPreferences($GLOBALS['idCurrentUser']);
break;
//cas deconnexion 22
case GESTION_DECONNEXION :
$a->logout();
$text=afficherMenuConnexion();
//$GLOBALS['db']->disconnect();
break;
}
$text.=fermerBalisesFin();
echo $text;
}else
{
echo afficherMenuConnexion();
if ($a->getAuth()) {
$mail = $a->getUserName();
$utilisateur = Utilisateur::recupIDUtilisateurMail($mail);
$GLOBALS['idCurrentUser'] = $utilisateur;
// Récuperation de l'identifiant de la personne
// Test des choix de menu a afficher
if (empty($action)) {
$action = 1 ;
}
switch ($action) {
// Cas affichage menu travail 1
case GESTION_TRAVAIL :
if (!isset($semaine)) {
$semaine = date('W',mktime(0, 0, 0, date('m'), date('d') ,date('Y')));
}
if (!isset($annee)) {
$annee = date('Y');
}
$text = traiterAdminTravail($_SERVER['PHP_SELF'], $semaine, $annee, $utilisateur);
break;
// Cas affichage du menu ajout autilisateurss 13
case GESTION_ADMIN_UTILISATEUR :
$text = traiterAdminUtilisateur('',0);
break;
// Cas editer des utilisateurs 14
case GESTION_EDITER_UTILISATEUR :
$text = traiterAdminUtilisateur(renvoyerDonneesUser(),1);
break;
// Cas afficher menu administration projet 15
case GESTION_ADMIN_PROJET :
$text = traiterAdminProjet();
break;
// Cas afficher menu administration categorie 16
case GESTION_ADMIN_CATEGORIE :
$text = traiterAdminCategorie();
break;
// Cas afficher menu admin motif absence 17
case GESTION_ADMIN_MOTIF_ABSENCE :
$text = traiterAdminMotif();
break;
// Cas afficher menu admin statut 18
case GESTION_ADMIN_STATUT :
$text = traiterAdminStatut();
break;
// Cas afficher admin editer frais 19
case GESTION_ADMIN_FRAIS :
$text = '';
break;
// Cas afficher admin editer taches 20
case GESTION_ADMIN_TACHE :
$text = '';
break;
// Cas editer preferences d'un utilisateur 21
case GESTION_EDITER_PREFERENCES :
$text = traiterEditerPreferences($GLOBALS['idCurrentUser']);
break;
// Cas deconnexion 22
case GESTION_DECONNEXION :
$a->logout();
$text = afficherMenuConnexion();
//$GLOBALS['db']->disconnect();
break;
}
$text .= fermerBalisesFin();
echo $text;
} else {
echo afficherMenuConnexion();
}
 
//tester le choix de l'utilisateur
 
 
?>
?>
/trunk/langues/gtt_langue_fr.inc.php
130,124 → 130,123
// MESSAGES d'ERREUR
//Abréviation : ERREUR
define ( 'GTT_L_ERREUR_CONNECTION_BD', 'L\erreur sql provient de la demande de connection à la base de données.' );
define ( "GTT_ERREUR_NOM", "Vous devez rentrer un nom valide");
define ( "GTT_ERREUR_PRENOM", "Vous devez rentrer un prénom valide ");
define ( "GTT_ERREUR_NOMBRE","Vous devez rentrer un nombre valide");
define ( "GTT_ERREUR_VALEUR_NOMBRE", "Valeur incorrecte ");
define ( "GTT_ERREUR_TEL", "Vous devez rentrer un numéro valide");
define ( "GTT_ERREUR_MAIL", "Vous devez rentrer un email valide ");
define ( "GTT_ERREUR_PASSWD", "Vous devez rentrer un mot de passe");
define ( "GTT_DONNEES_INCORRECTES", "Erreur : champs non conformes ");
define ( "GTT_DONNEES_A_CORRIGER", "Veuillez corriger les champs nécessaires");
define ( "GTT_SUPPR_IMPOSSIBLE","Supression Interdite");
define ( "GTT_IMPOSSIBLE_SUPPR_CAT",GTT_SUPPR_IMPOSSIBLE." : "."Supprimez d'abord la liste des projets inclus");
define ( "GTT_IMPOSSIBLE_SUPPR_PROJ",GTT_SUPPR_IMPOSSIBLE." : "."Supprimez d'abord la liste de taches");
define ( "GTT_IMPOSSIBLE_SUPPR_MOTIF", GTT_SUPPR_IMPOSSIBLE." : "."Motif d'absence utilisé");
define ( "GTT_IMPOSSIBLE_SUPPR_STATUT",GTT_SUPPR_IMPOSSIBLE." : "."Statut utilisé");
define ( "GTT_ERREUR_CHANGEMENT_CONGES", "Impossible de changer le type de congé pour la date du : ");
define ( 'GTT_ERREUR_NOM', 'Vous devez rentrer un nom valide');
define ( 'GTT_ERREUR_PRENOM', 'Vous devez rentrer un prénom valide ');
define ( 'GTT_ERREUR_NOMBRE','Vous devez rentrer un nombre valide');
define ( 'GTT_ERREUR_VALEUR_NOMBRE', 'Valeur incorrecte ');
define ( 'GTT_ERREUR_TEL', 'Vous devez rentrer un numéro valide');
define ( 'GTT_ERREUR_MAIL', 'Vous devez rentrer un email valide ');
define ( 'GTT_ERREUR_PASSWD', 'Vous devez rentrer un mot de passe');
define ( 'GTT_DONNEES_INCORRECTES', 'Erreur : champs non conformes ');
define ( 'GTT_DONNEES_A_CORRIGER', 'Veuillez corriger les champs nécessaires');
define ( 'GTT_SUPPR_IMPOSSIBLE','Supression Interdite');
define ( 'GTT_IMPOSSIBLE_SUPPR_CAT',GTT_SUPPR_IMPOSSIBLE.' : '.'Supprimez d\'abord la liste des projets inclus');
define ( 'GTT_IMPOSSIBLE_SUPPR_PROJ',GTT_SUPPR_IMPOSSIBLE.' : '.'Supprimez d\'abord la liste de taches');
define ( 'GTT_IMPOSSIBLE_SUPPR_MOTIF', GTT_SUPPR_IMPOSSIBLE.' : '.'Motif d\'absence utilisé');
define ( 'GTT_IMPOSSIBLE_SUPPR_STATUT',GTT_SUPPR_IMPOSSIBLE.' : '.'Statut utilisé');
define ( 'GTT_ERREUR_CHANGEMENT_CONGES', 'Impossible de changer le type de congé pour la date du : ');
// +----------------------------------------------------------------------------+
 
// +----------------------------------------------------------------------------+
// Mise en forme formulaire
 
define ( 'GTT_CHAMPS_OBLIGATOIRE', "champs obligatoires");
define ( 'GTT_CHAMPS_OBLIGATOIRE', 'champs obligatoires');
 
 
define ( "GESTION_GESTIONDEPOSTE_L", "Gestion de Poste" );
define ( "GESTION_DATE_L", "Date" );
define ( "GESTION_BIENVENU_L", "Bienvenu" );
define ( 'GESTION_GESTIONDEPOSTE_L', 'Gestion de Poste' );
define ( 'GESTION_DATE_L', 'Date' );
define ( 'GESTION_BIENVENU_L', 'Bienvenu' );
 
define ( "GESTION_DUREE_L", "Durée" );
define ( "GESTION_FAIT_TRAVAIL_L", ", vous avez entré comme donnée pour le" );
define ( "GESTION_PROJET_L", "Projet" );
define ( "GESTION_PROJETS_L", "Projets" );
define ( "GESTION_UTILISATEUR_L" , "Utilisateur" );
define ( "GESTION_STATUT_L" , "Statut" );
define ( "GESTION_CATEGORIE_L" , "Categorie" );
define ( "GESTION_MOTIF_L" , "Motif Absence" );
define ( "GESTION_FRAIS_L", "Frais" );
define ( "GESTION_TACHES_L","Tâches");
define ( "GESTION_RECOMMENCER_L", "Recommencer" );
define ( "GESTION_ACCEPTER_L", "Accepter");
define ( 'GESTION_DUREE_L', 'Durée' );
define ( 'GESTION_FAIT_TRAVAIL_L', ', vous avez entré comme donnée pour le' );
define ( 'GESTION_PROJET_L', 'Projet' );
define ( 'GESTION_PROJETS_L', 'Projets' );
define ( 'GESTION_UTILISATEUR_L' , 'Utilisateur' );
define ( 'GESTION_STATUT_L' , 'Statut' );
define ( 'GESTION_CATEGORIE_L' , 'Categorie' );
define ( 'GESTION_MOTIF_L' , 'Motif Absence' );
define ( 'GESTION_FRAIS_L', 'Frais' );
define ( 'GESTION_TACHES_L','Tâches');
define ( 'GESTION_RECOMMENCER_L', 'Recommencer' );
define ( 'GESTION_ACCEPTER_L', 'Accepter');
 
 
define ( "GESTION_ERREUR_L", "ERREUR DE SAISI" );
define ( "GESTION_ERREUR2_L" , "ERREUR DANS LE CHOIX DES JOURS. UNE DES DATES CHOISIT N'EXISTE PAS!" );
define ( "GESTION_ABSCENCE_L", "Entrez votre période d'absence et son motif &nbsp :" );
//define ( "GESTION_MOTIF_L", "motif :");
define ( "GESTION_DU_L", "Du" );
define ( "GESTION_AU_L", "au" );
define ( "GESTION_RETOUR_L", "Retour" );
define ( "GESTION_AUJOURDHUI_L", "Aujourd'hui" );
define ( "GESTION_MOISDU_L", "Mois du" );
define ( "GESTION_DIM_L", "Dim" );
define ( "GESTION_LUN_L", "Lun" );
define ( "GESTION_MAR_L", "Mar" );
define ( "GESTION_MER_L", "Mer" );
define ( "GESTION_JEU_L", "Jeu" );
define ( "GESTION_VEN_L", "Ven" );
define ( "GESTION_SAM_L", "Sam" );
define ( 'GESTION_ERREUR_L', 'ERREUR DE SAISI' );
define ( 'GESTION_ERREUR2_L' , 'ERREUR DANS LE CHOIX DES JOURS. UNE DES DATES CHOISIT N\'EXISTE PAS!' );
define ( 'GESTION_ABSCENCE_L', 'Entrez votre période d\'absence et son motif &nbsp :' );
//define ( 'GESTION_MOTIF_L', 'motif :');
define ( 'GESTION_DU_L', 'Du' );
define ( 'GESTION_AU_L', 'au' );
define ( 'GESTION_RETOUR_L', 'Retour' );
define ( 'GESTION_AUJOURDHUI_L', 'Aujourd\'hui' );
define ( 'GESTION_MOISDU_L', 'Mois du' );
define ( 'GESTION_DIM_L', 'Dim' );
define ( 'GESTION_LUN_L', 'Lun' );
define ( 'GESTION_MAR_L', 'Mar' );
define ( 'GESTION_MER_L', 'Mer' );
define ( 'GESTION_JEU_L', 'Jeu' );
define ( 'GESTION_VEN_L', 'Ven' );
define ( 'GESTION_SAM_L', 'Sam' );
 
define ( "GESTION_JOUR_L", "Jour" );
define ( "GESTION_MOIS_L", "Mois" );
define ( "GESTION_ANNEE_L", "Annee" );
define ( "GESTION_RECAPITULATIF_TEXTE_L", ", voici les données concernant le temps passé par projet pour la date indiqué.
\n<br />Date : " );
define ( 'GESTION_JOUR_L', 'Jour' );
define ( 'GESTION_MOIS_L', 'Mois' );
define ( 'GESTION_ANNEE_L', 'Annee' );
define ( 'GESTION_RECAPITULATIF_TEXTE_L', ', voici les données concernant le temps passé par projet pour la date indiqué. '."\n".'<br />Date : ' );
 
 
define ( "GESTION_GRAPH_MOIS_L" , "Temps par projet pour le mois du " );
define ( "GESTION_GRAPH_JOUR_L" , "Temps par projet pour le " );
define ( "GESTION_GRAPH_ANNEE_L" , "Temps par projet pour l'annee " );
define ( "GESTION_FEUILLEMOIS_TEXTE_L" , "Feuille recapitulative pour le mois du " );
define ( 'GESTION_GRAPH_MOIS_L' , 'Temps par projet pour le mois du ' );
define ( 'GESTION_GRAPH_JOUR_L' , 'Temps par projet pour le ' );
define ( 'GESTION_GRAPH_ANNEE_L' , 'Temps par projet pour l\'annee ' );
define ( 'GESTION_FEUILLEMOIS_TEXTE_L' , 'Feuille recapitulative pour le mois du ' );
 
define ( "GESTION_ACTIVITE_L" , "Activité" );
define ( "GESTION_NOM_L" , "Nom" );
define ( "GESTION_LIBELLE_L", "Libelle");
define ( "GESTION_PRENOM_L" , "Prenom" );
define ( 'GESTION_ACTIVITE_L' , 'Activité' );
define ( 'GESTION_NOM_L' , 'Nom' );
define ( 'GESTION_LIBELLE_L', 'Libelle');
define ( 'GESTION_PRENOM_L' , 'Prenom' );
 
define ( "GESTION_ERREUR_PASSWORD_L" , "ERREUR : vous n'avez pas entré deux fois le même mot de passe" );
define ( "GESTION_CONGES_INIT_L" , "Congés payés initiaux" );
define ( "GESTION_HEURESINIT_L" , "Heures supplémentaires initiales" );
define ( 'GESTION_ERREUR_PASSWORD_L' , 'ERREUR : vous n\'avez pas entré deux fois le même mot de passe' );
define ( 'GESTION_CONGES_INIT_L' , 'Congés payés initiaux' );
define ( 'GESTION_HEURESINIT_L' , 'Heures supplémentaires initiales' );
 
 
 
define ( "GESTION_ADMIN_UTILISATEUR_L" , "Administration des utilisateurs" );
define ( "GESTION_ADMIN_STATUT_L" , "Administration des statuts" );
define ( "GESTION_ADMIN_PROJET_L" , "Administration des projets" );
define ( "GESTION_ADMIN_CATEGORIE_L" , "Administration des catégorie" );
define ( "GESTION_ADMIN_MOTIF_L" , "Administration des motifs d'absence" );
define ( "GESTION_SUPPRIMER_STATUT_L" , "Supprimer un statut" );
define ( "GESTION_SUPPRIMER_UTILISATEUR_L" , "Supprimer un utilisateur" );
define ( "GESTION_AJOUTER_UTILISATEUR_L" , "Ajouter un utilisateur" );
define ( "GESTION_EDITER_UTILISATEUR_L", "Editer Utilisateur");
define ( "GESTION_MODIFIER_UTILISATEUR_L", "Modifier données utilisateur ");
define ( "GESTION_AJOUTER_STATUT_L" , "Ajouter un statut" );
define ( "GESTION_SUPPRIMER_PROJET_L" , "Supprimer un projet" );
define ( "GESTION_AJOUTER_PROJET_L" , "Ajouter un projet" );
define ( "GESTION_DESCRIPTION_L" , "Description" );
define ( "GESTION_DATE_DEB_PROJET_L", "Date de début prévue");
define ( "GESTION_DUREE_PROJET_L", "Nombre de jours prévus");
define ( "GESTION_AVANCEMENT_PROJET_L","Pourcentage d'avancement");
define ( "GESTION_SUPPRIMER_CATEGORIE_L" , "Supprimer une catégorie" );
define ( "GESTION_AJOUTER_CATEGORIE_L" , "Ajouter une catégorie" );
define ( "GESTION_SUPPRIMER_CONDITION_L" , "Supprimer un motif d'absence" );
define ( "GESTION_AJOUTER_CONDITION_L" , "Ajouter un motif d'absence" );
define ( "GESTION_QUESTION_RTT_L" , "Ce motif d'absence supprime des heures de travail?" );
define ( "GESTION_EDITER_PREFERENCES_L","Editer Preferences");
define ( "GESTION_MES_PROJETS_L","Mes Projets");
define ( "GESTION_HEURES_RESTANTES_L" , "Heures restantes" );
define ( "GESTION_CONSEILS_PREFERENCES", "Cochez/Decochez les projets que vous souhaitez appara&icirc;tre/enlever de votre liste de projets");
define ( 'GESTION_ADMIN_UTILISATEUR_L' , 'Administration des utilisateurs' );
define ( 'GESTION_ADMIN_STATUT_L' , 'Administration des statuts' );
define ( 'GESTION_ADMIN_PROJET_L' , 'Administration des projets' );
define ( 'GESTION_ADMIN_CATEGORIE_L' , 'Administration des catégorie' );
define ( 'GESTION_ADMIN_MOTIF_L' , 'Administration des motifs d\'absence' );
define ( 'GESTION_SUPPRIMER_STATUT_L' , 'Supprimer un statut' );
define ( 'GESTION_SUPPRIMER_UTILISATEUR_L' , 'Supprimer un utilisateur' );
define ( 'GESTION_AJOUTER_UTILISATEUR_L' , 'Ajouter un utilisateur' );
define ( 'GESTION_EDITER_UTILISATEUR_L', 'Editer Utilisateur');
define ( 'GESTION_MODIFIER_UTILISATEUR_L', 'Modifier données utilisateur ');
define ( 'GESTION_AJOUTER_STATUT_L' , 'Ajouter un statut' );
define ( 'GESTION_SUPPRIMER_PROJET_L' , 'Supprimer un projet' );
define ( 'GESTION_AJOUTER_PROJET_L' , 'Ajouter un projet' );
define ( 'GESTION_DESCRIPTION_L' , 'Description' );
define ( 'GESTION_DATE_DEB_PROJET_L', 'Date de début prévue');
define ( 'GESTION_DUREE_PROJET_L', 'Nombre de jours prévus');
define ( 'GESTION_AVANCEMENT_PROJET_L','Pourcentage d\'avancement');
define ( 'GESTION_SUPPRIMER_CATEGORIE_L' , 'Supprimer une catégorie' );
define ( 'GESTION_AJOUTER_CATEGORIE_L' , 'Ajouter une catégorie' );
define ( 'GESTION_SUPPRIMER_CONDITION_L' , 'Supprimer un motif d\'absence' );
define ( 'GESTION_AJOUTER_CONDITION_L' , 'Ajouter un motif d\'absence' );
define ( 'GESTION_QUESTION_RTT_L' , 'Ce motif d\'absence supprime des heures de travail?' );
define ( 'GESTION_EDITER_PREFERENCES_L','Editer Preferences');
define ( 'GESTION_MES_PROJETS_L','Mes Projets');
define ( 'GESTION_HEURES_RESTANTES_L' , 'Heures restantes' );
define ( 'GESTION_CONSEILS_PREFERENCES', 'Cochez/Decochez les projets que vous souhaitez appara&icirc;tre/enlever de votre liste de projets');
 
 
 
define ( "GESTION_HEURES_TRAVAIL_L" , " heures de travail" );
define ( "GESTION_HEURE_TRAVAIL_L" , " heure de travail" );
define ( "GESTION_MOISPRECEDENT_L" , "Mois précédent" );
define ( "GESTION_MOISSUIVANT_L" , "Mois suivant" );
define ( "GESTION_LEGENDE_L" , "Legende des graphiques" );
define ( "GESTION_SEMAINE_DU", " Semaine du ");
define ( "A ", " :&agrave;");
define ( 'GESTION_HEURES_TRAVAIL_L' , ' heures de travail' );
define ( 'GESTION_HEURE_TRAVAIL_L' , ' heure de travail' );
define ( 'GESTION_MOISPRECEDENT_L' , 'Mois précédent' );
define ( 'GESTION_MOISSUIVANT_L' , 'Mois suivant' );
define ( 'GESTION_LEGENDE_L' , 'Legende des graphiques' );
define ( 'GESTION_SEMAINE_DU', ' Semaine du ');
define ( 'A ', ' :&agrave;');
 
 
 
256,45 → 255,45
 
 
 
define ( "GESTION_TRAVAIL_L" , "Travail" );
define ( "GESTION_NON_REMPLI_L" , "Jour non rempli" );
define ( "GESTION_RTTJOUR_L" , " jour" );
define ( "GESTION_RTTJOURS_L" , " jours" );
define ( "GESTION_DESTINATAIRE_L" , "<table><tr><td valign=top>Dest.</td><td><div align=left>Daniel MATHIEU, Président\n<br />
Tela Botanica\n<br />Institut de Botanique\n<br />163, rue Auguste Broussonnet\n<br />34090 Montpellier</div></td></tr></table>");
define ( "GESTION_EXP_L" , "Exp." );
define ( "GESTION_FICHE_ABSCENCE_L" , "Fiche d'Absence" );
define ( "GESTION_TEXTE_ABS1_L" , "Monsieur le Président," );
define ( "GESTION_TEXTE_ABS2_L" , "Je vous informe par la présente lettre de mon abscence du " );
define ( "GESTION_TEXTE_ABS3_L" , " (inclus) au " );
define ( "GESTION_TEXTE_ABS4_L" , " (inclus), soit " );
define ( "GESTION_TEXTE_ABS5_L" , " jours" );
define ( "GESTION_TEXTE_ABS6_L" , " pris pour cause de " );
define ( "GESTION_TEXTE_ABS_CP_L" , " pris sur mes congés payés." );
define ( "GESTION_TEXTE_ABS_JR_L" , " pris sur mes jours à récupérer" );
define ( "GESTION_TEXTE_FAIT_L" , "Fait à Montpellier le" );
define ( "GESTION_VISA_L" , "Visa Tela Botanica\n <br> &nbsp \n <br> &nbsp \n <br> &nbsp \n <br> &nbsp \n <br> &nbsp \n" );
define ( "GESTION_LUNDI_L" , "lundi" );
define ( "GESTION_MARDI_L" , "mardi" );
define ( "GESTION_MERCREDI_L" , "mercredi" );
define ( "GESTION_JEUDI_L" , "jeudi" );
define ( "GESTION_VENDREDI_L" , "vendredi" );
define ( "GESTION_SAMEDI_L" , "samedi" );
define ( "GESTION_DIMANCHE_L" , "dimanche" );
define ( 'GESTION_TRAVAIL_L' , 'Travail' );
define ( 'GESTION_NON_REMPLI_L' , 'Jour non rempli' );
define ( 'GESTION_RTTJOUR_L' , ' jour' );
define ( 'GESTION_RTTJOURS_L' , ' jours' );
define ( 'GESTION_DESTINATAIRE_L' , '<table><tr><td valign=top>Dest.</td><td><div align=left>Daniel MATHIEU, Président\n<br />
Tela Botanica\n<br />Institut de Botanique\n<br />163, rue Auguste Broussonnet\n<br />34090 Montpellier</div></td></tr></table>');
define ( 'GESTION_EXP_L' , 'Exp.' );
define ( 'GESTION_FICHE_ABSCENCE_L' , 'Fiche d\'Absence' );
define ( 'GESTION_TEXTE_ABS1_L' , 'Monsieur le Président,' );
define ( 'GESTION_TEXTE_ABS2_L' , 'Je vous informe par la présente lettre de mon abscence du ' );
define ( 'GESTION_TEXTE_ABS3_L' , ' (inclus) au ' );
define ( 'GESTION_TEXTE_ABS4_L' , ' (inclus), soit ' );
define ( 'GESTION_TEXTE_ABS5_L' , ' jours' );
define ( 'GESTION_TEXTE_ABS6_L' , ' pris pour cause de ' );
define ( 'GESTION_TEXTE_ABS_CP_L' , ' pris sur mes congés payés.' );
define ( 'GESTION_TEXTE_ABS_JR_L' , ' pris sur mes jours à récupérer' );
define ( 'GESTION_TEXTE_FAIT_L' , 'Fait à Montpellier le' );
define ( 'GESTION_VISA_L' , 'Visa Tela Botanica\n <br> &nbsp \n <br> &nbsp \n <br> &nbsp \n <br> &nbsp \n <br> &nbsp \n' );
define ( 'GESTION_LUNDI_L' , 'lundi' );
define ( 'GESTION_MARDI_L' , 'mardi' );
define ( 'GESTION_MERCREDI_L' , 'mercredi' );
define ( 'GESTION_JEUDI_L' , 'jeudi' );
define ( 'GESTION_VENDREDI_L' , 'vendredi' );
define ( 'GESTION_SAMEDI_L' , 'samedi' );
define ( 'GESTION_DIMANCHE_L' , 'dimanche' );
 
 
define ( "GESTION_TOTAL_HEURE_L" , "Total d'heures de travail sur l'année" );
define ( 'GESTION_TOTAL_HEURE_L' , 'Total d\'heures de travail sur l\'année' );
 
//nom de la taceh par defaut
define ("GESTION_NOM_TACHE_DEFAUT_L","g&eacute;n&eacute;ral");
define ("GTT_NOM_WEEK_END","week-end");
define ("GTT_NOM_TRAVAIL","travail");
define ("GTT_NOM_RECUP_PART","Récup part:1/2j");
define ("GTT_NOM_CONGES_PAYES","Congés Payés");
define ("GTT_NOM_RECUPERATION","Récupération");
define ("GTT_NOM_MALADIE","Maladie");
define ("GTT_NOM_GREVE","Grêve");
define ("GTT_NOM_FERIE","Ferié");
define ('GESTION_NOM_TACHE_DEFAUT_L','g&eacute;n&eacute;ral');
define ('GTT_NOM_WEEK_END','week-end');
define ('GTT_NOM_TRAVAIL','travail');
define ('GTT_NOM_RECUP_PART','Récup part:1/2j');
define ('GTT_NOM_CONGES_PAYES','Congés Payés');
define ('GTT_NOM_RECUPERATION','Récupération');
define ('GTT_NOM_MALADIE','Maladie');
define ('GTT_NOM_GREVE','Grêve');
define ('GTT_NOM_FERIE','Ferié');
 
// +----------------------------------------------------------------------------+
/*
/trunk/gtt_calendrier.class.php
24,9 → 24,9
// |@author ABDOOL RAHEEM shaheen <shaheenar50@hotmail.com> |
// |@version 3 |
 
include_once("HTML/Table.php");
include_once 'gtt_config.inc.php';
include_once CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
require_once 'HTML/Table.php';
require_once 'gtt_config.inc.php';
require_once CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
 
/**
*classe calendrier pour gerer le calendrier pour un mois et une annee
40,84 → 40,76
*@param liste de noms des mois
*@param liste des jours feries du mois
*/
class Calendrier {
var $annee=null;
var $mois=null;
var $jour=null;
var $semaine=null;
var $url =null;
var $nom_jours=array();
var $nom_mois=array();
var $liste_feries=array();
/** contient le nom des variables que recevra l'url spécifié
* @var string
*/
var $var_jour = "jour";
var $var_mois = "mois";
var $var_annee = "annee";
 
/**
*Constructeur de la classe calendrier
*toutes les variables sont initialises avec les donnees
*de la date du jour si on ne passe aucune date en parametre
*sinon on initialise le calendrier avec
*@param semaine
*@param annee
*/
function Calendrier($url,$semaine,$annee)
{
$tableau=&Calendrier::LundiEtDimancheSemaine($semaine,$annee);
$this->semaine=$semaine;
$this->mois=date('m',mktime(0,0,0,1,$tableau[0],$annee));
$this->jour=date('d',mktime(0,0,0,1,$tableau[0],$annee));
$this->annee=date('Y',mktime(0,0,0,1,$tableau[0],$annee));
//$this->annee=$annee;
$this->url=$url;
$this->nom_jours=array (GESTION_LUN_L, GESTION_MAR_L, GESTION_MER_L, GESTION_JEU_L, GESTION_VEN_L, GESTION_SAM_L ,GESTION_DIM_L);
$this->nom_mois=array(1 => "Janvier","F&eacute;vrier","Mars","Avril","Mai","Juin","Juillet",
"Ao&ucirc;t","Septembre","Octobre","Novembre","D&eacute;cembre");
$this->liste_feries =&Calendrier::calculJoursFeries($this->annee);
echo date('M',mktime(0,0,0,1,$tableau[0],$annee));
echo " $this->annee";
}
 
class Calendrier
{
/**
*Méthode calculant les dates des jours feries en france
*renvoie un tableau contenant la liste de dates par mois
*les dates sont de la forme timestamp unix
*
*@param $annee
*@return tableaude dates
*/
function calculJoursFeries($annee)
{
$paques=&Calendrier::paques($annee);
$ascension=&Calendrier::ascension($annee);
$pentecote=&Calendrier::pentecote($annee);
$tab=array( mktime(0,0,0,1,1,$annee),
$paques,
mktime(0,0,0,5,1,$annee),
mktime(0,0,0,5,8,$annee),
$ascension,
$pentecote,
mktime(0,0,0,7,14,$annee),
mktime(0,0,0,8,15,$annee),
mktime(0,0,0,11,1,$annee),
mktime(0,0,0,11,11,$annee),
mktime(0,0,0,12,25,$annee));
return $tab;
}
 
var $annee=null;
var $mois=null;
var $jour=null;
var $semaine=null;
var $url =null;
var $nom_jours=array();
var $nom_mois=array();
var $liste_feries=array();
/** contient le nom des variables que recevra l'url spécifié
* @var string
*/
var $var_jour = "jour";
var $var_mois = "mois";
var $var_annee = "annee";
 
/**
*constructeur de la classe calendrier
*toutes les variables sont initialises avec les donnees
*de la date du jour si on ne passe aucune date en parametre
*sinon on initialise le calendrier avec
*@param semaine
*@param annee
*/
function Calendrier($url,$semaine,$annee)
{
$tableau=&Calendrier::LundiEtDimancheSemaine($semaine,$annee);
$this->semaine=$semaine;
$this->mois=date('m',mktime(0,0,0,1,$tableau[0],$annee));
$this->jour=date('d',mktime(0,0,0,1,$tableau[0],$annee));
$this->annee=date('Y',mktime(0,0,0,1,$tableau[0],$annee));
//$this->annee=$annee;
$this->url=$url;
$this->nom_jours=array (GESTION_LUN_L, GESTION_MAR_L, GESTION_MER_L, GESTION_JEU_L, GESTION_VEN_L, GESTION_SAM_L ,GESTION_DIM_L);
$this->nom_mois=array(1 => "Janvier","F&eacute;vrier","Mars","Avril","Mai","Juin","Juillet",
"Ao&ucirc;t","Septembre","Octobre","Novembre","D&eacute;cembre");
$this->liste_feries =&Calendrier::calculJoursFeries($this->annee);
echo date('M',mktime(0,0,0,1,$tableau[0],$annee));
echo " $this->annee";
}
 
/**
*fonction calculant les dates des jours feries en france
*renvoie un tableau contenant la liste de dates par mois
*les dates sont de la forme timestamp unix
*
*@param $annee
*@return tableaude dates
*/
 
function calculJoursFeries($annee)
{
$paques=&Calendrier::paques($annee);
$ascension=&Calendrier::ascension($annee);
$pentecote=&Calendrier::pentecote($annee);
$tab=array(mktime(0,0,0,1,1,$annee),
$paques,
mktime(0,0,0,5,1,$annee),
mktime(0,0,0,5,8,$annee),
$ascension,
$pentecote,
mktime(0,0,0,7,14,$annee),
mktime(0,0,0,8,15,$annee),
mktime(0,0,0,11,1,$annee),
mktime(0,0,0,11,11,$annee),
mktime(0,0,0,12,25,$annee));
return $tab;
 
}
 
/**
*fonction calculant le premier jour du mois
*@param: annee, mois
*/
/trunk/gtt_config.inc.php
1,7 → 1,21
<?php
 
/*fichier de definition */
error_reporting(E_ALL);
 
// Définition des constantes
define ('GESTION_TRAVAIL',1);
define ('GESTION_ADMIN_UTILISATEUR', 13);
define ('GESTION_EDITER_UTILISATEUR',14);
define ('GESTION_ADMIN_PROJET',15);
define ('GESTION_ADMIN_CATEGORIE',16);
define ('GESTION_ADMIN_MOTIF_ABSENCE',17);
define ('GESTION_ADMIN_STATUT',18);
define ('GESTION_ADMIN_FRAIS',19);
define ('GESTION_ADMIN_TACHE',20);
define ('GESTION_EDITER_PREFERENCES',21);
define ('GESTION_DECONNEXION',22);
 
//==================================== CHEMINS ==================================
/* definition des chemins d'acces
//==================================================================================
16,7 → 30,6
define("CHEMIN_MENU",CHEMIN.'menu/');
define("CHEMIN_CONTROLEUR",CHEMIN.'controleur/');
 
 
/**
//==================================== CONSTANTES ==================================
/* definition des constantes de plusieurs tests et divers
23,21 → 36,20
//==================================================================================
*/
//$GLOBALS['dsn']="mysql://shaheen:shaheen@162.38.234.6/gestion_test_v3";
$GLOBALS['dsn']="mysql://shaheen:shaheen@localhost/gestion_test_v3";
$GLOBALS['urlBase']="http://test.tela-botanica.org/gestion/index.php?action=";
$GLOBALS['dsn'] = 'mysql://root:0000@localhost/gestion';
$GLOBALS['urlBase'] = 'http://localhost/gestion/index.php?action=';
//on suppose que le nombre d'heure maximum par jour de travail est 23
$GLOBALS['limiteJourTravail']=24;
$GLOBALS['limiteJourTravail'] = 24;
//on suppose que le nombre d'heure maximumde par jour de recuperation partielle est 11
$GLOBALS['limiteJourRecupPart']=12;
$GLOBALS['limiteJourRecupPart'] = 12;
/**
//==================================== CONSTANTES ==================================
/* definition des constantes de nom de table et de leurs champs
//==================================================================================
*/
 
//******************utilisateur***********************//
define ("GEST_UTILISATEUR", "gestion_utilisateur");
define ("GEST_CHAMPS_ID_UTILISATEUR","gu_id_utilisateur");
define ("GEST_CHAMPS_ID_UTILISATEUR","gp_id_utilisateur");
define("GEST_CHAMPS_NOM","gu_nom");
define("GEST_CHAMPS_PRENOM", "gu_prenom");
define("GEST_CHAMPS_PASSWORD","gu_password");
/trunk/classes_metier/gtt_preference.class.php
26,77 → 26,63
 
class Preference
{
var $_utilisateur=null;
var $_projet =null;
/**
*constructeur
*/
function Preference($u,$p)
{
$this->_utilisateur=$u;
$this->_projet=$p;
}
/**
*enregistrer une preference dans la base de donnees
*@return 1 si ok
*@return 0 si aucun enregistrement effectue
*@return -1 si erreur
*/
function enregistrerPreference()
{
$table=GEST_PREFERENCES;
$champs =array(
GEST_CHAMPS_ID_UTILISATEUR =>$this->_utilisateur,
GEST_CHAMPS_ID_PROJET =>$this->_projet);
private $table = 'gestion_preferences';
private $id_utilisateur = null;
private $id_projet = null;
/*** Constructeur */
function Preference($u, $p)
{
$this->_utilisateur = $u;
$this->_projet = $p;
}
/**
* Ajouter une préférence dans la base de données.
*@return true si ok, false si aucun enregistrement effectué
*/
function ajouter()
{
$requete = 'INSERT INTO gestion_preferences (gp_id_utilisateur, gp_id_projet) '.
'VALUES ('.$this->id_utilisateur.', '.$this->id_projet.')';
$resultat = $GLOBALS['db']->query($requete);
$resultat = $GLOBALS['db']->autoExecute($table,$champs,DB_AUTOQUERY_INSERT);
if (DB::isError($resultat)) {
die($resultat->getMessage());
}
$j=$GLOBALS['db']->affectedRows();
if ($j==1)
{
return 1;
}elseif($j==0){
return 0;
}else{
return -1;
}
}
/**
*recuperer la liste de preferences d'un utilisateur
*@param identifiant utilisateur
*/
function recupererTableauPreferences()
{
$table=array();
$requete="SELECT P.".GEST_CHAMPS_ID_PROJET.", P.".GEST_CHAMPS_NOM_PROJET." ,C.".GEST_CHAMPS_ID_CATEGORIE.",C.".GEST_CHAMPS_LIBELLE_CATEGORIE.
" FROM ".GEST_PREFERENCES." F, ".GEST_PROJET." P,".GEST_CATEGORIE." C".
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR. " = $this->_utilisateur".
" AND F.".GEST_CHAMPS_ID_PROJET." = P.".GEST_CHAMPS_ID_PROJET.
" AND P.".GEST_CHAMPS_ID_CATEGORIE." = C.".GEST_CHAMPS_ID_CATEGORIE.
" ORDER BY ".GEST_CHAMPS_LIBELLE_CATEGORIE;
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
if (DB::isError($resultat)) {
die($resultat->getMessage());
}
$nbre_enregistrement_ajoute = $GLOBALS['db']->affectedRows();
if ($nbre_enregistrement_ajoute == 1) {
return true;
} elseif ($nbre_enregistrement_ajoute == 0) {
return false;
}
}
 
/**
* Récupérer la liste de préférences d'un utilisateur.
*@param identifiant utilisateur.
*/
function recupererTableauPreferences()
{
$table = array();
$requete = "SELECT P.".GEST_CHAMPS_ID_PROJET.", P.".GEST_CHAMPS_NOM_PROJET." ,C.".GEST_CHAMPS_ID_CATEGORIE.",C.".GEST_CHAMPS_LIBELLE_CATEGORIE.
" FROM ".GEST_PREFERENCES." F, ".GEST_PROJET." P,".GEST_CATEGORIE." C".
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR. " = $this->_utilisateur".
" AND F.".GEST_CHAMPS_ID_PROJET." = P.".GEST_CHAMPS_ID_PROJET.
" AND P.".GEST_CHAMPS_ID_CATEGORIE." = C.".GEST_CHAMPS_ID_CATEGORIE.
" ORDER BY ".GEST_CHAMPS_LIBELLE_CATEGORIE;
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
while ( $ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$case = array('id_proj' => $ligne[GEST_CHAMPS_ID_PROJET], 'nom_proj' => $ligne[GEST_CHAMPS_NOM_PROJET],'id_cat' => $ligne[GEST_CHAMPS_ID_CATEGORIE], 'libelle_cat' => $ligne[GEST_CHAMPS_LIBELLE_CATEGORIE]);
array_push($table, $case);
}
return $table;
}
while($ligne=$resultat->fetchRow(DB_FETCHMODE_ASSOC))
{
$case=array('id_proj'=>$ligne[GEST_CHAMPS_ID_PROJET],'nom_proj'=>$ligne[GEST_CHAMPS_NOM_PROJET],'id_cat'=>$ligne[GEST_CHAMPS_ID_CATEGORIE],'libelle_cat'=>$ligne[GEST_CHAMPS_LIBELLE_CATEGORIE]);
array_push($table,$case);
}
return $table;
}
/**
*supprimer liste de preferences
*pour un utilisateur donne
103,54 → 89,45
*@param identifiant d'un utilisateur
*/
function supprimerPreferences($id)
{
$requete="DELETE FROM ".GEST_PREFERENCES.
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR. " =$id ";
$resultat = $GLOBALS['db']->query($requete);
$j=$GLOBALS['db']->affectedRows();
return $j;
}
/**
*fonction renvoyant vrai si un projet est dans la liste de preference d'un utilisateur
*$id : identifiant du projet a chercher
@return true : si existe
@return false si n'existe pas
*/
function isInPreferences($id)
{
$tab=$this->recupererTableauPreferences();
$res=false;
for ($r=0; $r<count($tab);$r++)
function supprimerPreferences($id)
{
$t=$tab[$r];
if ($t['id_proj']==$id)
{
$res=true;
}
}
return $res;
}
/**
*afficher preferences
*/
function afficherPreference()
{
echo "<br /> preferences <br />";
$u= array($this->_utilisateur,$this->_projet);
foreach ($u as $p)
{
echo "$p , ";
}
echo "<br /> ";
}
$requete = 'DELETE FROM '.GEST_PREFERENCES.' '.
'WHERE '.GEST_CHAMPS_ID_UTILISATEUR.' = '.$id;
$resultat = $GLOBALS['db']->query($requete);
return $GLOBALS['db']->affectedRows();
}
/**
* Méthode renvoyant vrai si un projet est dans la liste de préférence d'un utilisateur.
*$id : identifiant du projet a chercher
*@return true : si existe
*@return false si n'existe pas
*/
function isInPreferences($id)
{
$tab = $this->recupererTableauPreferences();
$res = false;
for ($r = 0; $r < count($tab); $r++) {
$t = $tab[$r];
if ($t['id_proj'] == $id) {
$res = true;
}
}
return $res;
}
/**
* Afficher préférences
*/
function afficherPreference()
{
echo "<br /> preferences <br />";
$u= array($this->_utilisateur,$this->_projet);
foreach ($u as $p) {
echo "$p , ";
}
echo "<br /> ";
}
}
?>
/trunk/menu/gtt_menu_editer_preferences.php
33,79 → 33,71
// +------------------------------------------------------------------------------------------------------+
// | INCLUSION DE FICHIERS |
// +------------------------------------------------------------------------------------------------------+
//inclusion des paquets de la librairie pear
// Inclusion des paquets de la librairie pear
include_once 'HTML/QuickForm.php';
//fichier langues
// Fichier langues
include_once CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
//classes metier
// Classes metier
include_once CHEMIN_CLASSES_METIER.'gtt_projet.class.php';
include_once CHEMIN_CLASSES_METIER.'gtt_preference.class.php';
include_once CHEMIN_CLASSES_METIER.'gtt_utilisateur.class.php';
 
 
/**
*fonction affichant le menu editer preferences
*/
function afficherMenuEditerPref($user) {
$id = 'MANIPULER_PREFERENCES';
$size = 100;
$assoc1 = array('class' => $id);
$form = new HTML_QuickForm('gestion_admin_pref', 'post', $GLOBALS['urlBase'].GESTION_EDITER_PREFERENCES, '', $assoc1);
// Entete du formulaire
$form->addElement('header', 'entete', GESTION_EDITER_PREFERENCES_L);
//Creation des Messages d'erreur
$form->setRequiredNote('='.GTT_CHAMPS_OBLIGATOIRE);
$form->setJsWarnings(GTT_DONNEES_INCORRECTES, GTT_DONNEES_A_CORRIGER);
$TabProjet =& Projet::recupererTableauProjet();
$pref = new Preference($user, 5000);
$tabPref = $pref->recupererTableauPreferences();
// Conseils
$z =& $form->addElement('html','<tr><td>'.GESTION_CONSEILS_PREFERENCES.'</tr></td>');
// Nombre de projets
$z =& $form->addElement('hidden', 'champ_nb_total_proj', count($TabProjet));
$cat = '';
 
function afficherMenuEditerPref($user)
{
$id="MANIPULER_PREFERENCES";
$size=100;
$assoc1 =array('class'=>$id);
$form=new HTML_QuickForm('gestion_admin_pref', 'post',$GLOBALS['urlBase'].GESTION_EDITER_PREFERENCES,'', $assoc1);
//entete du formulaire
$form->addElement('header', 'entete', GESTION_EDITER_PREFERENCES_L);
//creation des Messages d'erreur
$form->setRequiredNote('='.GTT_CHAMPS_OBLIGATOIRE);
$form->setJsWarnings(GTT_DONNEES_INCORRECTES, GTT_DONNEES_A_CORRIGER);
$TabProjet=&Projet::recupererTableauProjet();
$pref=new Preference($user,5000);
$tabPref=$pref->recupererTableauPreferences();
//conseils
$z=& $form->addElement('html','<tr><td>'.GESTION_CONSEILS_PREFERENCES.'</tr></td>');
//nombre de projets
$z=&$form->addElement('hidden','champ_nb_total_proj',count($TabProjet));
$cat='';
//parcourt du tableau de projets
for($y=0;$y<count($TabProjet);$y++)
{
$tab=$TabProjet[$y];
//ligne categorie
if ($cat!=$tab[GEST_CHAMPS_LIBELLE_CATEGORIE])
{
$size1=25;
$id1="nom_categorie";
$assoc1=array('class' =>$id1, 'size'=>$size1);
$ligneNomCateg=&HTML_QuickForm::createElement('html', '<tr><td>'.$tab[GEST_CHAMPS_LIBELLE_CATEGORIE].' : '.'</td></tr>');
$form->addElement($ligneNomCateg);
$cat =$tab[GEST_CHAMPS_LIBELLE_CATEGORIE];
}
//champ cache
$z=&$form->addElement('hidden','champ_id_pr'.$y,$tab[GEST_CHAMPS_ID_PROJET]);
$ligne[0]=&HTML_QuickForm::createElement('checkbox','champ_check'.$y);
$estDansPref=$pref->isInPreferences($tab[GEST_CHAMPS_ID_PROJET]);
$ligne[0]->setChecked($estDansPref);
$form->addGroup($ligne,'groupe',$tab[GEST_CHAMPS_NOM_PROJET].'&nbsp&nbsp&nbsp','&nbsp&nbsp&nbsp',false);
}
//champ_valider
$size4=5;
$id4='btn_editer_pref';
$assoc4=array('class' =>$id4, 'size'=>$size4);
$btnValiderEditer= &HTML_QuickForm::createElement('submit', 'btn_valider_editer',GTT_L_G_VALIDER,$assoc4);
$form->addElement($btnValiderEditer);
return $form;
// Parcourt du tableau de projets
for($y = 0; $y < count($TabProjet); $y++) {
$tab = $TabProjet[$y];
// Ligne categorie
if ($cat != $tab[GEST_CHAMPS_LIBELLE_CATEGORIE]) {
$size1 = 25;
$id1 = 'nom_categorie';
$assoc1 = array('class' =>$id1, 'size'=>$size1);
$ligneNomCateg =& HTML_QuickForm::createElement('html', '<tr><td>'.$tab[GEST_CHAMPS_LIBELLE_CATEGORIE].' : '.'</td></tr>');
$form->addElement($ligneNomCateg);
$cat = $tab[GEST_CHAMPS_LIBELLE_CATEGORIE];
}
// Champ cache
$z =& $form->addElement('hidden','champ_id_pr'.$y,$tab[GEST_CHAMPS_ID_PROJET]);
$ligne[0] =& HTML_QuickForm::createElement('checkbox','champ_check'.$y);
$estDansPref = $pref->isInPreferences($tab[GEST_CHAMPS_ID_PROJET]);
$ligne[0]->setChecked($estDansPref);
$form->addGroup($ligne,'groupe', $tab[GEST_CHAMPS_NOM_PROJET].'&nbsp&nbsp&nbsp','&nbsp&nbsp&nbsp', false);
}
// Champ_valider
$size4 = 5;
$id4 = 'btn_editer_pref';
$assoc4 = array('class' => $id4, 'size'=> $size4);
$btnValiderEditer =& HTML_QuickForm::createElement('submit', 'btn_valider_editer', GTT_L_G_VALIDER, $assoc4);
$form->addElement($btnValiderEditer);
return $form;
}
?>
?>
/trunk/menu/gtt_menu_travail.php
68,8 → 68,7
$form->setJsWarnings(GTT_DONNEES_INCORRECTES, GTT_DONNEES_A_CORRIGER);
//affichage du nom, conges et heure supp de la personn
$user=&Utilisateur::recupererUtilisateur($utilisateur);
if($user!=-1)
{
if(is_object($user)) {
$z=$form->addElement('html','<tr><td>'.GTT_L_TR_BIENVENUE."\t".$user->getPrenom()."\t".
$user->getNom().'</td></tr>');
$z=$form->addElement('html','<tr><td>'.'</td></tr>');