Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 1 → Rev 2

/trunk/controleur/gtt_controleur_admin_utilisateur.php
New file
0,0 → 1,268
<?php
 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// |@author ABDOOL RAHEEM shaheen shaheenar50@hotmail.com |
// |@version 3 |
 
// +------------------------------------------------------------------------------------------------------+
/*
*fichier contenant le menu principal de l'application de gestion du temps de travail
*@package gtt_general
//Auteur original :
*@author Dorian Bannier <dbannier@aol.com>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Copyright (C) 2003 Tela-Botanica
*/
// +------------------------------------------------------------------------------------------------------+
include_once CHEMIN_FN_GENERIQUE_AFFICHAGE;
include_once CHEMIN_MENU.'gtt_menu_admin_utilisateur.php';
include_once CHEMIN_CLASSES_METIER.'gtt_utilisateur.class.php';
/**
*creation de regles de validation relatives aux valeurs saisies
*/
 
function verifValeurTemps()
{
if (($_POST["champ_temps_travail"]<12)and ($_POST["champ_temps_travail"]>=0))
{
return true;
}
}
 
/**
*traitement des donnees recuperees par l'utilisateur
*
*/
 
function traiterDonneeAdminAjoutUser($values)
{
//test des champs administrateur
if (isset($values["champ_administrateur"]))
{
$admin=1;
}else $admin=0;
if (isset($values["champ_admin2"]))
{
$admin2=1;
}else $admin2=0;
if (!isset($values["champ_nom"]))
{
$values["champ_nom"]=$_POST['nom_utilisateur'];
}
if (isset ($_POST["champ_valider"]))
{
if ($values["champ_verif"]==0)
{
$tab=array(
GEST_CHAMPS_NOM =>$values["champ_nom"],
GEST_CHAMPS_PRENOM =>$values["champ_prenom"],
GEST_CHAMPS_PASSWORD =>$values["champ_password"],
GEST_CHAMPS_EMAIL =>$values["champ_email"],
GEST_CHAMPS_TELEPHONE =>$values["champ_telephone"],
GEST_CHAMPS_ADRESSE =>$values["champ_adresse"],
GEST_CHAMPS_CODE_POSTAL =>$values["champ_code_postal"],
GEST_CHAMPS_VILLE =>$values["champ_ville"] ,
GEST_CHAMPS_QUOTA_HEURES_SUPP => $values["champ_heure_supp_init"],
GEST_CHAMPS_CONGES_PAYES =>$values["champ_nb_conge"] ,
GEST_CHAMPS_TEMPS_DE_TRAVAIL => $values["champ_temps_travail"],
GEST_CHAMPS_ADMIN => $admin,
GEST_CHAMPS_ADMIN2 => $admin2,
GEST_CHAMPS_STATUT => $values["champ_statut"],
GEST_CHAMPS_NOTES =>null);
}else {
$tab=array(
GEST_CHAMPS_NOM =>$values["nom_utilisateur"],
GEST_CHAMPS_PRENOM =>$values["prenom_utilisateur"],
GEST_CHAMPS_PASSWORD =>$values["champ_password"],
GEST_CHAMPS_EMAIL =>$values["champ_email"],
GEST_CHAMPS_TELEPHONE =>$values["champ_telephone"],
GEST_CHAMPS_ADRESSE =>$values["champ_adresse"],
GEST_CHAMPS_CODE_POSTAL =>$values["champ_code_postal"],
GEST_CHAMPS_VILLE =>$values["champ_ville"] ,
GEST_CHAMPS_QUOTA_HEURES_SUPP => $values["heure_supp_utilisateur"],
GEST_CHAMPS_CONGES_PAYES =>$values["conges_utilisateur"] ,
GEST_CHAMPS_TEMPS_DE_TRAVAIL => $values["champ_temps_travail"],
GEST_CHAMPS_ADMIN => $admin,
GEST_CHAMPS_ADMIN2 => $admin2,
GEST_CHAMPS_STATUT => $values["champ_statut"],
GEST_CHAMPS_NOTES =>null);
}
//verification si mode insertion ou modification
if ($values["champ_verif"]!=1)
{
$id=&Utilisateur::nextId();
$l=new Utilisateur($id);
$l->construireUtilisateur($tab);
$res=$l->enregistrerNewUtilisateur();
}
else
{
$i=&Utilisateur::recupIDUtilisateurMail($values["champ_email"]);
$user= new Utilisateur($i);
$user->construireUtilisateur($tab);
$user->MettreAJourUtilisateur();
if (isset($_POST["champ_password"])and isset($_POST["champ_confirm_password"]))
{
$user->mettreAJourPassword($_POST["champ_password"]);
}
}
}
$_POST["champ_valider"]='dejaValider';
}
/*fonction traitant la supression d'utilisateur
*a verifier les valeurs d'erreur
*/
 
