예제 #1
0
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";
}
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
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'];