Rev 104 | Rev 134 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php
// +------------------------------------------------------------------------------------------------------+
// | PHP version 5.1.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of eFlore. |
// | |
// | Foobar is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation; either version 2 of the License, or |
// | (at your option) any later version. |
// | |
// | Foobar 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 General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id$
/**
* Classe Utilisateur
*
* Description
*
*@package eFlore
*@subpackage modele
//Auteur original :
*@version 3
*@author Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
//Autres auteurs :
*@version 4
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@author aucun
*@copyright Tela-Botanica 2000-2006
*@version $Revision$ $Date$
// +------------------------------------------------------------------------------------------------------+
*/
/**
* class Utilisateur : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
* classe métier
*/
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';
const GU_TOUS_AFFICHABLE = 'UTILISATEUR_TOUS_AFFICHABLE';
const GU_ADMIN = 'UTILISATEUR_ADMIN';
/*** Attributs : */
private $id_utilisateur;
private $ce_statut = 0;
private $nom;
private $prenom;
private $password;
private $email;
private $telephone;
private $adresse;
private $code_postal;
private $ville;
private $quota_heures_supp = 0;
private $conges_payes = 0;
private $temps_de_travail_jour = 7;
private $temps_de_travail_mois = 0;
private $tdt_lundi = 0;
private $tdt_mardi = 0;
private $tdt_mercredi = 0;
private $tdt_jeudi = 0;
private $tdt_vendredi = 0;
private $tdt_samedi = 0;
private $tdt_dimanche = 0;
private $mark_admin = 0;
private $mark_recapitulatif = 1;
private $notes;
/*** Aggregations : */
/*** Constructeur : */
public function __construct($cmd = null, $parametres = null)
{
$this->dao_table_nom = 'gestion_utilisateur';
$this->dao_correspondance = array(
'gu_id_utilisateur' => 'id_utilisateur',
'gu_ce_statut' => 'ce_statut',
'gu_nom' => 'nom',
'gu_prenom' => 'prenom',
'gu_password' => 'password',
'gu_email' => 'email',
'gu_telephone' => 'telephone',
'gu_adresse' => 'adresse',
'gu_code_postal' => 'code_postal',
'gu_ville' => 'ville',
'gu_quota_heures_supp' => 'quota_heures_supp',
'gu_conges_payes' => 'conges_payes',
'gu_temps_de_travail_jour' => 'temps_de_travail_jour',
'gu_temps_de_travail_mois' => 'temps_de_travail_mois',
'gu_tdt_lundi' => 'tdt_lundi',
'gu_tdt_mardi' => 'tdt_mardi',
'gu_tdt_mercredi' => 'tdt_mercredi',
'gu_tdt_jeudi' => 'tdt_jeudi',
'gu_tdt_vendredi' => 'tdt_vendredi',
'gu_tdt_samedi' => 'tdt_samedi',
'gu_tdt_dimanche' => 'tdt_dimanche',
'gu_mark_admin' => 'mark_admin',
'gu_mark_recapitulatif' => 'mark_recapitulatif',
'gu_notes' => 'notes');
// 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()
{
return $this->id_utilisateur;
}
public function setIdUtilisateur( $iu )
{
$this->id_utilisateur = $iu;
}
// Gus Id Utilisateur Statut
public function getCeStatut()
{
return $this->ce_statut;
}
public function setCeStatut( $cs )
{
$this->ce_statut = $cs;
}
// Nom
public function getNom()
{
return $this->nom;
}
public function setNom( $n )
{
$this->nom = strtoupper($n);
}
// Prenom
public function getPrenom()
{
return $this->prenom;
}
public function setPrenom( $p )
{
$this->prenom = $p;
}
// Password
public function getPassword()
{
return $this->password;
}
public function setPassword( $p )
{
$this->password = md5($p);
}
public function getEmail()
{
return $this->email;
}
public function setEmail( $e )
{
$this->email = $e;
}
// Telephone
public function getTelephone()
{
return $this->telephone;
}
public function setTelephone( $t )
{
$this->telephone = (string) $t;
}
// Adresse
public function getAdresse()
{
return $this->adresse;
}
public function setAdresse( $a )
{
$this->adresse = $a;
}
// Code Postal
public function getCodePostal()
{
return $this->code_postal;
}
public function setCodePostal( $cp )
{
$this->code_postal = $cp;
}
// Ville
public function getVille()
{
return $this->ville;
}
public function setVille( $v )
{
$this->ville = $v;
}
// Quota Heures Supp
public function getQuotaHeuresSupp()
{
return $this->quota_heures_supp;
}
public function setQuotaHeuresSupp( $qhs )
{
$this->quota_heures_supp = $qhs;
}
// Conges Payes
public function getCongesPayes()
{
return $this->conges_payes;
}
public function setCongesPayes( $cp )
{
$this->conges_payes = $cp;
}
// Temps De Travail Jour
public function getTempsDeTravailJour()
{
return $this->temps_de_travail_jour;
}
public function setTempsDeTravailJour( $tdt )
{
$this->temps_de_travail_jour = $tdt;
}
// Temps De Travail Mois
public function getTempsDeTravailMois()
{
return $this->temps_de_travail_mois;
}
public function setTempsDeTravailMois( $tdt )
{
$this->temps_de_travail_mois = $tdt;
}
// Tdt Lundi
public function getTdtLundi()
{
return $this->tdt_lundi;
}
public function setTdtLundi( $tdt )
{
$this->tdt_lundi = $tdt;
}
// Tdt Mardi
public function getTdtMardi()
{
return $this->tdt_mardi;
}
public function setTdtMardi( $tdt )
{
$this->tdt_mardi = $tdt;
}
// Tdt Mercredi
public function getTdtMercredi()
{
return $this->tdt_mercredi;
}
public function setTdtMercredi( $tdt )
{
$this->tdt_mercredi = $tdt;
}
// Tdt Jeudi
public function getTdtJeudi()
{
return $this->tdt_jeudi;
}
public function setTdtJeudi( $tdt )
{
$this->tdt_jeudi = $tdt;
}
// Tdt Vendredi
public function getTdtVendredi()
{
return $this->tdt_vendredi;
}
public function setTdtVendredi( $tdt )
{
$this->tdt_vendredi = $tdt;
}
// Tdt Samedi
public function getTdtSamedi()
{
return $this->tdt_samedi;
}
public function setTdtSamedi( $tdt )
{
$this->tdt_samedi = $tdt;
}
// Tdt Dimanche
public function getTdtDimanche()
{
return $this->tdt_dimanche;
}
public function setTdtDimanche( $tdt )
{
$this->tdt_dimanche = $tdt;
}
// Mark Admin
public function getMarkAdmin()
{
return $this->mark_admin;
}
public function setMarkAdmin( $ma )
{
$this->mark_admin = $ma;
}
// Mark Recapitulatif
public function getMarkRecapitulatif()
{
return $this->mark_recapitulatif;
}
public function setMarkRecapitulatif( $mr )
{
$this->mark_recapitulatif = $mr;
}
// Notes
public function getNotes()
{
return $this->notes;
}
public function setNotes( $n )
{
$this->notes = $n;
}
/*** Méthodes : */
/**
* Consulter la table gestion_utilisateur.
* @return mixed un tableau d'objets Utilisateur s'il y en a plusieurs, l'objet Utilisateur s'il y en a 1 seul sinon false.
*/
public function consulter($cmd = '', $parametres = array(), $instancier = false)
{
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 '.
'WHERE gu_id_utilisateur = #0 ';
break;
case Utilisateur::GU_ID_MAX:
$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 = "#0" ';
break;
case Utilisateur::GU_MAIL:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_email = "#0" ';
break;
case Utilisateur::GU_TOUS_AFFICHABLE:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_mark_recapitulatif = 0 '.
'ORDER BY gu_prenom, gu_nom ASC';
break;
case Utilisateur::GU_ADMIN:
$requete = 'SELECT * '.
'FROM gestion_utilisateur '.
'WHERE gu_mark_admin = 1 ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
trigger_error($e, E_USER_ERROR);
}
return parent::consulter($requete, $parametres, $instancier);
}
public function supprimer()
{
$requete = 'DELETE FROM gestion_utilisateur '.
'WHERE gu_id_utilisateur = '.$this->getIdUtilisateur();
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
if ($GLOBALS['db']->affectedRows() == 1) {
return true;
} elseif ($GLOBALS['db']->affectedRows() == 0) {
return false;
}
}
/**augmenter le nombre d'heure sup
*un acces est fait a la bse de donnees pour enregistrer les changements en temps reel
*/
public function augmenterQuotaHeuresSup($nb)
{
$this->quota_heures_supp = $this->quota_heures_supp + abs($nb);
}
/**diminuer le nb d'heures sup*/
public function diminuerQuotaHeuresSup($nb)
{
$this->quota_heures_supp = $this->quota_heures_supp - abs($nb);
/*un quota heure supp negatif implique qu'il y a des heures a rattraper*/
}
/**augmenter le nombre de jours de conges */
public function augmenterCongesPayes($nb)
{
$this->conges_payes = $this->conges_payes + abs($nb);
}
/**diminuer le nombre de jour de conges */
public function diminuerCongesPayes($nb)
{
$this->conges_payes = $this->conges_payes - abs($nb);
}
}
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log$
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>