New file |
0,0 → 1,377 |
<?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'; |
|
/*** 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 = 7; |
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' => 'temps_de_travail', |
'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); |
} |
|
// Email |
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 |
public function getTempsDeTravail() |
{ |
return $this->temps_de_travail; |
} |
public function setTempsDeTravail( $tdt ) |
{ |
$this->temps_de_travail = $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) |
{ |
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 '. |
'WHERE gu_id_utilisateur = '.$parametres[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 = "'.$parametres[0].'" '; |
break; |
case Utilisateur::GU_MAIL: |
$requete = 'SELECT * '. |
'FROM gestion_utilisateur '. |
'WHERE gu_email = "'.$parametres[0].'" '; |
break; |
default : |
$message = 'Commande '.$cmd.'inconnue!'; |
$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(); |
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier); |
} |
|
$resultat_nbre = count($tab_resultat); |
if ($resultat_nbre > 1) { |
return $tab_resultat; |
} else if ($resultat_nbre == 1) { |
return $tab_resultat[0]; |
} else if ($resultat_nbre == 0) { |
return false; |
} |
} |
|
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; |
} |
} |
|
/** Afficher l'objet Utilisateur */ |
function afficherUtilisateur() |
{ |
echo '<pre>'.print_r($this, true).'</pre>'; |
} |
|
/**augmenter le nombre d'heure sup |
*un acces est fait a la bse de donnees pour enregistrer les changements en temps reel |
*/ |
function augmenterQuotaHeuresSup($nb) |
{ |
$this->quota_heures_sup = $this->quota_heures_sup + $nb; |
} |
|
/**diminuer le nb d'heures sup*/ |
public function diminuerQuotaHeuresSup($nb) |
{ |
$this->quota_heures_sup = $this->quota_heures_sup - $nb; |
/*un quota heure supp negatif implique qu'il y a des heures a rattraper*/ |
} |
|
/**augmenter le nombre de jours de conges */ |
function augmenterCongesPayes($nb) |
{ |
$this->conges_payes = $this->conges_payes + $nb; |
} |
|
/**diminuer le nombre de jour de conges */ |
function diminuerCongesPayes($nb) |
{ |
$this->conges_payes = $this->conges_payes - $nb; |
} |
} |
|
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |