1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| function traite_all_demande_en_cours($mysql_link, $tab_bt_radio, $tab_text_refus, $DEBUG=FALSE)
{
$PHP_SELF=$_SERVER['PHP_SELF'];
$session=session_id();
while($elem_tableau = each($tab_bt_radio))
{
$champs = explode("--", $elem_tableau['value']);
$user_login=$champs[0];
$user_nb_jours_pris=$champs[1];
$type=$champs[2]; // id du type de conges demandé
$reponse=$champs[3];
$numero=$elem_tableau['key'];
$numero_int=(int) $numero;
echo "$numero---$user_login---$user_nb_jours_pris---$reponse<br>\n";
/* Modification de la table conges_periode */
if(strcmp($reponse, "VALID")==0)
{
/* UPDATE table "conges_periode" */
$sql1 = "UPDATE conges_periode SET p_etat=\"valid\", p_date_traitement=NOW() WHERE p_num=$numero_int" ;
/* On valide l'UPDATE dans la table "conges_periode" ! */
$ReqLog1 = requete_mysql($sql1, $mysql_link, "traite_all_demande_en_cours", $DEBUG) ;
// Log de l'action
log_action($numero_int, "valid", $user_login, "traite demande $numero ($user_login) ($user_nb_jours_pris jours) : $reponse", $mysql_link, $DEBUG);
//envoi d'un mail d'alerte au user et au responsable du resp (pour double validation) (si demandé dans config de php_conges)
if($_SESSION['config']['mail_prem_valid_conges_alerte_user']==TRUE)
alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "valid_conges", $mysql_link, $DEBUG);
}
if(strcmp($reponse, "OK")==0)
{
/* UPDATE table "conges_periode" */
$sql1 = "UPDATE conges_periode SET p_etat=\"ok\", p_date_traitement=NOW() WHERE p_num=$numero_int" ;
/* On valide l'UPDATE dans la table "conges_periode" ! */
$ReqLog1 = requete_mysql($sql1, $mysql_link, "traite_all_demande_en_cours", $DEBUG) ;
// Log de l'action
log_action($numero_int,"ok", $user_login, "traite demande $numero ($user_login) ($user_nb_jours_pris jours) : $reponse", $mysql_link, $DEBUG);
/* UPDATE table "conges_solde_user" (jours restants) */
$sql2 = "UPDATE conges_solde_user SET su_solde=su_solde-$user_nb_jours_pris WHERE su_login='$user_login' AND su_abs_id=$type " ;
$ReqLog2 = requete_mysql($sql2,$mysql_link, "traite_all_demande_en_cours", $DEBUG) ;
//envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
if($_SESSION['config']['mail_valid_conges_alerte_user']==TRUE)
alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "accept_conges", $mysql_link, $DEBUG);
}
elseif(strcmp($reponse, "not_OK")==0)
{
// recup du motif de refus
$motif_refus=addslashes($tab_text_refus[$numero_int]);
$sql1 = "UPDATE conges_periode SET p_etat=\"refus\", p_motif_refus='$motif_refus', p_date_traitement=NOW() WHERE p_num=$numero_int" ;
//echo "$sql1<br>\n");
// Log de l'action
log_action($numero_int,"refus", $user_login, "traite demande $numero ($user_login) ($user_nb_jours_pris jours) : refus", $mysql_link, $DEBUG);
/* On valide l'UPDATE dans la table ! */
$ReqLog1 = requete_mysql($sql1, $mysql_link, "traite_all_demande_en_cours", $DEBUG) ;
//envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
if($_SESSION['config']['mail_refus_conges_alerte_user']==TRUE)
alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "refus_conges", $mysql_link, $DEBUG);
}
}
if($DEBUG==TRUE)
{
echo "<form action=\"$PHP_SELF?sesssion=$session&onglet=traitement_demande\" method=\"POST\">\n" ;
echo "<input type=\"hidden\" name=\"session\" value=\"$session\">\n";
echo "<input type=\"submit\" value=\"".$_SESSION['lang']['form_ok']."\">\n";
echo "</form>\n" ;
}
else
{
echo $_SESSION['lang']['form_modif_ok']."<br><br> \n";
/* APPEL D'UNE AUTRE PAGE au bout d'une tempo de 2secondes */
echo "<META HTTP-EQUIV=REFRESH CONTENT=\"2; URL=$PHP_SELF?session=$session&onglet=traitement_demandes\">";
}
} |
Partager