function affiche_all_demandes_en_cours($tab_type_conges, $DEBUG = FALSE) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); $count1 = 0; $count2 = 0; $tab_type_all_abs = recup_tableau_tout_types_abs(); // recup du tableau des types de conges (seulement les conges exceptionnels) $tab_type_conges_exceptionnels = array(); if ($_SESSION['config']['gestion_conges_exceptionnels']) { $tab_type_conges_exceptionnels = recup_tableau_types_conges_exceptionnels($DEBUG); } /*********************************/ // Récupération des informations /*********************************/ // Récup dans un tableau de tableau des informations de tous les users $tab_all_users = recup_infos_all_users($_SESSION['userlogin'], $DEBUG); if ($DEBUG) { echo "tab_all_users :<br>\n"; print_r($tab_all_users); echo "<br><br>\n"; } // si tableau des users du resp n'est pas vide if (count($tab_all_users) != 0) { // constitution de la liste (séparé par des virgules) des logins ... $list_users = ""; foreach ($tab_all_users as $current_login => $tab_current_user) { if ($list_users == "") { $list_users = "'{$current_login}'"; } else { $list_users = $list_users . ", '{$current_login}'"; } } } /*********************************/ echo " <form action=\"{$PHP_SELF}?session={$session}&onglet=traitement_demandes\" method=\"POST\"> \n"; /*********************************/ /* TABLEAU DES DEMANDES DES USERS*/ /*********************************/ // si tableau des users n'est pas vide :) if (count($tab_all_users) != 0) { // Récup des demandes en cours pour les users : $sql1 = "SELECT p_num, p_login, p_date_deb, p_demi_jour_deb, p_date_fin, p_demi_jour_fin, p_nb_jours, p_commentaire, p_type, p_date_demande, p_date_traitement FROM conges_periode "; $sql1 = $sql1 . " WHERE p_etat =\"demande\" "; if ($_SESSION['config']['responsable_virtuel']) { $sql1 = $sql1 . " AND p_login != 'conges' "; } else { $sql1 = $sql1 . " AND p_login IN ({$list_users}) "; } $sql1 = $sql1 . " ORDER BY p_num"; $ReqLog1 = SQL::query($sql1); $count1 = $ReqLog1->num_rows; if ($count1 != 0) { // AFFICHAGE TABLEAU DES DEMANDES EN COURS echo "<h3>" . _('resp_traite_demandes_titre_tableau_1') . "</h3>\n"; echo "<table cellpadding=\"2\" class=\"table table-hover table-responsive table-condensed table-striped\">\n"; echo '<thead>'; echo '<tr>'; echo '<th>' . _('divers_nom_maj_1') . "<br>" . _('divers_prenom_maj_1') . '</th>'; echo '<th>' . _('divers_quotite_maj_1') . '</th>'; echo "<th>" . _('divers_type_maj_1') . "</th>\n"; echo '<th>' . _('divers_debut_maj_1') . '</th>'; echo '<th>' . _('divers_fin_maj_1') . '</th>'; echo '<th>' . _('divers_comment_maj_1') . '</th>'; echo '<th>' . _('resp_traite_demandes_nb_jours') . '</th>'; echo "<th>" . _('divers_solde') . "</th>\n"; echo '<th>' . _('divers_accepter_maj_1') . '</th>'; echo '<th>' . _('divers_refuser_maj_1') . '</th>'; echo '<th>' . _('resp_traite_demandes_attente') . '</th>'; echo '<th>' . _('resp_traite_demandes_motif_refus') . '</th>'; if ($_SESSION['config']['affiche_date_traitement']) { echo '<th>' . _('divers_date_traitement') . '</th>'; } echo '</tr>'; echo '</thead>'; echo '<tbody>'; $i = true; $tab_bt_radio = array(); while ($resultat1 = $ReqLog1->fetch_array()) { /** sur la ligne , **/ /** le 1er bouton radio est <input type="radio" name="tab_bt_radio[valeur de p_num]" value="[valeur de p_login]--[valeur p_nb_jours]--$type--OK"> */ /** et le 2ieme est <input type="radio" name="tab_bt_radio[valeur de p_num]" value="[valeur de p_login]--[valeur p_nb_jours]--$type--not_OK"> */ /** et le 3ieme est <input type="radio" name="tab_bt_radio[valeur de p_num]" value="[valeur de p_login]--[valeur p_nb_jours]--$type--RIEN"> */ $sql_p_date_deb = $resultat1["p_date_deb"]; $sql_p_date_fin = $resultat1["p_date_fin"]; $sql_p_date_deb_fr = eng_date_to_fr($resultat1["p_date_deb"]); $sql_p_date_fin_fr = eng_date_to_fr($resultat1["p_date_fin"]); $sql_p_demi_jour_deb = $resultat1["p_demi_jour_deb"]; $sql_p_demi_jour_fin = $resultat1["p_demi_jour_fin"]; $sql_p_commentaire = $resultat1["p_commentaire"]; $sql_p_num = $resultat1["p_num"]; $sql_p_login = $resultat1["p_login"]; $sql_p_nb_jours = affiche_decimal($resultat1["p_nb_jours"]); $sql_p_type = $resultat1["p_type"]; $sql_p_date_demande = $resultat1["p_date_demande"]; $sql_p_date_traitement = $resultat1["p_date_traitement"]; if ($sql_p_demi_jour_deb == "am") { $demi_j_deb = "mat"; } else { $demi_j_deb = "aprm"; } if ($sql_p_demi_jour_fin == "am") { $demi_j_fin = "mat"; } else { $demi_j_fin = "aprm"; } // on construit la chaine qui servira de valeur à passer dans les boutons-radio $chaine_bouton_radio = "{$sql_p_login}--{$sql_p_nb_jours}--{$sql_p_type}--{$sql_p_date_deb}--{$sql_p_demi_jour_deb}--{$sql_p_date_fin}--{$sql_p_demi_jour_fin}"; $boutonradio1 = "<input type=\"radio\" name=\"tab_bt_radio[{$sql_p_num}]\" value=\"{$chaine_bouton_radio}--OK\">"; $boutonradio2 = "<input type=\"radio\" name=\"tab_bt_radio[{$sql_p_num}]\" value=\"{$chaine_bouton_radio}--not_OK\">"; $boutonradio3 = "<input type=\"radio\" name=\"tab_bt_radio[{$sql_p_num}]\" value=\"{$chaine_bouton_radio}--RIEN\" checked>"; $text_refus = "<input class=\"form-control\" type=\"text\" name=\"tab_text_refus[{$sql_p_num}]\" size=\"20\" max=\"100\">"; echo '<tr class="' . ($i ? 'i' : 'p') . '">'; echo "<td><b>" . $tab_all_users[$sql_p_login]['nom'] . "</b><br>" . $tab_all_users[$sql_p_login]['prenom'] . "</td><td>" . $tab_all_users[$sql_p_login]['quotite'] . "%</td>"; echo "<td>" . $tab_type_all_abs[$sql_p_type]['libelle'] . "</td>\n"; echo "<td>{$sql_p_date_deb_fr} <span class=\"demi\">{$demi_j_deb}</span></td><td>{$sql_p_date_fin_fr} <span class=\"demi\">{$demi_j_fin}</span></td><td>{$sql_p_commentaire}</td><td><b>{$sql_p_nb_jours}</b></td>"; $tab_conges = $tab_all_users[$sql_p_login]['conges']; echo "<td>" . $tab_conges[$tab_type_all_abs[$sql_p_type]['libelle']]['solde'] . "</td>"; // foreach($tab_type_conges as $id_conges => $libelle) // { // echo '<td>'.$tab_conges[$libelle]['solde'].'</td>'; // } // if ($_SESSION['config']['gestion_conges_exceptionnels']) // foreach($tab_type_conges_exceptionnels as $id_conges => $libelle) // { // echo '<td>'.$tab_conges[$libelle]['solde'].'</td>'; // } // echo '<td>'.$tab_type_all_abs[$sql_p_type]['libelle'].'</td>'; echo "<td>{$boutonradio1}</td><td>{$boutonradio2}</td><td>{$boutonradio3}</td><td>{$text_refus}</td>\n"; if ($_SESSION['config']['affiche_date_traitement']) { if ($sql_p_date_demande == NULL) { echo "<td class=\"histo-left\">" . _('divers_demande') . " : {$sql_p_date_demande}<br>" . _('divers_traitement') . " : {$sql_p_date_traitement}</td>\n"; } else { echo "<td class=\"histo-left\">" . _('divers_demande') . " : {$sql_p_date_demande}<br>" . _('divers_traitement') . " : pas traité</td>\n"; } } echo '</tr>'; $i = !$i; } // while echo '</tbody>'; echo '</table>'; } //if($count1!=0) } //if( count($tab_all_users)!=0 ) echo "<br>\n"; if ($count1 == 0 && $count2 == 0) { echo "<strong>" . _('resp_traite_demandes_aucune_demande') . "</strong>\n"; } else { echo "<hr/>\n"; echo "<input class=\"btn btn-success\" type=\"submit\" value=\"" . _('form_submit') . "\">\n"; } echo " </form> \n"; }
/** * Encapsule le comportement du module de gestion des utilisateurs * * @param string $session * * @return string * @access public * @static */ public static function userModule($session) { $return = '<h1>' . _('admin_onglet_gestion_user') . '</h1>'; /*********************/ /* Etat Utilisateurs */ /*********************/ // recup du tableau des types de conges (seulement les conges) $tab_type_conges = recup_tableau_types_conges(); $tab_type_conges_exceptionnels = []; // recup du tableau des types de conges exceptionnels (seulement les conges exceptionnels) if ($_SESSION['config']['gestion_conges_exceptionnels']) { $tab_type_conges_exceptionnels = recup_tableau_types_conges_exceptionnels(); } // AFFICHAGE TABLEAU $return .= '<table class="table table-hover table-responsive table-condensed table-striped" >'; $return .= '<thead>'; $return .= '<tr>'; $return .= '<th>' . _('user') . '</th>'; $return .= '<th>' . _('divers_quotite_maj_1') . '</th>'; foreach ($tab_type_conges as $id_type_cong => $libelle) { $return .= '<th>' . $libelle . ' / ' . _('divers_an') . '</th>'; $return .= '<th>' . _('divers_solde') . ' ' . $libelle . '</th>'; } foreach ($tab_type_conges_exceptionnels as $id_type_cong => $libelle) { $return .= '<th>' . _('divers_solde') . ' ' . $libelle . '</th>'; } $return .= '<th></th>'; $return .= '<th></th>'; if ($_SESSION['config']['admin_change_passwd']) { $return .= '<th></th>'; } $return .= '</tr>'; $return .= '</thead>'; $return .= '<tbody>'; // Récuperation des informations des users: $tab_info_users = array(); // si l'admin peut voir tous les users OU si l'admin n'est pas responsable if ($_SESSION['config']['admin_see_all'] || $_SESSION['userlogin'] == "admin" || is_hr($_SESSION['userlogin'])) { $tab_info_users = recup_infos_all_users(); } else { $tab_info_users = recup_infos_all_users_du_resp($_SESSION['userlogin']); } $i = true; foreach ($tab_info_users as $current_login => $tab_current_infos) { $admin_modif_user = '******' . $session . '&u_login='******'" title="' . _('form_modif') . '"><i class="fa fa-pencil"></i></a>'; $admin_suppr_user = '******' . $session . '&u_login='******'" title="' . _('form_supprim') . '"><i class="fa fa-times-circle"></i></a>'; $admin_chg_pwd_user = '******' . $session . '&u_login='******'" title="' . _('form_password') . '"><i class="fa fa-key"></i></a>'; $return .= '<tr class="' . ($tab_current_infos['is_active'] == 'Y' ? 'actif' : 'inactif') . '">'; $return .= '<td class="utilisateur"><strong>' . $tab_current_infos['nom'] . ' ' . $tab_current_infos['prenom'] . '</strong>'; $return .= '<span class="login">' . $current_login . '</span>'; if ($_SESSION['config']['where_to_find_user_email'] == "dbconges") { $return .= '<span class="mail">' . $tab_current_infos['email'] . '</span>'; } // droit utilisateur $rights = array(); if ($tab_current_infos['is_admin'] == 'Y') { $rights[] = 'administrateur'; } if ($tab_current_infos['is_resp'] == 'Y') { $rights[] = 'responsable'; } if ($tab_current_infos['is_hr'] == 'Y') { $rights[] = 'RH'; } if ($tab_current_infos['see_all'] == 'Y') { $rights[] = 'voit tout'; } if (count($rights) > 0) { $return .= '<span class="rights">' . implode(', ', $rights) . '</span>'; } $return .= '<span class="responsable"> responsable : <strong>' . $tab_current_infos['resp_login'] . '</strong></span>'; $return .= '</td><td>' . $tab_current_infos['quotite'] . ' %</td>'; //tableau de tableaux les nb et soldes de conges d'un user (indicé par id de conges) $tab_conges = $tab_current_infos['conges']; foreach ($tab_type_conges as $id_conges => $libelle) { if (isset($tab_conges[$libelle])) { $return .= '<td>' . $tab_conges[$libelle]['nb_an'] . '</td>'; $return .= '<td>' . $tab_conges[$libelle]['solde'] . '</td>'; } else { $return .= '<td>0</td>'; $return .= '<td>0</td>'; } } foreach ($tab_type_conges_exceptionnels as $id_conges => $libelle) { if (isset($tab_conges[$libelle])) { $return .= '<td>' . $tab_conges[$libelle]['solde'] . '</td>'; } else { $return .= '<td>0</td>'; } } $return .= '<td>' . $admin_modif_user . '</td>'; $return .= '<td>' . $admin_suppr_user . '</td>'; if ($_SESSION['config']['admin_change_passwd'] && $_SESSION['config']['how_to_connect_user'] == "dbconges") { $return .= '<td>' . $admin_chg_pwd_user . '</td>'; } $return .= '</tr>'; $i = !$i; } $return .= '</tbody></table><br>'; return $return; }
if ($_SESSION['config']['where_to_find_user_email'] == "dbconges") { echo "<th>" . _('admin_users_mail') . "</th>\n"; } echo "<th></th>\n"; echo "<th></th>\n"; if ($_SESSION['config']['admin_change_passwd']) { echo "<th></th>\n"; } echo "</tr>\n"; echo "</thead>\n"; echo "<tbody>\n"; // Récuperation des informations des users: $tab_info_users = array(); // si l'admin peut voir tous les users OU si on est en mode "responsble virtuel" OU si l'admin n'est pas responsable if ($_SESSION['config']['admin_see_all'] || $_SESSION['config']['responsable_virtuel'] || !is_resp($_SESSION['userlogin'])) { $tab_info_users = recup_infos_all_users($DEBUG); } else { $tab_info_users = recup_infos_all_users_du_resp($_SESSION['userlogin'], $DEBUG); } $i = true; foreach ($tab_info_users as $current_login => $tab_current_infos) { $admin_modif_user = "******"admin_index.php?onglet=modif_user&session={$session}&u_login={$current_login}\">" . "<img src=\"" . TEMPLATE_PATH . "img/edition-22x22.png\" width=\"17\" height=\"17\" border=\"0\" title=\"" . _('form_modif') . "\" alt=\"" . _('form_modif') . "\"></a>"; $admin_suppr_user = "******"admin_index.php?onglet=suppr_user&session={$session}&u_login={$current_login}\">" . "<img src=\"" . TEMPLATE_PATH . "img/stop.png\" width=\"17\" height=\"17\" border=\"0\" title=\"" . _('form_supprim') . "\" alt=\"" . _('form_supprim') . "\"></a>"; $admin_chg_pwd_user = "******"admin_index.php?onglet=chg_pwd_user&session={$session}&u_login={$current_login}\">" . "<img src=\"" . TEMPLATE_PATH . "img/password.png\" width=\"17\" height=\"17\" border=\"0\" title=\"" . _('form_password') . "\" alt=\"" . _('form_password') . "\"></a>"; echo '<tr class="' . ($i ? 'i' : 'p') . '">'; echo "<td><b>" . $tab_current_infos['nom'] . "</b></td>\n"; echo "<td><b>" . $tab_current_infos['prenom'] . "</b></td>\n"; echo "<td>{$current_login}</td>\n"; echo "<td>" . $tab_current_infos['quotite'] . "%</td>\n"; //tableau de tableaux les nb et soldes de conges d'un user (indicé par id de conges) $tab_conges = $tab_current_infos['conges'];