function traiterAdminEditerUser($values)
{
//cas supression
if (isset($_POST["btn_supprimer"]))
{
$rang =$values['champ_utilisateur_supprimer'];
$k = &Utilisateur::supprimerUtilisateur($rang);
}
$_POST["btn_supprimer"]='dejaValider';
//$_POST["champ_utilisateur_supprimer"]='';
}
 
/**
*fonction renvoyant un tableau avec les donnees
*de l'utilisateur a modifier
*@return tab
*/
function renvoyerDonneesUser()
{
if (isset($_POST["btn_modifier"])and isset($_POST["champ_utilisateur_supprimer"]))
{
$ident= $_POST["champ_utilisateur_supprimer"];
$u= &Utilisateur::recupererUtilisateur($ident);
//champ admin
if ($u->isAdmin()==1)
{
$ad1=true;
}else $ad1=false;
if ($u->isAdmin2()==1)
{
$ad2=true;
}else $ad2=false;
$defaults=array ('champ_nom' =>$u->getNom(),
'champ_prenom'=>$u->getPrenom(),
'champ_adresse' =>$u->getAdresse(),
'champ_ville' =>$u->getVille(),
'champ_code_postal' =>$u->getCode(),
'champ_telephone' =>$u->getTelephone(),
'champ_email' =>$u->getEmail(),
//champ_password =>$u->getPassword(),
'champ_statut' =>$u->getStatut(),
'champ_administrateur' =>$ad1,
'champ_admin2' => $ad2,
'champ_nb_conge' =>$u->getConges( ),
'champ_temps_travail' =>$u->getTempsTravail(),
'champ_heure_supp_init' =>$u->getQuota( ));
return $defaults;
 
}
}
 
/**
*fonction traitant toutes les fonctions liees a l'administration d'un utilisateur
*/
 
function traiterAdminUtilisateur($tab,$mode)
{
$text=creerEntetePage(GESTION_ADMIN_UTILISATEUR_L);
//cas de l'ajout d'un utilisateur
$form=afficherMenuAjouterUser($tab,$mode);
if (isset($_POST["champ_valider"])and $_POST["champ_valider"]!='dejaValider')
{
if ($form->validate())
{
$form->process('traiterDonneeAdminAjoutUser');
$m=afficherMenuAjouterUser('',0);
$text.=$m->ToHtml();
}
elseif($_POST["champ_verif"]==1)
{
if (verifValeurTemps())
{
$form->process('traiterDonneeAdminAjoutUser');
$m=afficherMenuAjouterUser('',0);
$text.=$m->ToHtml();
}else echo "heure de travail erronée";
}
}else{
$text.=$form->ToHtml();
}
//cas supprimer utilisateur
$forms=afficherMenuEditerUser();
if (isset($_POST["btn_supprimer"])and $_POST["btn_supprimer"]!='dejaValider'and $forms->validate())
{
$forms->process('traiterAdminEditerUser');
$m=afficherMenuEditerUser();
$text.=$m->ToHtml();
}else
{
$text.=$forms->ToHtml();
}
//affichage des options d'administration
$formp=creerFormulaireOptionAdmin();
$text.=$formp->ToHtml();
//affichage des options disponibles pour l'utilisateur courant
$text.=afficherOptionAplication($GLOBALS['idCurrentUser']);
return $text;
}
?>