New file |
0,0 → 1,311 |
<?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 | |
/** |
* class Travail |
* |
*/ |
|
class Travail |
{ |
/**Attributes: */ |
var $_utilisateur=null; |
var $_tache=null; |
var $_date_travail =null; |
var $_duree_travail=null; |
|
/** |
*constructeur travail |
*@param user : identifiant utilisateur |
*@param tache : identifiant tache |
*/ |
function Travail($user, $tache) |
{ |
$this->_utilisateur= $user; |
$this->_tache=$tache; |
|
} |
/* |
*enregistre un travail dans la bse de donnees |
*renvoie 1 si effectue |
*0 si aucun enregistrement effectue |
*-1 si erreur |
*/ |
|
function enregistrerNewTravail() |
{ |
$table =GEST_TRAVAIL; |
$champs =array( |
GEST_CHAMPS_ID_UTILISATEUR =>$this->_utilisateur, |
GEST_CHAMPS_ID_TACHE =>$this->_tache, |
GEST_CHAMPS_DATE_TRAVAIL =>$this->_date_travail, |
GEST_CHAMPS_DUREE_TRAVAIL =>$this->_duree_travail); |
|
$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; |
} |
} |
|
/** |
*fonction mettant a jour l'objet travail dans la base de donnees |
*mise a jour de la duree |
*renvoie 1 si une modification bien effectuee |
*-1 sinon |
*/ |
function mettreAjourTravail() |
{ |
$table=GEST_TRAVAIL; |
|
$requete=" UPDATE $table SET ". |
GEST_CHAMPS_DUREE_TRAVAIL." = $this->_duree_travail ". |
" WHERE ".GEST_CHAMPS_ID_TACHE." = $this->_tache ". |
" AND ".GEST_CHAMPS_ID_UTILISATEUR." = $this->_utilisateur". |
" AND ".GEST_CHAMPS_DATE_TRAVAIL." =\"$this->_date_travail\""; |
|
|
$resultat =$GLOBALS['db']->query($requete) ; |
(DB::isError($resultat)) ? |
die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
|
$nb_ligne_modifie = $GLOBALS['db']->affectedRows(); |
|
if ($nb_ligne_modifie==1) |
{ |
return 1; |
} |
else return -1; |
|
} |
|
/** |
*fonction faisiant la somme des heures travaillees |
*pour une journee donnee pour un utilisateur |
*@param $id : identifiant de la personne a chercher |
*@param $date: date pour laquelle on doit faire la somme |
*date est sous forme Y-m-d(format mysql) |
*@return une somme temps de travail de l'utilisateur a la date donnee |
*/ |
function sommeHeureTravail($id,$date) |
{ |
$requete="SELECT SUM(".GEST_CHAMPS_DUREE_TRAVAIL.")". |
" FROM ".GEST_TRAVAIL. |
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $id". |
" AND ".GEST_CHAMPS_DATE_TRAVAIL." =\"$date\" "; |
|
|
$resultat = $GLOBALS['db']->query($requete); |
|
(DB::isError($resultat)) ? |
die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
|
$ligne = $resultat->fetchRow(DB_FETCHMODE_ORDERED); |
return $ligne[0]; |
|
} |
/** |
*fonction pour determiner la date de travail |
*/ |
function setDateTravail( $dateTravail ) |
{ |
$this->_date_travail =$dateTravail; |
} |
|
/** |
*fonction renvoyant la date de travail |
*/ |
function getDateTravail() |
{ |
return $this->_date_travail; |
} |
|
/** |
*fonction renvoyant la duree du temps de travail |
*/ |
function getDureeTravail() |
{ |
return $this->_duree_travail; |
} |
/** |
*fonction qui renvoie l'identifiant de l'utilisateur |
*/ |
function getIdUserTravail() |
{ |
return $this->_utilisateur; |
} |
/** |
* fonction mettant a jour la duree de travail |
* |
*/ |
function setDureeTravail( $duree ) |
{ |
$this->_duree_travail =$duree; |
} |
|
|
/** |
* supprime un travail de la bse de donnees |
*/ |
|
function supprimerTravail() |
{ |
$requete="DELETE FROM ".GEST_TRAVAIL. |
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $this->_utilisateur AND " |
.GEST_CHAMPS_ID_TACHE." =$this->_tache AND " |
.GEST_CHAMPS_DATE_TRAVAIL." = '$this->_date_travail'"; |
|
$resultat = $GLOBALS['db']->query($requete); |
|
(DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
|
|
$j=$GLOBALS['db']->affectedRows(); |
return $j; |
} |
|
/** |
*recuperer un tableau de travail |
*pour un utilisateur donne |
*/ |
function recupererTableauTravail($id) |
{ |
|
$table=array(); |
$requete="SELECT * FROM ".GEST_TRAVAIL. |
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $id "; |
|
$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(GEST_CHAMPS_ID_TACHE => $ligne[GEST_CHAMPS_ID_TACHE], |
GEST_CHAMPS_ID_UTILISATEUR =>$ligne[GEST_CHAMPS_ID_UTILISATEUR], |
GEST_CHAMPS_DATE_TRAVAIL => $ligne[GEST_CHAMPS_DATE_TRAVAIL], |
GEST_CHAMPS_DUREE_TRAVAIL =>$ligne[GEST_CHAMPS_DUREE_TRAVAIL]); |
|
array_push($table,$case); |
} |
|
return $table; |
} |
|
/** |
*construire un travail |
*/ |
|
function construireTravail($tableau) |
{ |
$this->_utilisateur=$tableau[GEST_CHAMPS_ID_UTILISATEUR]; |
$this->_tache=$tableau[GEST_CHAMPS_ID_TACHE]; |
$this->_date_travail=$tableau[GEST_CHAMPS_DATE_TRAVAIL]; |
$this->_duree_travail=$tableau[GEST_CHAMPS_DUREE_TRAVAIL]; |
|
} |
/** |
*fonction verifiant si un travail existe pour une date donnee |
*tache et utilisateurs donnes |
*renvoie la duree du travail si existe |
*O si aucun travail trouve et |
*-1 sinon |
*/ |
function existeTravail() |
{ |
$requete="SELECT * ". |
" FROM ".GEST_TRAVAIL. |
" WHERE ".GEST_CHAMPS_ID_TACHE." = $this->_tache AND ". |
GEST_CHAMPS_ID_UTILISATEUR." = $this->_utilisateur AND ". |
GEST_CHAMPS_DATE_TRAVAIL." ='$this->_date_travail'"; |
|
|
$resultat = $GLOBALS['db']->query($requete); |
$ligne=$resultat->fetchRow(DB_FETCHMODE_ASSOC); |
|
(DB::isError($resultat)) ? |
die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ; |
|
$j=$resultat->numRows(); |
if ($j==1) |
{ |
return $ligne[GEST_CHAMPS_DUREE_TRAVAIL]; |
}elseif($j==0){ |
return 0; |
}else{ |
return -1; |
} |
|
} |
/** |
*supression de tous les taches d'un utilisateur pour une |
*date donnee |
*@param $id : identifiant de l'utilisateur |
*@param : $date : date de travail format mysql Y-m-d |
*@return 1 si ok |
*-1 si erreur |
*/ |
function supprimerTachesUserDate($id,$date) |
{ |
$requete="DELETE FROM ".GEST_TRAVAIL. |
" WHERE ".GEST_CHAMPS_ID_UTILISATEUR." = $id". |
" AND ".GEST_CHAMPS_DATE_TRAVAIL. "= \"$date\" "; |
|
|
$resultat=$GLOBALS['db']->query($requete); |
$j=$GLOBALS['db']->affectedRows(); |
if ($j>=0){ |
return 1; |
}else return -1; |
|
} |
/* |
*affichage du travail |
*/ |
function afficherTravail() |
{ |
echo "<br /> travail "; |
$t =array( |
$this->_utilisateur, $this->_tache,$this->_date_travail,$this->_duree_travail); |
|
foreach ($t as $p) |
{ |
if (isset($p)){ |
echo "$p <br />";} |
} |
|
|
} |
|
} |
?> |
Property changes: |
Added: svn:executable |