function ajout_global($tab_new_nb_conges_all, $tab_calcul_proportionnel, $tab_new_comment_all, $DEBUG = FALSE) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); // recup de la liste de TOUS les users dont $resp_login est responsable // (prend en compte le resp direct, les groupes, le resp virtuel, etc ...) // renvoit une liste de login entre quotes et séparés par des virgules $list_users_du_resp = get_list_all_users_du_hr($_SESSION['userlogin'], $DEBUG); if ($DEBUG) { echo "list_all_users_du_hr = {$list_users_du_resp}<br>\n"; } if ($DEBUG) { echo "tab_new_nb_conges_all = <br>"; print_r($tab_new_nb_conges_all); echo "<br>\n"; } if ($DEBUG) { echo "tab_calcul_proportionnel = <br>"; print_r($tab_calcul_proportionnel); echo "<br>\n"; } foreach ($tab_new_nb_conges_all as $id_conges => $nb_jours) { if ($nb_jours != 0) { $comment = $tab_new_comment_all[$id_conges]; $sql1 = "SELECT u_login, u_quotite FROM conges_users WHERE u_login IN ({$list_users_du_resp}) ORDER BY u_login "; $ReqLog1 = SQL::query($sql1); while ($resultat1 = $ReqLog1->fetch_array()) { $current_login = $resultat1["u_login"]; $current_quotite = $resultat1["u_quotite"]; if (!isset($tab_calcul_proportionnel[$id_conges]) || $tab_calcul_proportionnel[$id_conges] != TRUE) { $nb_conges = $nb_jours; } else { // pour arrondir au 1/2 le + proche on fait x 2, on arrondit, puis on divise par 2 $nb_conges = ROUND($nb_jours * ($current_quotite / 100) * 2) / 2; } $valid = verif_saisie_decimal($nb_conges, $DEBUG); if ($valid) { // 1 : update de la table conges_solde_user $req_update = 'UPDATE conges_solde_user SET su_solde = su_solde + ' . floatval($nb_conges) . ' WHERE su_login = \'' . SQL::quote($current_login) . '\' AND su_abs_id = \'' . SQL::quote($id_conges) . '\';'; $ReqLog_update = SQL::query($req_update); // 2 : on insert l'ajout de conges GLOBAL (pour tous les users) dans la table periode $commentaire = _('resp_ajout_conges_comment_periode_all'); // ajout conges insert_ajout_dans_periode($DEBUG, $current_login, $nb_conges, $id_conges, $commentaire); } } if (!isset($tab_calcul_proportionnel[$id_conges]) || $tab_calcul_proportionnel[$id_conges] != TRUE) { $comment_log = "ajout conges global ({$nb_jours} jour(s)) ({$comment}) (calcul proportionnel : No)"; } else { $comment_log = "ajout conges global ({$nb_jours} jour(s)) ({$comment}) (calcul proportionnel : Yes)"; } log_action(0, "ajout", "tous", $comment_log, $DEBUG); } } }
function affichage($user_login, $year_affichage, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin, $tri_date, $onglet, $DEBUG) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); // on initialise le tableau global des jours fériés s'il ne l'est pas déjà : if (!isset($_SESSION["tab_j_feries"])) { init_tab_jours_feries(); } /********************/ /* Récupération des informations sur le user : */ /********************/ $list_group_dbl_valid_du_resp = get_list_groupes_double_valid_du_resp($_SESSION['userlogin'], $DEBUG); $tab_user = array(); $tab_user = recup_infos_du_user($user_login, $list_group_dbl_valid_du_resp, $DEBUG); if ($DEBUG) { echo "tab_user =<br>\n"; print_r($tab_user); echo "<br>\n"; } $list_all_users_du_hr = get_list_all_users_du_hr($_SESSION['userlogin'], $DEBUG); if ($DEBUG) { echo "list_all_users_du_hr = {$list_all_users_du_hr}<br>\n"; } // recup des grd resp du user $tab_grd_resp = array(); if ($_SESSION['config']['double_validation_conges']) { get_tab_grd_resp_du_user($user_login, $tab_grd_resp, $DEBUG); if ($DEBUG) { echo "tab_grd_resp =<br>\n"; print_r($tab_grd_resp); echo "<br>\n"; } } /********************/ /* Titre */ /********************/ echo '<h2>' . _('resp_traite_user_titre') . " " . $tab_user['prenom'] . " " . $tab_user['nom'] . ".</H2>\n\n"; /********************/ /* Bilan des Conges */ /********************/ // AFFICHAGE TABLEAU // affichage du tableau récapitulatif des solde de congés d'un user affiche_tableau_bilan_conges_user($user_login); echo "<br><br>\n"; /*************************/ /* SAISIE NOUVEAU CONGES */ /*************************/ // dans le cas ou les users ne peuvent pas saisir de demande, le responsable saisi les congès : if ($_SESSION['config']['user_saisie_demande'] == FALSE || $_SESSION['config']['resp_saisie_mission']) { // si les mois et année ne sont pas renseignés, on prend ceux du jour if ($year_calendrier_saisie_debut == 0) { $year_calendrier_saisie_debut = date("Y"); } if ($mois_calendrier_saisie_debut == 0) { $mois_calendrier_saisie_debut = date("m"); } if ($year_calendrier_saisie_fin == 0) { $year_calendrier_saisie_fin = date("Y"); } if ($mois_calendrier_saisie_fin == 0) { $mois_calendrier_saisie_fin = date("m"); } if ($DEBUG) { echo "{$mois_calendrier_saisie_debut} {$year_calendrier_saisie_debut} - {$mois_calendrier_saisie_fin} {$year_calendrier_saisie_fin}<br>\n"; } echo "<H3>" . _('resp_traite_user_new_conges') . "</H3>\n\n"; saisie_nouveau_conges2($user_login, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin, $onglet); echo "<hr align=\"center\" size=\"2\" width=\"90%\"> \n"; } /*********************/ /* Etat des Demandes */ /*********************/ if ($_SESSION['config']['user_saisie_demande']) { //verif si le user est bien un user du resp (et pas seulement du grad resp) if (strstr($list_all_users_du_hr, "'{$user_login}'") != FALSE) { echo "<h3>" . _('resp_traite_user_etat_demandes') . "</h3>\n"; //affiche l'état des demande du user (avec le formulaire pour le responsable) affiche_etat_demande_user_for_resp($user_login, $tab_user, $tab_grd_resp, $DEBUG); echo "<hr align=\"center\" size=\"2\" width=\"90%\"> \n"; } } /*********************/ /* Etat des Demandes en attente de 2ieme validation */ /*********************/ if ($_SESSION['config']['double_validation_conges']) { /*******************************/ /* verif si le resp est grand_responsable pour ce user*/ if (in_array($_SESSION['userlogin'], $tab_grd_resp)) { echo "<h3>" . _('resp_traite_user_etat_demandes_2_valid') . "</h3>\n"; //affiche l'état des demande en attente de 2ieme valid du user (avec le formulaire pour le responsable) affiche_etat_demande_2_valid_user_for_resp($user_login, $DEBUG); echo "<hr align=\"center\" size=\"2\" width=\"90%\"> \n"; } } /*******************/ /* Etat des Conges */ /*******************/ echo "<h3>" . _('resp_traite_user_etat_conges') . "</h3>\n"; //affiche l'état des conges du user (avec le formulaire pour le responsable) affiche_etat_conges_user_for_resp($user_login, $year_affichage, $tri_date, $DEBUG); //echo "<hr align=\"center\" size=\"2\" width=\"90%\"> \n"; echo "<td valign=\"middle\">\n"; echo "</td></tr></table>\n"; echo "<center>\n"; }