Subversion Repositories Applications.gtt

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

<?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;  
}           
?>