コード例 #1
0
ファイル: edit_user.php プロジェクト: coz787/Libertempo
function affichage($login, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    $sql1 = 'SELECT u_nom, u_prenom, u_quotite FROM conges_users where u_login = \'' . SQL::quote($login) . '\'';
    $ReqLog1 = SQL::query($sql1);
    while ($resultat1 = $ReqLog1->fetch_array()) {
        $sql_nom = $resultat1["u_nom"];
        $sql_prenom = $resultat1["u_prenom"];
        $sql_quotite = $resultat1["u_quotite"];
    }
    // TITRE
    echo "<H1>{$sql_prenom}  {$sql_nom}  ({$login})</H1>\n\n";
    /********************/
    /* Bilan des Conges */
    /********************/
    // affichage du tableau récapitulatif des solde de congés d'un user
    affiche_tableau_bilan_conges_user($login, $DEBUG);
    echo "<br><br><br>\n";
    affiche_nouvelle_edition($login, $DEBUG);
    affiche_anciennes_editions($login, $DEBUG);
}
コード例 #2
0
function get_libelle_abs($_type_abs_id,  $DEBUG=FALSE)
{

	$sql_abs='SELECT ta_libelle FROM conges_type_absence WHERE ta_id=\''.SQL::quote($_type_abs_id).'\'';
	$ReqLog_abs = SQL::query($sql_abs);
	if($resultat_abs = $ReqLog_abs->fetch_array())
		return $resultat_abs['ta_libelle'];
	else
		return "" ;
}
コード例 #3
0
ファイル: config_mail.php プロジェクト: kakargias/php-conges
function commit_modif($tab_new_values, $session, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    if ($session == "") {
        $URL = "{$PHP_SELF}";
    } else {
        $URL = "{$PHP_SELF}?session={$session}";
    }
    // update de la table
    foreach ($tab_new_values as $nom_mail => $tab_mail) {
        $subject = addslashes($tab_mail['subject']);
        $body = addslashes($tab_mail['body']);
        $req_update = 'UPDATE conges_mail SET mail_subject=\'' . $subject . '\', mail_body=\'' . $body . '\' WHERE mail_nom=\'' . SQL::quote($nom_mail) . '\' ';
        $result1 = SQL::query($req_update);
    }
    echo "<span class = \"messages\">" . _('form_modif_ok') . "</span><br>";
    $comment_log = "configuration des mails d\\'alerte";
    log_action(0, "", "", $comment_log, $DEBUG);
    if ($DEBUG) {
        echo "<a href=\"{$URL}\" method=\"POST\">" . _('form_retour') . "</a><br>\n";
    } else {
        echo "<META HTTP-EQUIV=REFRESH CONTENT=\"2; URL={$URL}\">";
    }
}
コード例 #4
0
function get_current_grille_rtt($u_login_to_update, $DEBUG = FALSE)
{
    $tab_grille = array();
    $sql = 'SELECT * FROM conges_artt WHERE a_login=\'' . SQL::quote($u_login_to_update) . '\' AND a_date_fin_grille=\'9999-12-31\' ';
    $ReqLog1 = SQL::query($sql);
    while ($resultat1 = $ReqLog1->fetch_array()) {
        $tab_grille['sem_imp_lu_am'] = $resultat1['sem_imp_lu_am'];
        $tab_grille['sem_imp_lu_pm'] = $resultat1['sem_imp_lu_pm'];
        $tab_grille['sem_imp_ma_am'] = $resultat1['sem_imp_ma_am'];
        $tab_grille['sem_imp_ma_pm'] = $resultat1['sem_imp_ma_pm'];
        $tab_grille['sem_imp_me_am'] = $resultat1['sem_imp_me_am'];
        $tab_grille['sem_imp_me_pm'] = $resultat1['sem_imp_me_pm'];
        $tab_grille['sem_imp_je_am'] = $resultat1['sem_imp_je_am'];
        $tab_grille['sem_imp_je_pm'] = $resultat1['sem_imp_je_pm'];
        $tab_grille['sem_imp_ve_am'] = $resultat1['sem_imp_ve_am'];
        $tab_grille['sem_imp_ve_pm'] = $resultat1['sem_imp_ve_pm'];
        $tab_grille['sem_imp_sa_am'] = $resultat1['sem_imp_sa_am'];
        $tab_grille['sem_imp_sa_pm'] = $resultat1['sem_imp_sa_pm'];
        $tab_grille['sem_imp_di_am'] = $resultat1['sem_imp_di_am'];
        $tab_grille['sem_imp_di_pm'] = $resultat1['sem_imp_di_pm'];
        $tab_grille['sem_p_lu_am'] = $resultat1['sem_p_lu_am'];
        $tab_grille['sem_p_lu_pm'] = $resultat1['sem_p_lu_pm'];
        $tab_grille['sem_p_ma_am'] = $resultat1['sem_p_ma_am'];
        $tab_grille['sem_p_ma_pm'] = $resultat1['sem_p_ma_pm'];
        $tab_grille['sem_p_me_am'] = $resultat1['sem_p_me_am'];
        $tab_grille['sem_p_me_pm'] = $resultat1['sem_p_me_pm'];
        $tab_grille['sem_p_je_am'] = $resultat1['sem_p_je_am'];
        $tab_grille['sem_p_je_pm'] = $resultat1['sem_p_je_pm'];
        $tab_grille['sem_p_ve_am'] = $resultat1['sem_p_ve_am'];
        $tab_grille['sem_p_ve_pm'] = $resultat1['sem_p_ve_pm'];
        $tab_grille['sem_p_sa_am'] = $resultat1['sem_p_sa_am'];
        $tab_grille['sem_p_sa_pm'] = $resultat1['sem_p_sa_pm'];
        $tab_grille['sem_p_di_am'] = $resultat1['sem_p_di_am'];
        $tab_grille['sem_p_di_pm'] = $resultat1['sem_p_di_pm'];
    }
    if ($DEBUG) {
        echo "get_current_grille_rtt :<br>\n";
        print_r($tab_grille);
        echo "<br>\n";
    }
    return $tab_grille;
}
コード例 #5
0
ファイル: hr_ajout_conges.php プロジェクト: coz787/Libertempo
function ajout_global_groupe($choix_groupe, $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 des users d'un groupe donné
    $list_users = get_list_users_du_groupe($choix_groupe, $DEBUG);
    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}) 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 : on update conges_solde_user
                    $req_update = 'UPDATE conges_solde_user SET su_solde = su_solde+ ' . intval($nb_conges) . '
							WHERE  su_login = \'' . SQL::quote($current_login) . '\' AND su_abs_id = ' . intval($id_conges) . ';';
                    $ReqLog_update = SQL::query($req_update);
                    // 2 : on insert l'ajout de conges dans la table periode
                    // recup du nom du groupe
                    $groupename = get_group_name_from_id($choix_groupe, $DEBUG);
                    $commentaire = _('resp_ajout_conges_comment_periode_groupe') . " {$groupename}";
                    // ajout conges
                    insert_ajout_dans_periode($DEBUG, $current_login, $nb_conges, $id_conges, $commentaire);
                }
            }
            $group_name = get_group_name_from_id($choix_groupe, $DEBUG);
            if (!isset($tab_calcul_proportionnel[$id_conges]) || $tab_calcul_proportionnel[$id_conges] != TRUE) {
                $comment_log = "ajout conges pour groupe {$group_name} ({$nb_jours} jour(s)) ({$comment}) (calcul proportionnel : No)";
            } else {
                $comment_log = "ajout conges pour groupe {$group_name} ({$nb_jours} jour(s)) ({$comment}) (calcul proportionnel : Yes)";
            }
            log_action(0, "ajout", "groupe", $comment_log, $DEBUG);
        }
    }
}
コード例 #6
0
function traite_all_demande_en_cours($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_abs = $champs[2];
        // id du type de conges demandé
        $date_deb = $champs[3];
        $demi_jour_deb = $champs[4];
        $date_fin = $champs[5];
        $demi_jour_fin = $champs[6];
        $reponse = $champs[7];
        $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, "OK") == 0) {
            /* UPDATE table "conges_periode" */
            $sql1 = 'UPDATE conges_periode SET p_etat=\'ok\', p_date_traitement=NOW() WHERE p_num=\'' . SQL::quote($numero_int) . '\' AND ( p_etat=\'valid\' OR p_etat=\'demande\' );';
            /* On valide l'UPDATE dans la table "conges_periode" ! */
            $ReqLog1 = SQL::query($sql1);
            if ($ReqLog1 && SQL::getVar('affected_rows')) {
                // Log de l'action
                log_action($numero_int, "ok", $user_login, "traite demande {$numero} ({$user_login}) ({$user_nb_jours_pris} jours) : {$reponse}", $DEBUG);
                /* UPDATE table "conges_solde_user" (jours restants) */
                soustrait_solde_et_reliquat_user($user_login, $numero_int, $user_nb_jours_pris, $type_abs, $date_deb, $demi_jour_deb, $date_fin, $demi_jour_fin, $DEBUG);
                //envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
                if ($_SESSION['config']['mail_valid_conges_alerte_user']) {
                    alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "accept_conges", $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=\'' . SQL::quote($numero_int) . '\' AND ( p_etat=\'valid\' OR p_etat=\'demande\' );';
            /* On valide l'UPDATE dans la table ! */
            $ReqLog1 = SQL::query($sql1);
            if ($ReqLog1 && SQL::getVar('affected_rows')) {
                // Log de l'action
                log_action($numero_int, "refus", $user_login, "traite demande {$numero} ({$user_login}) ({$user_nb_jours_pris} jours) : refus", $DEBUG);
                //envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
                if ($_SESSION['config']['mail_refus_conges_alerte_user']) {
                    alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "refus_conges", $DEBUG);
                }
            }
        }
    }
    if ($DEBUG) {
        echo "<form action=\"{$PHP_SELF}?sesssion={$session}&onglet=traitement_demande\" method=\"POST\">\n";
        echo "<input type=\"hidden\" name=\"session\" value=\"{$session}\">\n";
        echo "<input class=\"btn\" type=\"submit\" value=\"" . _('form_ok') . "\">\n";
        echo "</form>\n";
    } else {
        echo _('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\">";
    }
    //envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
    if ($_SESSION['config']['mail_refus_conges_alerte_user']) {
        alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "refus_conges", $DEBUG);
    }
}
コード例 #7
0
function cloture_current_year_for_login($current_login, $tab_current_user, $tab_type_conges, $commentaire, $DEBUG = FALSE)
{
    // si le num d'exercice du user est < à celui de l'appli (il n'a pas encore été basculé): on le bascule d'exercice
    if ($tab_current_user['num_exercice'] < $_SESSION['config']['num_exercice']) {
        // calcule de la date limite d'utilisation des reliquats (si on utilise une date limite et qu'elle n'est pas encore calculée)
        set_nouvelle_date_limite_reliquat($DEBUG);
        //tableau de tableaux les nb et soldes de conges d'un user (indicé par id de conges)
        $tab_conges_current_user = $tab_current_user['conges'];
        foreach ($tab_type_conges as $id_conges => $libelle) {
            $user_nb_jours_ajout_an = $tab_conges_current_user[$libelle]['nb_an'];
            $user_solde_actuel = $tab_conges_current_user[$libelle]['solde'];
            $user_reliquat_actuel = $tab_conges_current_user[$libelle]['reliquat'];
            if ($DEBUG) {
                echo "{$current_login} --- {$id_conges} --- {$user_nb_jours_ajout_an}<br>\n";
            }
            /**********************************************/
            /* Modification de la table conges_solde_user */
            if ($_SESSION['config']['autorise_reliquats_exercice']) {
                // ATTENTION : si le solde du user est négatif, on ne compte pas de reliquat et le nouveau solde est nb_jours_an + le solde actuel (qui est négatif)
                if ($user_solde_actuel > 0) {
                    //calcul du reliquat pour l'exercice suivant
                    if ($_SESSION['config']['nb_maxi_jours_reliquats'] != 0) {
                        if ($user_solde_actuel <= $_SESSION['config']['nb_maxi_jours_reliquats']) {
                            $new_reliquat = $user_solde_actuel;
                        } else {
                            $new_reliquat = $_SESSION['config']['nb_maxi_jours_reliquats'];
                        }
                    } else {
                        $new_reliquat = $user_reliquat_actuel + $user_solde_actuel;
                    }
                    //
                    // update D'ABORD du reliquat
                    $sql_reliquat = 'UPDATE conges_solde_user SET su_reliquat = ' . $new_reliquat . ' WHERE su_login=\'' . SQL::quote($current_login) . '\'  AND su_abs_id = ' . $id_conges;
                    $ReqLog_reliquat = SQL::query($sql_reliquat);
                } else {
                    $new_reliquat = $user_solde_actuel;
                }
                // qui est nul ou negatif
                $new_solde = $user_nb_jours_ajout_an + $new_reliquat;
                // update du solde
                $sql_solde = 'UPDATE conges_solde_user SET su_solde = ' . intval($new_solde) . ' WHERE su_login=\'' . SQL::quote($current_login) . '\'  AND su_abs_id = ' . intval($id_conges) . ';';
                $ReqLog_solde = SQL::query($sql_solde);
            } else {
                // ATTENTION : meme si on accepte pas les reliquats, si le solde du user est négatif, il faut le reporter: le nouveau solde est nb_jours_an + le solde actuel (qui est négatif)
                if ($user_solde_actuel < 0) {
                    $new_solde = $user_nb_jours_ajout_an + $user_solde_actuel;
                } else {
                    $new_solde = $user_nb_jours_ajout_an;
                }
                $sql_solde = 'UPDATE conges_solde_user SET su_solde = ' . intval($new_solde) . ' WHERE su_login=\'' . SQL::quote($current_login) . '\' AND su_abs_id = ' . intval($id_conges) . ';';
                $ReqLog_solde = SQL::query($sql_solde);
            }
            /* Modification de la table conges_users */
            // ATTENTION : ne pas faire "SET u_num_exercice = u_num_exercice+1" dans la requete SQL car on incrémenterait pour chaque type d'absence !
            $new_num_exercice = $_SESSION['config']['num_exercice'];
            $sql2 = 'UPDATE conges_users SET u_num_exercice = ' . $new_num_exercice . ' WHERE u_login=\'' . SQL::quote($current_login) . '\'  ';
            $ReqLog2 = SQL::query($sql2);
            // on insert l'ajout de conges dans la table periode (avec le commentaire)
            $date_today = date("Y-m-d");
            insert_dans_periode($current_login, $date_today, "am", $date_today, "am", $user_nb_jours_ajout_an, $commentaire, $id_conges, "ajout", 0, $DEBUG);
        }
        // on incrémente le num_exercice de l'application si tous les users on été basculés.
        update_appli_num_exercice($DEBUG);
    }
}
コード例 #8
0
function verif_periode_chevauche_periode_user($date_debut, $date_fin, $user, $num_current_periode = '', $tab_periode_calcul, &$comment, $DEBUG = FALSE, $num_update = null)
{
    /************************************************************/
    // 2 : on verifie que le conges demandé ne chevauche pas une periode deja posée
    // -> on recupere les periodes par rapport aux dates, on en fait une tableau de 1/2 journees, et on compare par 1/2 journee
    $tab_periode_deja_prise = array();
    $current_day = $date_debut;
    $date_limite = jour_suivant($date_fin);
    // on va avancer jour par jour jusqu'à la date limite et recupere les periodes qui contiennent ce jour...
    // on construit un tableau par date et 1/2 jour avec l'état de la periode
    while ($current_day != $date_limite) {
        $tab_periode_deja_prise[$current_day]['am'] = "no";
        $tab_periode_deja_prise[$current_day]['pm'] = "no";
        if ($num_update === null) {
            // verif si c'est deja un conges
            $user_periode_sql = 'SELECT  p_date_deb, p_demi_jour_deb, p_date_fin, p_demi_jour_fin, p_etat
                                FROM conges_periode
                                WHERE p_login = \'' . SQL::quote($user) . '\' AND ( p_etat=\'ok\' OR p_etat=\'valid\' OR p_etat=\'demande\' )
                                    ' . (!empty($num_current_periode) ? 'AND p_num != ' . intval($num_current_periode) . ' ' : '') . '
                                    AND p_date_deb<=\'' . SQL::quote($current_day) . '\' AND p_date_fin>=\'' . SQL::quote($current_day) . '\' ';
        } else {
            // verif si c'est deja un conges
            $user_periode_sql = 'SELECT  p_date_deb, p_demi_jour_deb, p_date_fin, p_demi_jour_fin, p_etat
                                FROM conges_periode
                                WHERE p_login = \'' . SQL::quote($user) . '\' AND ( p_etat=\'ok\' OR p_etat=\'valid\' OR p_etat=\'demande\' )
                                    ' . (!empty($num_current_periode) ? 'AND p_num != ' . intval($num_current_periode) . ' ' : '') . '
                                    AND p_date_deb<=\'' . SQL::quote($current_day) . '\' AND p_date_fin>=\'' . SQL::quote($current_day) . '\'
                                    AND p_num != \'' . intval($num_update) . '\' ';
        }
        $user_periode_request = SQL::query($user_periode_sql);
        //          $user_periode_request = SQL::query($user_periode_sql);
        if ($user_periode_request->num_rows != 0) {
            while ($resultat_periode = $user_periode_request->fetch_array()) {
                $sql_p_date_deb = $resultat_periode["p_date_deb"];
                $sql_p_date_fin = $resultat_periode["p_date_fin"];
                $sql_p_demi_jour_deb = $resultat_periode["p_demi_jour_deb"];
                $sql_p_demi_jour_fin = $resultat_periode["p_demi_jour_fin"];
                $sql_p_etat = $resultat_periode["p_etat"];
                if ($current_day != $sql_p_date_deb && $current_day != $sql_p_date_fin) {
                    // pas la peine d'aller + loin, on chevauche une periode de conges !!!
                    if ($sql_p_etat == "demande") {
                        $comment = _('calcul_nb_jours_commentaire_impossible');
                    } else {
                        $comment = _('calcul_nb_jours_commentaire');
                    }
                    if ($DEBUG) {
                        echo "tab_periode_deja_prise :<br>\n";
                        print_r($tab_periode_deja_prise);
                        echo "<br>\n";
                    }
                    return TRUE;
                } elseif ($current_day == $sql_p_date_deb && $current_day == $sql_p_date_fin) {
                    if ($sql_p_demi_jour_deb == "am") {
                        $tab_periode_deja_prise[$current_day]['am'] = "{$sql_p_etat}";
                    }
                    if ($sql_p_demi_jour_fin == "pm") {
                        $tab_periode_deja_prise[$current_day]['pm'] = "{$sql_p_etat}";
                    }
                } elseif ($current_day == $sql_p_date_deb) {
                    if ($sql_p_demi_jour_deb == "am") {
                        $tab_periode_deja_prise[$current_day]['am'] = "{$sql_p_etat}";
                        $tab_periode_deja_prise[$current_day]['pm'] = "{$sql_p_etat}";
                    } else {
                        // alors ($sql_p_demi_jour_deb=="pm")
                        $tab_periode_deja_prise[$current_day]['pm'] = "{$sql_p_etat}";
                    }
                } else {
                    if ($sql_p_demi_jour_fin == "pm") {
                        $tab_periode_deja_prise[$current_day]['am'] = "{$sql_p_etat}";
                        $tab_periode_deja_prise[$current_day]['pm'] = "{$sql_p_etat}";
                    } else {
                        // alors ($sql_p_demi_jour_fin=="am")
                        $tab_periode_deja_prise[$current_day]['am'] = "{$sql_p_etat}";
                    }
                }
            }
        }
        $current_day = jour_suivant($current_day);
    }
    // fin du while
    /**********************************************/
    // Ensuite verifie en parcourant le tableau qu'on vient de crée (s'il n'est pas vide)
    if (count($tab_periode_deja_prise) != 0) {
        $current_day = $date_debut;
        $date_limite = jour_suivant($date_fin);
        // on va avancer jour par jour jusqu'à la date limite et recupere les periodes qui contiennent ce jour...
        // on construit un tableau par date et 1/2 jour avec l'état de la periode
        while ($current_day != $date_limite) {
            if ($tab_periode_calcul[$current_day]['am'] == 1 && $tab_periode_deja_prise[$current_day]['am'] != "no") {
                // pas la peine d'aller + loin, on chevauche une periode de conges !!!
                if ($tab_periode_deja_prise[$current_day]['am'] == "demande") {
                    $comment = _('calcul_nb_jours_commentaire_impossible');
                } else {
                    $comment = _('calcul_nb_jours_commentaire');
                }
                if ($DEBUG) {
                    echo "tab_periode_deja_prise :<br>\n";
                    print_r($tab_periode_deja_prise);
                    echo "<br>\n";
                }
                return TRUE;
            }
            if ($tab_periode_calcul[$current_day]['pm'] == 1 && $tab_periode_deja_prise[$current_day]['pm'] != "no") {
                // pas la peine d'aller + loin, on chevauche une periode de conges !!!
                if ($tab_periode_deja_prise[$current_day]['pm'] == "demande") {
                    $comment = _('calcul_nb_jours_commentaire_impossible');
                } else {
                    $comment = _('calcul_nb_jours_commentaire');
                }
                if ($DEBUG) {
                    echo "tab_periode_deja_prise :<br>\n";
                    print_r($tab_periode_deja_prise);
                    echo "<br>\n";
                }
                return TRUE;
            }
            $current_day = jour_suivant($current_day);
        }
        // fin du while
    }
    if ($DEBUG) {
        echo "tab_periode_calcul :<br>\n";
        print_r($tab_periode_calcul);
        echo "<br>\n";
    }
    return FALSE;
    /************************************************************/
    // Fin de le verif de chevauchement d'une période déja saisie
}
コード例 #9
0
function get_table_data($table, $DEBUG = FALSE)
{
    $chaine_data = "";
    // suppression des donnéées de la table :
    $chaine_delete = 'DELETE FROM `' . SQL::quote($table) . '` ;' . "\n";
    $chaine_data = $chaine_data . $chaine_delete;
    // recup des donnéées de la table :
    $sql_data = 'SELECT * FROM ' . SQL::quote($table);
    $ReqLog_data = SQL::query($sql_data);
    while ($resultat_data = $ReqLog_data->fetch_array()) {
        $count_fields = count($resultat_data) / 2;
        // on divise par 2 car c'est un tableau indexé (donc compte key+valeur)
        $chaine_insert = "INSERT INTO `{$table}` VALUES ( ";
        for ($i = 0; $i < $count_fields; $i++) {
            if (isset($resultat_data[$i])) {
                $chaine_insert = $chaine_insert . "'" . addslashes($resultat_data[$i]) . "'";
            } else {
                $chaine_insert = $chaine_insert . "NULL";
            }
            if ($i != $count_fields - 1) {
                $chaine_insert = $chaine_insert . ", ";
            }
        }
        $chaine_insert = $chaine_insert . " );\n";
        $chaine_data = $chaine_data . $chaine_insert;
    }
    return $chaine_data;
}
コード例 #10
0
function suppression($u_login_to_delete, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    //echo($u_login_to_delete."---".$u_login_to_delete."<br>");
    $sql1 = 'DELETE FROM conges_users WHERE u_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result = SQL::query($sql1);
    $sql2 = 'DELETE FROM conges_periode WHERE p_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result2 = SQL::query($sql2);
    $sql3 = 'DELETE FROM conges_artt WHERE a_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result3 = SQL::query($sql3);
    $sql4 = 'DELETE FROM conges_echange_rtt WHERE e_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result4 = SQL::query($sql4);
    $sql5 = 'DELETE FROM conges_groupe_resp WHERE gr_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result5 = SQL::query($sql5);
    $sql6 = 'DELETE FROM conges_groupe_users WHERE gu_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result6 = SQL::query($sql6);
    $sql7 = 'DELETE FROM conges_solde_user WHERE su_login = \'' . SQL::quote($u_login_to_delete) . '\'';
    $result7 = SQL::query($sql7);
    $comment_log = "suppression_user ({$u_login_to_delete})";
    log_action(0, "", $u_login_to_delete, $comment_log, $DEBUG);
    if ($result) {
        echo _('form_modif_ok') . " !<br><br> \n";
    } else {
        echo _('form_modif_not_ok') . " !<br><br> \n";
    }
}
コード例 #11
0
ファイル: configure.php プロジェクト: coz787/Libertempo
function commit_saisie(&$tab_new_values, $session, $DEBUG = FALSE)
{
    //$DEBUG=TRUE;
    $PHP_SELF = $_SERVER['PHP_SELF'];
    if ($session == "") {
        $URL = "{$PHP_SELF}";
    } else {
        $URL = "{$PHP_SELF}?session={$session}";
    }
    $timeout = 2;
    // temps d'attente pour rafraichir l'écran après l'update !
    if ($DEBUG) {
        echo "SESSION = ";
        print_r($_SESSION);
        echo "<br>\n";
    }
    foreach ($tab_new_values as $key => $value) {
        // CONTROLE gestion_conges_exceptionnels
        // si désactivation les conges exceptionnels, on verif s'il y a des conges exceptionnels enregistres ! si oui : changement impossible !
        if ($key == "gestion_conges_exceptionnels" && $value == "FALSE") {
            $sql_abs = "SELECT ta_id, ta_libelle FROM conges_type_absence WHERE ta_type='conges_exceptionnels' ";
            $ReqLog_abs = SQL::query($sql_abs);
            if ($ReqLog_abs->num_rows != 0) {
                echo "<b>" . _('config_abs_desactive_cong_excep_impossible') . "</b><br>\n";
                $value = "TRUE";
                $timeout = 5;
            }
        }
        // CONTROLE jour_mois_limite_reliquats
        // si modif de jour_mois_limite_reliquats, on verifie le format ( 0 ou jj-mm) , sinon : changement impossible !
        if ($key == "jour_mois_limite_reliquats" && $value != "0") {
            $t = explode("-", $value);
            if (checkdate($t[1], $t[0], date("Y")) == FALSE) {
                echo "<b>" . _('config_jour_mois_limite_reliquats_modif_impossible') . "</b><br>\n";
                $sql_date = "SELECT conf_valeur FROM conges_config WHERE conf_nom='jour_mois_limite_reliquats' ";
                $ReqLog_date = SQL::query($sql_date);
                $data = $ReqLog_date->fetch_row();
                $value = $data[0];
                $timeout = 5;
            }
        }
        if (preg_match("/_installed\$/", $key) && $value == "1") {
            $plugin = explode("_", $key);
            $plugin = $plugin[0];
            install_plugin($plugin);
        } elseif (preg_match("/_installed\$/", $key) && $value == "0") {
            $plugin = explode("_", $key);
            $plugin = $plugin[0];
            uninstall_plugin($plugin);
        }
        if (preg_match("/_activated\$/", $key) && $value == "1") {
            $plugin = explode("_", $key);
            $plugin = $plugin[0];
            activate_plugin($plugin);
        } elseif (preg_match("/_activated\$/", $key) && $value == "0") {
            $plugin = explode("_", $key);
            $plugin = $plugin[0];
            disable_plugin($plugin);
        }
        // Mise à jour
        $sql2 = 'UPDATE conges_config SET conf_valeur = \'' . addslashes($value) . '\' WHERE conf_nom =\'' . SQL::quote($key) . '\' ';
        $ReqLog2 = SQL::query($sql2);
    }
    $_SESSION['config'] = init_config_tab();
    // on re-initialise le tableau des variables de config
    // enregistrement dans les logs
    $comment_log = "nouvelle configuration de php_conges ";
    log_action(0, "", "", $comment_log, $DEBUG);
    echo "<span class = \"messages\">" . _('form_modif_ok') . "</span><br>";
    echo "<META HTTP-EQUIV=REFRESH CONTENT=\"{$timeout}; URL={$URL}\">";
}
コード例 #12
0
function modif_resp_groupes($choix_resp, &$checkbox_resp_group, &$checkbox_grd_resp_group, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    $result_insert = TRUE;
    $result_insert_2 = TRUE;
    //echo "responsable : $choix_resp<br>\n";
    // on supprime tous les anciens resps du groupe puis on ajoute tous ceux qui sont dans le tableau de la checkbox
    $sql_del = 'DELETE FROM conges_groupe_resp WHERE gr_login=\'' . SQL::quote($choix_resp) . '\'';
    $ReqLog_del = SQL::query($sql_del);
    // on supprime tous les anciens grands resps du groupe puis on ajoute tous ceux qui sont dans le tableau de la checkbox
    $sql_del_2 = 'DELETE FROM conges_groupe_grd_resp WHERE ggr_login=\'' . SQL::quote($choix_resp) . '\'';
    $ReqLog_del_2 = SQL::query($sql_del_2);
    // ajout des resp qui sont dans la checkbox
    if ($checkbox_resp_group != "") {
        foreach ($checkbox_resp_group as $gid => $value) {
            $sql_insert = "INSERT INTO conges_groupe_resp SET gr_gid={$gid}, gr_login='******' ";
            $result_insert = SQL::query($sql_insert);
        }
    }
    // ajout des grands resp qui sont dans la checkbox
    if ($checkbox_grd_resp_group != "") {
        foreach ($checkbox_grd_resp_group as $grd_gid => $value) {
            $sql_insert_2 = "INSERT INTO conges_groupe_grd_resp SET ggr_gid={$grd_gid}, ggr_login='******' ";
            $result_insert_2 = SQL::query($sql_insert_2);
        }
    }
    if ($result_insert && $result_insert_2) {
        echo _('form_modif_ok') . " !<br><br> \n";
    } else {
        echo _('form_modif_not_ok') . " !<br><br> \n";
    }
    $comment_log = "mofification groupes dont {$choix_resp} est responsable ou grand responsable";
    log_action(0, "", $choix_resp, $comment_log, $DEBUG);
    /* APPEL D'UNE AUTRE PAGE */
    echo " <form action=\"{$PHP_SELF}?session={$session}&onglet=admin-group-responsables&choix_gestion_groupes_responsables=resp-group\" method=\"POST\"> \n";
    echo "<input type=\"submit\" value=\"" . _('form_retour') . "\">\n";
    echo " </form> \n";
}
コード例 #13
0
function get_nb_users_du_groupe($group_id, $DEBUG = FALSE)
{
    $sql1 = 'SELECT DISTINCT(gu_login) FROM conges_groupe_users WHERE gu_gid = ' . SQL::quote($group_id) . ' ORDER BY gu_login ';
    $ReqLog1 = SQL::query($sql1);
    $nb_users = $ReqLog1->num_rows;
    return $nb_users;
}
コード例 #14
0
function modif_group_users($choix_group, &$checkbox_group_users, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    // on supprime tous les anciens users du groupe puis on ajoute tous ceux qui sont dans le tableau checkbox (si il n'est pas vide)
    $sql_del = 'DELETE FROM conges_groupe_users WHERE gu_gid=' . SQL::quote($choix_group);
    $ReqLog_del = SQL::query($sql_del);
    if (is_array($checkbox_group_users) && count($checkbox_group_users) != 0) {
        foreach ($checkbox_group_users as $login => $value) {
            //$login=$checkbox_group_users[$i] ;
            $sql_insert = "INSERT INTO conges_groupe_users SET gu_gid={$choix_group}, gu_login='******' ";
            $result_insert = SQL::query($sql_insert);
        }
    } else {
        $result_insert = TRUE;
    }
    if ($result_insert) {
        echo _('form_modif_ok') . "<br><br> \n";
    } else {
        echo _('form_modif_not_ok') . "<br><br> \n";
    }
    $comment_log = "mofification_users_du_groupe : {$choix_group}";
    log_action(0, "", "", $comment_log, $DEBUG);
    /* APPEL D'UNE AUTRE PAGE */
    echo " <form action=\"{$PHP_SELF}?session={$session}&onglet=admin-group-users\" method=\"POST\"> \n";
    echo "<input type=\"submit\" value=\"" . _('form_retour') . "\">\n";
    echo " </form> \n";
}
コード例 #15
0
function suppression_group($group_to_delete, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    $sql1 = 'DELETE FROM conges_groupe WHERE g_gid = ' . SQL::quote($group_to_delete);
    $result = SQL::query($sql1);
    $sql2 = 'DELETE FROM conges_groupe_users WHERE gu_gid = ' . SQL::quote($group_to_delete);
    $result2 = SQL::query($sql2);
    $sql3 = 'DELETE FROM conges_groupe_resp WHERE gr_gid = ' . SQL::quote($group_to_delete);
    $result3 = SQL::query($sql3);
    if ($_SESSION['config']['double_validation_conges']) {
        $sql4 = 'DELETE FROM conges_groupe_grd_resp WHERE ggr_gid = ' . SQL::quote($group_to_delete);
        $result4 = SQL::query($sql4);
    }
    $comment_log = "suppression_groupe ({$group_to_delete})";
    log_action(0, "", "", $comment_log, $DEBUG);
    if ($result) {
        echo _('form_modif_ok') . " !<br><br> \n";
    } else {
        echo _('form_modif_not_ok') . " !<br><br> \n";
    }
    /* APPEL D'UNE AUTRE PAGE au bout d'une tempo de 2secondes */
    echo "<META HTTP-EQUIV=REFRESH CONTENT=\"2; URL=admin_index.php?session={$session}&onglet=admin-group\">";
}
コード例 #16
0
function soustrait_solde_et_reliquat_user($user_login, $num_current_periode, $user_nb_jours_pris, $type_abs, $date_deb, $demi_jour_deb, $date_fin, $demi_jour_fin, $DEBUG = FALSE)
{
    $user_nb_jours_pris = strtr($user_nb_jours_pris, ",", ".");
    //si on autorise les reliquats
    if ($_SESSION['config']['autorise_reliquats_exercice']) {
        //recup du reliquat du user pour ce type d'absence
        $reliquat = get_reliquat_user_conges($user_login, $type_abs, $DEBUG);
        //echo "reliquat = $reliquat<br>\n";
        // s'il y a une date limite d'utilisationdes reliquats (au format jj-mm)
        if ($_SESSION['config']['jour_mois_limite_reliquats'] != 0) {
            //si date_fin_conges < date_limite_reliquat => alors on décompte dans reliquats
            if ($date_fin < $_SESSION['config']['date_limite_reliquats']) {
                if ($reliquat > $user_nb_jours_pris) {
                    $new_reliquat = $reliquat - $user_nb_jours_pris;
                } else {
                    $new_reliquat = 0;
                }
            } elseif ($date_deb >= $_SESSION['config']['date_limite_reliquats']) {
                $new_reliquat = $reliquat;
            } else {
                include 'fonctions_calcul.php';
                $nb_reliquats_a_deduire = compter($user_login, $num_current_periode, $date_deb, $_SESSION['config']['date_limite_reliquats'], $demi_jour_deb, "pm", null, $DEBUG);
                if ($reliquat > $nb_reliquats_a_deduire) {
                    $new_reliquat = $reliquat - $nb_reliquats_a_deduire;
                } else {
                    $new_reliquat = 0;
                }
            }
        } else {
            if ($reliquat > $user_nb_jours_pris) {
                $new_reliquat = $reliquat - $user_nb_jours_pris;
            } else {
                $new_reliquat = 0;
            }
        }
        $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . SQL::quote($user_nb_jours_pris) . ', su_reliquat=' . SQL::quote(str_replace(",", ".", $new_reliquat)) . ' WHERE su_login=\'' . SQL::quote($user_login) . '\'  AND su_abs_id=' . $type_abs;
    } else {
        $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . SQL::quote($user_nb_jours_pris) . ' WHERE su_login=\'' . SQL::quote($user_login) . '\'  AND su_abs_id=\'' . $type_abs;
    }
    $ReqLog2 = SQL::query($sql2);
}
コード例 #17
0
function commit_suppr($session, $id_to_update, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    if ($session == "") {
        $URL = "{$PHP_SELF}";
    } else {
        $URL = "{$PHP_SELF}?session={$session}";
    }
    if ($DEBUG) {
        echo "URL = {$URL}<br>\n";
    }
    // delete dans la table conges_type_absence
    $req_delete1 = 'DELETE FROM conges_type_absence WHERE ta_id=' . SQL::quote($id_to_update) . '\'';
    $result1 = SQL::query($req_delete1);
    // delete dans la table conges_solde_user
    $req_delete2 = 'DELETE FROM conges_solde_user WHERE su_abs_id=' . SQL::quote($id_to_update) . '\'';
    $result2 = SQL::query($req_delete2);
    echo "<span class = \"messages\">" . _('form_modif_ok') . "</span><br>";
    $comment_log = "config : supprime_type_absence ({$id_to_update}) ";
    log_action(0, "", "", $comment_log, $DEBUG);
    if ($DEBUG) {
        echo "<a href=\"{$URL}\" method=\"POST\">" . _('form_retour') . "</a><br>\n";
    } else {
        echo "<META HTTP-EQUIV=REFRESH CONTENT=\"2; URL={$URL}\">";
    }
}
コード例 #18
0
function commit_update($group_to_update, $new_groupname, $new_comment, $new_double_valid, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    $result = TRUE;
    $new_comment = addslashes($new_comment);
    echo "{$group_to_update}---{$new_groupname}---{$new_comment}---{$new_double_valid}<br>\n";
    // UPDATE de la table conges_groupe
    $sql1 = 'UPDATE conges_groupe  SET g_groupename=\'' . $new_groupname . '\', g_comment=\'' . $new_comment . '\' , g_double_valid=\'' . $new_double_valid . '\' WHERE g_gid=\'' . SQL::quote($group_to_update) . '\'';
    $result1 = SQL::query($sql1);
    if ($result1 == FALSE) {
        $result == FALSE;
    }
    $comment_log = "modif_groupe ({$group_to_update}) : {$new_groupname} , {$new_comment} (double_valid = {$new_double_valid})";
    log_action(0, "", "", $comment_log, $DEBUG);
    if ($result) {
        echo _('form_modif_ok') . " !<br><br> \n";
    } else {
        echo _('form_modif_not_ok') . " !<br><br> \n";
    }
    /* APPEL D'UNE AUTRE PAGE au bout d'une tempo de 2secondes */
    echo "<META HTTP-EQUIV=REFRESH CONTENT=\"2; URL=admin_index.php?session={$session}&onglet=admin-group\">";
}
コード例 #19
0
ファイル: index.php プロジェクト: kakargias/php-conges
                    $session_password = "";
                    $erreur = "login_passwd_incorrect";
                    // appel du formulaire d'intentification (login/password)
                    session_saisie_user_password($erreur, $session_username, $session_password);
                    exit;
                } else {
                    // on initialise la nouvelle session
                    session_create($session_username);
                }
            }
        }
    }
}
/*****************************************************************/
if (isset($_SESSION['userlogin'])) {
    $request = "SELECT u_nom, u_passwd, u_prenom, u_is_resp FROM conges_users where u_login = '******'userlogin']) . "' ";
    $rs = SQL::query($request);
    if ($rs->num_rows != 1) {
        redirect(ROOT_PATH . 'index.php');
    } else {
        $session = session_id();
        $row = $rs->fetch_array();
        $NOM = $row["u_nom"];
        $PRENOM = $row["u_prenom"];
        $is_resp = $row["u_is_resp"];
        // si le login est celui d'un responsable ET on est pas en mode "responsable virtuel"
        // OU on est en mode "responsable virtuel" avec login= celui du resp virtuel
        $return_url = getpost_variable('return_url');
        if (!empty($return_url)) {
            if (strpos($return_url, '?')) {
                redirect(ROOT_PATH . $return_url . '&session=' . $session);
コード例 #20
0
function traite_demandes($user_login, $tab_radio_traite_demande, $tab_text_refus,  $DEBUG=FALSE)
{
    $PHP_SELF=$_SERVER['PHP_SELF']; ;
    $session=session_id();

    // recup dans un tableau de tableau les infos des types de conges et absences
    $tab_tout_type_abs = recup_tableau_tout_types_abs( $DEBUG);

    while($elem_tableau = each($tab_radio_traite_demande))
    {
        $champs = explode("--", $elem_tableau['value']);
        $user_login=$champs[0];
        $user_nb_jours_pris=$champs[1];
        $user_nb_jours_pris_float=(float) $user_nb_jours_pris ;
        $value_type_abs_id=$champs[2];
        $date_deb=$champs[3];
        $demi_jour_deb=$champs[4];
        $date_fin=$champs[5];
        $demi_jour_fin=$champs[6];
        $reponse=$champs[7];
//      $value_traite=$champs[3];

        $numero=$elem_tableau['key'];
        $numero_int=(int) $numero;
        if( $DEBUG ) { echo "<br><br>conges numero :$numero --- User_login : $user_login --- nb de jours : $user_nb_jours_pris --->$value_traite<br>" ; }

        if($reponse == "ACCEPTE") // acceptation definitive d'un conges
        {
            /* UPDATE table "conges_periode" */
            $sql1 = 'UPDATE conges_periode SET p_etat="ok", p_date_traitement=NOW() WHERE p_num=\''.SQL::quote($numero_int).'\';';
            $ReqLog1 = SQL::query($sql1);

            // Log de l'action
            log_action($numero_int,"ok", $user_login, "traite demande $numero ($user_login) ($user_nb_jours_pris jours) : $value_traite",  $DEBUG);

            /* UPDATE table "conges_solde_user" (jours restants) */
            // on retranche les jours seulement pour des conges pris (pas pour les absences)
            // donc seulement si le type de l'absence qu'on accepte est un "conges"
            if( $DEBUG ) { echo "type_abs = ".$tab_tout_type_abs[$value_type_abs_id]['type']."<br>\n" ; }
            if(($tab_tout_type_abs[$value_type_abs_id]['type']=="conges")||($tab_tout_type_abs[$value_type_abs_id]['type']=="conges_exceptionnels"))
            {
                soustrait_solde_et_reliquat_user($user_login, $numero_int, $user_nb_jours_pris_float, $value_type_abs_id, $date_deb, $demi_jour_deb, $date_fin, $demi_jour_fin, $DEBUG);
            }

            //envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
            if($_SESSION['config']['mail_valid_conges_alerte_user'])
                alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "accept_conges",  $DEBUG);
        }
        elseif($reponse == "VALID") // première validation dans le cas d'une double validation
        {
            /* UPDATE table "conges_periode" */
            $sql1 = 'UPDATE conges_periode SET p_etat="valid", p_date_traitement=NOW() WHERE p_num=\''.SQL::quote($numero_int).'\';';
            $ReqLog1 = SQL::query($sql1);

            // Log de l'action
            log_action($numero_int,"valid", $user_login, "traite demande $numero ($user_login) ($user_nb_jours_pris jours) : $value_traite",  $DEBUG);

            //envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
            if($_SESSION['config']['mail_valid_conges_alerte_user'])
                alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "valid_conges",  $DEBUG);
        }
        elseif($reponse == "REFUSE") // refus d'un conges
        {
            // recup di motif de refus
            $motif_refus=addslashes($tab_text_refus[$numero_int]);
            //$sql3 = "UPDATE conges_periode SET p_etat=\"refus\" WHERE p_num=$numero_int" ;
            $sql3 = 'UPDATE conges_periode SET p_etat="refus", p_motif_refus=\''.$motif_refus.'\', p_date_traitement=NOW() WHERE p_num=\''.SQL::quote($numero_int).'\';';
            $ReqLog3 = SQL::query($sql3);

            // Log de l'action
            log_action($numero_int,"refus", $user_login, "traite demande $numero ($user_login) ($user_nb_jours_pris jours) : $value_traite",  $DEBUG);

            //envoi d'un mail d'alerte au user (si demandé dans config de php_conges)
            if($_SESSION['config']['mail_refus_conges_alerte_user'])
                alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "refus_conges",  $DEBUG);
        }
    }

    if( $DEBUG )
    {
        echo "<form action=\"$PHP_SELF\" method=\"POST\">\n" ;
        echo "<input type=\"hidden\" name=\"session\" value=\"$session\">\n";
        echo "<input type=\"hidden\" name=\"onglet\" value=\"traite_user\">\n";
        echo "<input type=\"hidden\" name=\"user_login\" value=\"$user_login\">\n";
        echo "<input type=\"submit\" value=\"". _('form_ok') ."\">\n";
        echo "</form>\n" ;
    }
    else
    {
        echo  _('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&user_login=$user_login\">";
    }

}
コード例 #21
0
ファイル: fonction_admin.php プロジェクト: coz787/Libertempo
function commit_modif_user_groups($choix_user, &$checkbox_user_groups, $DEBUG = FALSE)
{
    $result_insert = FALSE;
    // on supprime tous les anciens groupes du user, puis on ajoute tous ceux qui sont dans la tableau checkbox (si il n'est pas vide)
    $sql_del = 'DELETE FROM conges_groupe_users WHERE gu_login=\'' . SQL::quote($choix_user) . '\'';
    $ReqLog_del = SQL::query($sql_del);
    if ($checkbox_user_groups != "" && count($checkbox_user_groups) != 0) {
        foreach ($checkbox_user_groups as $gid => $value) {
            $sql_insert = "INSERT INTO conges_groupe_users SET gu_gid={$gid}, gu_login='******' ";
            $result_insert = SQL::query($sql_insert);
        }
    } else {
        $result_insert = TRUE;
    }
    return $result_insert;
}
コード例 #22
0
function confirmer($p_num, $onglet, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    // Récupération des informations
    $sql1 = 'SELECT p_login, p_date_deb, p_demi_jour_deb, p_date_fin, p_demi_jour_fin, p_nb_jours, p_commentaire, p_etat, p_num FROM conges_periode where p_num = \'' . SQL::quote($p_num) . '\'';
    $ReqLog1 = SQL::query($sql1);
    // AFFICHAGE TABLEAU
    echo '<form NAME="dem_conges" action="' . $PHP_SELF . '" method="POST">';
    echo "<table class=\"table table-responsive\">\n";
    echo '<thead>';
    // affichage première ligne : titres
    echo "<tr>\n";
    echo "<td>" . _('divers_debut_maj_1') . "</td>\n";
    echo "<td>" . _('divers_fin_maj_1') . "</td>\n";
    echo "<td>" . _('divers_nb_jours_maj_1') . "</td>\n";
    echo "<td>" . _('divers_comment_maj_1') . "</td>\n";
    echo "</tr>\n";
    echo '</thead>';
    echo '<tbody>';
    // affichage 2ieme ligne : valeurs actuelles
    echo "<tr>\n";
    while ($resultat1 = $ReqLog1->fetch_array()) {
        $sql_date_deb = eng_date_to_fr($resultat1["p_date_deb"]);
        $sql_demi_jour_deb = $resultat1["p_demi_jour_deb"];
        if ($sql_demi_jour_deb == "am") {
            $demi_j_deb = _('divers_am_short');
        } else {
            $demi_j_deb = _('divers_pm_short');
        }
        $sql_date_fin = eng_date_to_fr($resultat1["p_date_fin"]);
        $sql_demi_jour_fin = $resultat1["p_demi_jour_fin"];
        if ($sql_demi_jour_fin == "am") {
            $demi_j_fin = _('divers_am_short');
        } else {
            $demi_j_fin = _('divers_pm_short');
        }
        $sql_nb_jours = $resultat1["p_nb_jours"];
        $aff_nb_jours = affiche_decimal($sql_nb_jours);
        $sql_commentaire = $resultat1["p_commentaire"];
        $sql_etat = $resultat1["p_etat"];
        echo "<td>{$sql_date_deb} _ {$demi_j_deb}</td><td>{$sql_date_fin} _ {$demi_j_fin}</td><td>{$aff_nb_jours}</td><td>{$sql_commentaire}</td>\n";
        $compte = "";
        if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
            $compte = 'onChange="compter_jours();return false;"';
        }
        $text_debut = "<input class=\"form-control date\" type=\"text\" name=\"new_debut\" size=\"10\" maxlength=\"30\" value=\"" . revert_date($sql_date_deb) . "\">";
        if ($sql_demi_jour_deb == "am") {
            $radio_deb_am = "<input type=\"radio\" {$compte} name=\"new_demi_jour_deb\" value=\"am\" checked>&nbsp;" . _('form_am');
            $radio_deb_pm = "<input type=\"radio\" {$compte} name=\"new_demi_jour_deb\" value=\"pm\">&nbsp;" . _('form_pm');
        } else {
            $radio_deb_am = "<input type=\"radio\" {$compte} name=\"new_demi_jour_deb\" value=\"am\">" . _('form_am');
            $radio_deb_pm = "<input type=\"radio\" {$compte} name=\"new_demi_jour_deb\" value=\"pm\" checked>" . _('form_pm');
        }
        $text_fin = "<input class=\"form-control date\" type=\"text\" name=\"new_fin\" size=\"10\" maxlength=\"30\" value=\"" . revert_date($sql_date_fin) . "\">";
        if ($sql_demi_jour_fin == "am") {
            $radio_fin_am = "<input type=\"radio\" {$compte} name=\"new_demi_jour_fin\" value=\"am\" checked>" . _('form_am');
            $radio_fin_pm = "<input type=\"radio\" {$compte} name=\"new_demi_jour_fin\" value=\"pm\">" . _('form_pm');
        } else {
            $radio_fin_am = "<input type=\"radio\" {$compte} name=\"new_demi_jour_fin\" value=\"am\">" . _('form_am');
            $radio_fin_pm = "<input type=\"radio\" {$compte} name=\"new_demi_jour_fin\" value=\"pm\" checked>" . _('form_pm');
        }
        if ($_SESSION['config']['disable_saise_champ_nb_jours_pris']) {
            $text_nb_jours = "<input class=\"form-control\" type=\"text\" name=\"new_nb_jours\" size=\"5\" maxlength=\"30\" value=\"{$sql_nb_jours}\" style=\"background-color: #D4D4D4; \" readonly=\"readonly\">";
        } else {
            $text_nb_jours = "<input class=\"form-control\" type=\"text\" name=\"new_nb_jours\" size=\"5\" maxlength=\"30\" value=\"{$sql_nb_jours}\">";
        }
        $text_commentaire = "<input class=\"form-control\" type=\"text\" name=\"new_comment\" size=\"15\" maxlength=\"30\" value=\"{$sql_commentaire}\">";
    }
    echo "</tr>\n";
    // affichage 3ieme ligne : saisie des nouvelles valeurs
    echo "<tr>\n";
    echo "<td>{$text_debut}<br>{$radio_deb_am} / {$radio_deb_pm}</td><td>{$text_fin}<br>{$radio_fin_am} / {$radio_fin_pm}</td><td>{$text_nb_jours}</td><td>{$text_commentaire}</td>\n";
    echo "</tr>\n";
    echo '</tbody>';
    echo "</table>\n";
    echo '<hr/>';
    echo "<input type=\"hidden\" name=\"p_num_to_update\" value=\"{$p_num}\">\n";
    echo "<input type=\"hidden\" name=\"p_etat\" value=\"{$sql_etat}\">\n";
    echo "<input type=\"hidden\" name=\"session\" value=\"{$session}\">\n";
    echo '<input type="hidden" name="user_login" value="' . $_SESSION['userlogin'] . '">';
    echo "<input type=\"hidden\" name=\"onglet\" value=\"{$onglet}\">\n";
    echo '<p id="comment_nbj" style="color:red">&nbsp;</p>';
    echo "<input class=\"btn btn-success\" type=\"submit\" value=\"" . _('form_submit') . "\">\n";
    echo "<a class=\"btn\" href=\"{$PHP_SELF}?session={$session}&onglet=demandes_en_cours\">" . _('form_cancel') . "</a>\n";
    echo "</form>\n";
}
コード例 #23
0
function recup_info_edition($edit_id, $DEBUG = FALSE)
{
    $tab = array();
    $sql_edition = 'SELECT ep_date, ep_num_for_user FROM conges_edition_papier where ep_id = ' . SQL::quote($edit_id);
    $ReqLog_edition = SQL::query($sql_edition);
    if ($resultat_edition = $ReqLog_edition->fetch_array()) {
        $tab['date'] = $resultat_edition["ep_date"];
        $tab['num_for_user'] = $resultat_edition["ep_num_for_user"];
        // recup du tab des soldes des conges pour cette edition
        $tab['conges'] = recup_solde_conges_of_edition($edit_id, $DEBUG);
    }
    return $tab;
}
コード例 #24
0
function commit_update($u_login_to_update, $new_pwd1, $new_pwd2, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    if (strlen($new_pwd1) != 0 && strlen($new_pwd2) != 0 && strcmp($new_pwd1, $new_pwd2) == 0) {
        $passwd_md5 = md5($new_pwd1);
        $sql1 = 'UPDATE conges_users  SET u_passwd=\'' . $passwd_md5 . '\' WHERE u_login=\'' . SQL::quote($u_login_to_update) . '\'';
        $result = SQL::query($sql1);
        if ($result) {
            echo _('form_modif_ok') . " !<br><br> \n";
        } else {
            echo _('form_modif_not_ok') . " !<br><br> \n";
        }
        $comment_log = "admin_change_password_user : pour {$u_login_to_update}";
        log_action(0, "", $u_login_to_update, $comment_log, $DEBUG);
        if ($DEBUG) {
            echo "<form action=\"admin_index.php?session={$session}&onglet=admin-users\" method=\"POST\">\n";
            echo "<input type=\"submit\" value=\"" . _('form_ok') . "\">\n";
            echo "</form>\n";
        } else {
            /* APPEL D'UNE AUTRE PAGE au bout d'une tempo de 2secondes */
            echo "<META HTTP-EQUIV=REFRESH CONTENT=\"2; URL=admin_index.php?session={$session}&onglet=admin-users\">";
        }
    } else {
        echo "<H3> " . _('admin_verif_param_invalides') . " </H3>\n";
        echo "<form action=\"{$PHP_SELF}?session={$session}&onglet=chg_pwd_user\" method=\"POST\">\n";
        echo "<input type=\"hidden\" name=\"u_login\" value=\"{$u_login_to_update}\">\n";
        echo "<input type=\"submit\" value=\"" . _('form_redo') . "\">\n";
        echo "</form>\n";
    }
}
コード例 #25
0
function affiche_tableau_affectation_user_groupes($choix_user, $DEBUG = FALSE)
{
    //AFFICHAGE DU TABLEAU DES GROUPES DU USER
    echo "<table class=\"table table-hover table-responsive table-condensed table-striped\">\n";
    // affichage TITRE
    echo "<thead>\n";
    echo "<tr>\n";
    if ($choix_user == "") {
        echo "\t<th colspan=3><h3>" . _('admin_gestion_groupe_users_group_of_new_user') . " :</h3></th>\n";
    } else {
        echo "\t<th colspan=3><h3>" . _('admin_gestion_groupe_users_group_of_user') . " <b> {$choix_user} </b> :</h3></th>\n";
    }
    echo "</tr>\n";
    echo "<tr>\n";
    echo "\t<th>&nbsp;</th>\n";
    echo "\t<th>&nbsp;" . _('admin_groupes_groupe') . "&nbsp;:</th>\n";
    echo "\t<th>&nbsp;" . _('admin_groupes_libelle') . "&nbsp;:</th>\n";
    echo "</tr>\n";
    echo "</thead>\n";
    echo "<tbody>\n";
    // affichage des groupes
    //on rempli un tableau de tous les groupes avec le nom et libellé (tableau de tableau à 3 cellules)
    $tab_groups = array();
    $sql_g = "SELECT g_gid, g_groupename, g_comment FROM conges_groupe ORDER BY g_groupename ";
    $ReqLog_g = SQL::query($sql_g);
    while ($resultat_g = $ReqLog_g->fetch_array()) {
        $tab_gg = array();
        $tab_gg["gid"] = $resultat_g["g_gid"];
        $tab_gg["groupename"] = $resultat_g["g_groupename"];
        $tab_gg["comment"] = $resultat_g["g_comment"];
        $tab_groups[] = $tab_gg;
    }
    $tab_user = "";
    // si le user est connu
    // on rempli un autre tableau des groupes du user
    if ($choix_user != "") {
        $tab_user = array();
        $sql_gu = 'SELECT gu_gid FROM conges_groupe_users WHERE gu_login=\'' . SQL::quote($choix_user) . '\' ORDER BY gu_gid ';
        $ReqLog_gu = SQL::query($sql_gu);
        while ($resultat_gu = $ReqLog_gu->fetch_array()) {
            $tab_user[] = $resultat_gu["gu_gid"];
        }
    }
    // ensuite on affiche tous les groupes avec une case cochée si existe le gid dans le 2ieme tableau
    $count = count($tab_groups);
    for ($i = 0; $i < $count; $i++) {
        $gid = $tab_groups[$i]["gid"];
        $group = $tab_groups[$i]["groupename"];
        $libelle = $tab_groups[$i]["comment"];
        if ($tab_user != "" && in_array($gid, $tab_user)) {
            $case_a_cocher = "<input type=\"checkbox\" name=\"checkbox_user_groups[{$gid}]\" value=\"{$gid}\" checked>";
            $class = "histo-big";
        } else {
            $case_a_cocher = "<input type=\"checkbox\" name=\"checkbox_user_groups[{$gid}]\" value=\"{$gid}\">";
            $class = "histo";
        }
        echo '<tr class="' . (!($i % 2) ? 'i' : 'p') . '">';
        echo "\t<td>{$case_a_cocher}</td>\n";
        echo "\t<td class=\"{$class}\">&nbsp;{$group}&nbsp</td>\n";
        echo "\t<td class=\"{$class}\">&nbsp;{$libelle}&nbsp;</td>\n";
        echo "</tr>\n";
    }
    echo "<tbody>\n";
    echo "</table>\n\n";
}
コード例 #26
0
	// affichage de l'année et des boutons de défilement
	$year_affichage_prec = $year_affichage-1 ;
	$year_affichage_suiv = $year_affichage+1 ;
	
	echo "<b>";
	echo "<a href=\"$PHP_SELF?session=$session&onglet=historique_autres_absences&year_affichage=$year_affichage_prec\"><<</a>";
	echo "&nbsp&nbsp&nbsp  $year_affichage &nbsp&nbsp&nbsp";
	echo "<a href=\"$PHP_SELF?session=$session&onglet=historique_autres_absences&year_affichage=$year_affichage_suiv\">>></a>";
	echo "</b><br><br>\n";


	// Récupération des informations
	$sql4 = 'SELECT p_login, p_date_deb, p_demi_jour_deb, p_date_fin, p_demi_jour_fin, p_nb_jours, p_commentaire, p_type, p_etat, p_motif_refus, p_date_demande, p_date_traitement, p_num, ta_libelle
			FROM conges_periode as a, conges_type_absence as b
			WHERE a.p_login = \''.SQL::quote($_SESSION['userlogin']).'\'
			AND (a.p_type=b.ta_id)
			AND (b.ta_type=\'absences\')
			AND (p_date_deb LIKE \''.intval($year_affichage).'%\' OR p_date_fin LIKE \''.intval($year_affichage).'%\') ';

	if($tri_date=="descendant")
		$sql4=$sql4." ORDER BY p_date_deb DESC ";
	else
		$sql4=$sql4." ORDER BY p_date_deb ASC ";

	$ReqLog4 = SQL::query($sql4) ;

	$count4=$ReqLog4->num_rows;
	if($count4==0)
	{
		echo "<b>". _('user_abs_aucune_abs') ."</b><br>\n";
コード例 #27
0
ファイル: calendrier-pdf.php プロジェクト: VV666/Libertempo
function recup_tableau_des_users_a_afficher($select_groupe, $DEBUG = FALSE)
{
    // si acces sans authentification est permis : alors droit de voir tout le monde
    // sinon, on verifie si le user a le droite de voir tout le monde
    if ($_SESSION['config']['consult_calendrier_sans_auth'] && !isset($_SESSION['userlogin'])) {
        //si gestion des groupes et un groupe a ete selectionne
        if ($_SESSION['config']['gestion_groupes'] && $select_groupe != 0) {
            $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
            $sql1 = $sql1 . " WHERE u_login!='conges' AND u_login!='admin' ";
            //recup de la liste des users des groupes dont le user est membre
            $list_users = get_list_users_du_groupe($select_groupe, $DEBUG);
            if ($list_users != "") {
                //si la liste n'est pas vide ( serait le cas si groupe vide)
                $sql1 = $sql1 . " AND u_login IN ({$list_users}) ORDER BY u_nom, u_prenom ";
            }
        } else {
            $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
            //$sql1 = $sql1." WHERE u_login!='conges' AND u_resp_login = '******' ORDER BY u_nom, u_prenom";
            $sql1 = $sql1 . " WHERE u_login!='conges'  AND u_login!='admin' ORDER BY u_nom, u_prenom";
        }
    } else {
        //construction de la requete sql pour recupérer les users à afficher :
        //si le user a le droit de voir tout le monde
        $user_see_all_in_calendrier = get_user_see_all($_SESSION['userlogin']);
        if ($user_see_all_in_calendrier) {
            //si gestion des groupes et un groupe a ete selectionne
            if ($_SESSION['config']['gestion_groupes'] && $select_groupe != 0) {
                $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
                $sql1 = $sql1 . " WHERE u_login!='conges' AND u_login!='admin' ";
                //recup de la liste des users des groupes dont le user est membre
                $list_users = get_list_users_du_groupe($select_groupe, $DEBUG);
                if ($list_users != "") {
                    //si la liste n'est pas vide ( serait le cas si groupe vide)
                    $sql1 = $sql1 . " AND u_login IN ({$list_users}) ";
                }
                $sql1 = $sql1 . " ORDER BY u_nom, u_prenom";
            } else {
                $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
                //$sql1 = $sql1." WHERE u_login!='conges' AND u_resp_login = '******' ORDER BY u_nom, u_prenom";
                $sql1 = $sql1 . " WHERE u_login!='conges'  AND u_login!='admin' ORDER BY u_nom, u_prenom";
            }
        } else {
            //si gestion des groupes et un groupe a ete selectionne
            if ($_SESSION['config']['gestion_groupes'] && $select_groupe != 0) {
                $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
                $sql1 = $sql1 . " WHERE u_login!='conges' AND u_login!='admin' ";
                $sql1 = $sql1 . ' AND ( u_login = \'' . SQL::quote($_SESSION['userlogin']) . '\' ';
                //recup de la liste des users des groupes dont le user est membre
                $list_users = get_list_users_du_groupe($select_groupe, $DEBUG);
                if ($list_users != "") {
                    //si la liste n'est pas vide ( serait le cas si groupe vide)
                    $sql1 = $sql1 . " OR u_login IN ({$list_users}) ";
                }
                $sql1 = $sql1 . " ) ";
                $sql1 = $sql1 . " ORDER BY u_nom, u_prenom";
            } else {
                if (!is_resp($_SESSION['userlogin'])) {
                    $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
                    $sql1 = $sql1 . " WHERE u_login!='conges' AND u_login!='admin' ";
                    //si affichage par groupe : on affiche les membres des groupes du user ($_SESSION['userlogin'])
                    if ($_SESSION['config']['gestion_groupes'] && $_SESSION['config']['affiche_groupe_in_calendrier']) {
                        //recup de la liste des users des groupes dont le user est membre
                        $list_users = get_list_users_des_groupes_du_user($_SESSION['userlogin']);
                        if ($list_users != "") {
                            //si la liste n'est pas vide ( serait le cas si n'est membre d'aucun groupe)
                            $sql1 = $sql1 . " AND u_login IN ({$list_users}) ";
                        }
                    }
                    $sql1 = $sql1 . " ORDER BY u_nom, u_prenom";
                } else {
                    $sql1 = "SELECT DISTINCT u_login, u_nom, u_prenom, u_quotite FROM conges_users ";
                    $sql1 = $sql1 . " WHERE u_login!='conges' AND u_login!='admin' ";
                    if ($_SESSION['userlogin'] != "conges") {
                        $sql1 = $sql1 . ' AND ( u_login = \'' . SQL::quote($_SESSION['userlogin']) . '\' ';
                        //si affichage par groupe : on affiche les membres des groupes du user ($_SESSION['userlogin'])
                        if ($_SESSION['config']['gestion_groupes'] && $_SESSION['config']['affiche_groupe_in_calendrier']) {
                            //recup de la liste des users des groupes dont le user est membre
                            $list_users = get_list_users_des_groupes_du_user($_SESSION['userlogin']);
                            if ($list_users != "") {
                                //si la liste n'est pas vide ( serait le cas si n'est membre d'aucun groupe)
                                $sql1 = $sql1 . " OR u_login IN ({$list_users}) ";
                            }
                        }
                        //recup de la liste des users dont le user est responsable
                        $list_users_2 = get_list_all_users_du_resp($_SESSION['userlogin'], $DEBUG);
                        if ($list_users_2 != "") {
                            //si la liste n'est pas vide ( serait le cas si n'est responsable d'aucun groupe)
                            $sql1 = $sql1 . " OR u_login IN ({$list_users_2}) ";
                        }
                        if ($_SESSION['config']['double_validation_conges']) {
                            $list_groupes_3 = get_list_login_du_grand_resp($_SESSION['userlogin']);
                            if (count($list_groupes_3) > 0) {
                                $list_groupes_3 = array_map("SQL::quote", $list_groupes_3);
                                $list_groupes_3 = '\'' . implode('\', \'', $list_groupes_3) . '\'';
                                $sql1 = $sql1 . " OR u_login IN ( {$list_groupes_3} ) ";
                            }
                        }
                        $sql1 = $sql1 . " ) ";
                    }
                    $sql1 = $sql1 . " ORDER BY u_nom, u_prenom";
                }
            }
        }
    }
    $ReqLog = SQL::query($sql1);
    $tab_all_users = array();
    while ($resultat = $ReqLog->fetch_array()) {
        $tab_user = array();
        $tab_user['nom'] = $resultat["u_nom"];
        $tab_user['prenom'] = $resultat["u_prenom"];
        $tab_user['quotite'] = $resultat["u_quotite"];
        $sql_login = $resultat["u_login"];
        $tab_all_users[$sql_login] = $tab_user;
    }
    return $tab_all_users;
}
コード例 #28
0
function update_appli_num_exercice( $DEBUG=FALSE)
{
	// verif
	$appli_num_exercice = $_SESSION['config']['num_exercice'] ;
	$sql_verif = 'SELECT u_login FROM conges_users WHERE u_login != \'admin\' AND u_login != \'conges\' AND u_num_exercice != '.SQL::quote($appli_num_exercice).';';
	$ReqLog_verif = SQL::query($sql_verif);
	
	if($ReqLog_verif->num_rows == 0) {
		/* Modification de la table conges_appli */
		$sql_update= 'UPDATE conges_appli SET appli_valeur = appli_valeur+1 WHERE appli_variable=\'num_exercice\' ;';
		$ReqLog_update = SQL::query($sql_update) ;
		
		// ecriture dans les logs
		$new_appli_num_exercice = $appli_num_exercice+1 ;
		log_action(0, '', '', 'fin/debut exercice (appli_num_exercice : '.$appli_num_exercice.' -> '.$new_appli_num_exercice.')',  $DEBUG);
	} 
}
コード例 #29
0
function get_tableau_jour_feries($year, &$tab_year, $DEBUG = FALSE)
{
    $sql_select = 'SELECT jf_date FROM conges_jours_feries WHERE jf_date LIKE \'' . SQL::quote($year) . '-%\' ;';
    $res_select = SQL::query($sql_select);
    $num_select = $res_select->num_rows;
    if ($num_select != 0) {
        while ($result_select = $res_select->fetch_array()) {
            $tab_year[] = $result_select["jf_date"];
        }
    }
}
コード例 #30
0
function commit_annul_fermeture($fermeture_id, $groupe_id, $DEBUG = FALSE)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    if ($DEBUG) {
        echo "fermeture_id = {$fermeture_id} <br>\n";
    }
    /*****************************/
    // on construit le tableau des users affectés par les fermetures saisies :
    if ($groupe_id == 0) {
        // fermeture pour tous !
        $list_users = get_list_all_users($DEBUG);
    } else {
        $list_users = get_list_users_du_groupe($groupe_id, $DEBUG);
    }
    $tab_users = explode(",", $list_users);
    if ($DEBUG) {
        echo "tab_users =<br>\n";
        print_r($tab_users);
        echo "<br>\n";
    }
    /***********************************************/
    /** suppression des jours de fermetures   **/
    // on suprimme les dates de cette fermeture dans conges_jours_fermeture
    $result = delete_year_fermeture($fermeture_id, $groupe_id, $DEBUG);
    // on va traiter user par user pour annuler sa periode de conges correspondant et lui re-crediter son solde
    foreach ($tab_users as $current_login) {
        $current_login = trim($current_login);
        // on enleve les quotes qui ont été ajoutées lors de la creation de la liste
        $current_login = trim($current_login, "\\'");
        // on recupère les infos de la periode ....
        $sql_credit = 'SELECT p_num, p_nb_jours, p_type FROM conges_periode WHERE p_login=\'' . SQL::quote($current_login) . '\' AND p_fermeture_id=\'' . SQL::quote($fermeture_id) . '\' AND p_etat=\'ok\'';
        $result_credit = SQL::query($sql_credit);
        $row_credit = $result_credit->fetch_array();
        $sql_num_periode = $row_credit['p_num'];
        $sql_nb_jours_a_crediter = $row_credit['p_nb_jours'];
        $sql_type_abs = $row_credit['p_type'];
        // on met à jour la table conges_periode .
        $etat = "annul";
        $sql1 = 'UPDATE conges_periode SET p_etat = \'' . SQL::quote($etat) . '\' WHERE p_num=' . SQL::quote($sql_num_periode);
        $ReqLog = SQL::query($sql1);
        // mise à jour du solde de jours de conges pour l'utilisateur $current_login
        if ($sql_nb_jours_a_crediter != 0) {
            $sql1 = 'UPDATE conges_solde_user SET su_solde = su_solde + ' . SQL::quote($sql_nb_jours_a_crediter) . ' WHERE su_login=\'' . SQL::quote($current_login) . '\' AND su_abs_id = ' . SQL::quote($sql_type_abs);
            $ReqLog = SQL::query($sql1);
        }
    }
    echo '<div class="wrapper">';
    if ($result) {
        echo "<br>" . _('form_modif_ok') . "<br><br>\n";
    } else {
        echo "<br>" . _('form_modif_not_ok') . " !<br><br>\n";
    }
    // on enregistre cette action dan les logs
    if ($groupe_id == 0) {
        // fermeture pour tous !
        $comment_log = "annulation fermeture {$fermeture_id} (pour tous) ";
    } else {
        $comment_log = "annulation fermeture {$fermeture_id} (pour le groupe {$groupe_id})";
    }
    log_action(0, "", "", $comment_log, $DEBUG);
    echo "<form action=\"{$PHP_SELF}?session={$session}\" method=\"POST\">\n";
    echo "<input class=\"btn btn-success\" type=\"submit\" value=\"" . _('form_ok') . "\">\n";
    echo "</form>\n";
    echo '</div>';
}