예제 #1
0
function saisie_nouveau_conges2($user_login, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin, $onglet)
{
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    $new_date_fin = date('d/m/Y');
    $return = '';
    $return .= '<form NAME="dem_conges" action="' . $PHP_SELF . '?session=' . $session . '&onglet=' . $onglet . '" method="POST">
        <div class="row">
        <div class="col-md-6">
        <div class="form-inline">';
    $return .= '<div class="form-group"><label for="new_deb">' . _('divers_date_debut') . '</label><input type="text" class="form-control date" name="new_debut" value="' . $new_date_fin . '"></div>';
    $return .= '<input type="radio" name="new_demi_jour_deb" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        // attention : IE6 : bug avec les "OnChange" sur les boutons radio!!! (on remplace par OnClick)
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            $return .= 'onClick="compter_jours();return true;"';
        } else {
            $return .= 'onChange="compter_jours();return false;"';
        }
    }
    $return .= 'value="am" checked>&nbsp;' . _('form_am');
    $return .= '<input type="radio" name="new_demi_jour_deb" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            $return .= 'onClick="compter_jours();return true;"';
        } else {
            $return .= 'onChange="compter_jours();return false;"';
        }
    }
    $return .= 'value="pm">&nbsp;' . _('form_pm');
    $return .= '</div>';
    $return .= '</div>';
    $return .= '<div class="col-md-6">';
    $return .= '<div class="form-inline">';
    $return .= '<div class="form-group">';
    $return .= '<label for="new_fin">' . _('divers_date_fin') . '</label><input type="text" class="form-control date" name="new_fin" value="' . $new_date_fin . '">';
    $return .= '</div>';
    $return .= '<input type="radio" name="new_demi_jour_fin" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        // attention : IE6 : bug avec les "OnChange" sur les boutons radio!!! (on remplace par OnClick)
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            $return .= 'onClick="compter_jours();return true;"';
        } else {
            $return .= 'onChange="compter_jours();return false;"';
        }
    }
    $return .= 'value="am">&nbsp;' . _('form_am');
    $return .= '<input class="form-controm" type="radio" name="new_demi_jour_fin" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            $return .= 'onClick="compter_jours();return true;"';
        } else {
            $return .= 'onChange="compter_jours();return false;"';
        }
    }
    $return .= 'value="pm" checked>&nbsp;' . _('form_pm');
    $return .= '</div>';
    $return .= '</div>';
    $return .= '</div>';
    $return .= '<hr/>';
    /*****************/
    /* boutons radio */
    /*****************/
    // recup du tableau des types de conges
    $tab_type_conges = recup_tableau_types_conges();
    // recup du tableau des types d'absence
    $tab_type_absence = recup_tableau_types_absence();
    // recup d tableau des types de conges exceptionnels
    $tab_type_conges_exceptionnels = recup_tableau_types_conges_exceptionnels();
    $already_checked = false;
    $return .= '<div class="row type-conges">';
    // si le user a droit de saisir une demande de conges ET si on est PAS dans une fenetre de responsable
    // OU si le user n'a pas droit de saisir une demande de conges ET si on est dans une fenetre de responsable
    // OU si le user est un RH ou un admin
    if ($_SESSION['config']['user_saisie_demande'] && $user_login == $_SESSION['userlogin'] || $_SESSION['config']['user_saisie_demande'] == FALSE && $user_login != $_SESSION['userlogin'] || is_hr($_SESSION['userlogin']) || is_admin($_SESSION['userlogin'])) {
        // congés
        $return .= '<div class="col-md-4">';
        $return .= '<label>' . _('divers_conges') . '</label>';
        foreach ($tab_type_conges as $id => $libelle) {
            if ($id == 1) {
                $return .= '<input type="radio" name="new_type" value="' . $id . '" checked>' . $libelle . '<br>';
                $already_checked = true;
            } else {
                $return .= '<input type="radio" name="new_type" value="' . $id . '">' . $libelle . '<br>';
            }
        }
        $return .= '</div>';
    }
    // si le user a droit de saisir une mission ET si on est PAS dans une fenetre de responsable
    // OU si le resp a droit de saisir une mission ET si on est PAS dans une fenetre dd'utilisateur
    // OU si le resp a droit de saisir une mission ET si le resp est resp de lui meme
    if ($_SESSION['config']['user_saisie_mission'] && $user_login == $_SESSION['userlogin'] || $_SESSION['config']['resp_saisie_mission'] && $user_login != $_SESSION['userlogin'] || $_SESSION['config']['resp_saisie_mission'] && is_resp_of_user($_SESSION['userlogin'], $user_login)) {
        // absences
        $return .= '<div class="col-md-4">';
        $return .= '<label>' . _('divers_absences') . '</label>';
        foreach ($tab_type_absence as $id => $libelle) {
            if (!$already_checked) {
                $return .= '<input type="radio" name="new_type" value="' . $id . '" checked>' . $libelle . '<br>';
                $already_checked = true;
            } else {
                $return .= '<input type="radio" name="new_type" value="' . $id . '">' . $libelle . '<br>';
            }
        }
        $return .= '</div>';
    }
    // si le user a droit de saisir une demande de conges ET si on est PAS dans une fenetre de responsable
    // OU si le user n'a pas droit de saisir une demande de conges ET si on est dans une fenetre de responsable
    if ($_SESSION['config']['gestion_conges_exceptionnels'] && ($_SESSION['config']['user_saisie_demande'] && $user_login == $_SESSION['userlogin'] || $_SESSION['config']['user_saisie_demande'] == FALSE && $user_login != $_SESSION['userlogin'])) {
        // congés exceptionnels
        $return .= '<div class="col-md-4">';
        $return .= '<label>' . _('divers_conges_exceptionnels') . '</label>';
        foreach ($tab_type_conges_exceptionnels as $id => $libelle) {
            if ($id == 1) {
                $return .= '<input type="radio" name="new_type" value="' . $id . '" checked> ' . $libelle . '<br>';
            } else {
                $return .= '<input type="radio" name="new_type" value="' . $id . '">' . $libelle . '<br>';
            }
        }
        $return .= '</div>';
    }
    $return .= '</div>';
    $return .= '<hr/>';
    $return .= '<label>' . _('divers_comment_maj_1') . '</label><input class="form-control" type="text" name="new_comment" size="25" maxlength="30" value="">';
    // zones de texte
    $return .= '<label>' . _('saisie_conges_nb_jours') . '&nbsp</label>';
    if ($_SESSION['config']['disable_saise_champ_nb_jours_pris']) {
        // zone de texte en readonly et grisée
        $text_nb_jours = '<input type="text" name="new_nb_jours" size="10" maxlength="30" value="" style="background-color: #D4D4D4; " readonly="readonly">';
    } else {
        $text_nb_jours = '<input type="text" name="new_nb_jours" size="10" maxlength="3" value="">';
    }
    $return .= $text_nb_jours;
    if ($_SESSION['config']['affiche_bouton_calcul_nb_jours_pris']) {
        $return .= '<input type="button" class="btn btn-success" onclick="compter_jours();return false;" value="' . _('saisie_conges_compter_jours') . '">';
    }
    $return .= '<p id="comment_nbj" style="color:red">&nbsp;</p>';
    $return .= '<br>';
    $return .= '<input type="hidden" name="user_login" value="' . $user_login . '">';
    $return .= '<input type="hidden" name="new_demande_conges" value=1>';
    $return .= '<input type="hidden" name="session" value="' . $session . '">';
    // boutons du formulaire
    $return .= '<input type="submit" class="btn btn-success" value="' . _('form_submit') . '">';
    $return .= '<a class="btn" href="' . $PHP_SELF . '?session=' . $session . '">' . _('form_cancel') . '</a>';
    $return .= '</form>';
    return $return;
}
예제 #2
0
include ROOT_PATH . 'define.php';
defined('_PHP_CONGES') or die('Restricted access');
$session = isset($_GET['session']) ? $_GET['session'] : (isset($_POST['session']) ? $_POST['session'] : session_id());
include 'fonctions_edition.php';
include ROOT_PATH . 'fonctions_conges.php';
include INCLUDE_PATH . 'fonction.php';
include INCLUDE_PATH . 'session.php';
//$DEBUG = TRUE ;
$DEBUG = FALSE;
/*************************************/
// recup des parametres reçus :
// GET / POST
$user_login = getpost_variable('user_login');
$edit_id = getpost_variable('edit_id', 0);
/*************************************/
if ($user_login != $_SESSION['userlogin'] && !is_hr($_SESSION['userlogin']) && !is_resp_of_user($_SESSION['userlogin'], $user_login)) {
    redirect(ROOT_PATH . 'deconnexion.php');
    exit;
}
/************************************/
$css = '<link href="' . TEMPLATE_PATH . 'style_calendar_edition.css" rel="stylesheet" type="text/css">';
header_popup(_('editions_etat_conges') . ' : ' . $user_login, $css);
$session = session_id();
if ($edit_id == 0) {
    // si c'est une nouvelle édition, on insert dans la base avant d'éditer et on renvoit l'id de l'édition
    $edit_id = enregistrement_edition($user_login, $DEBUG);
}
if ($edit_id != "0101010") {
    edition($user_login, $edit_id, $session, $DEBUG);
} else {
    edition_year($user_login, $edit_id, $session, $DEBUG);
예제 #3
0
    $new_demi_jour_fin = getpost_variable('new_demi_jour_fin') ;
    if($_SESSION['config']['disable_saise_champ_nb_jours_pris'])  // zone de texte en readonly et grisée
    {
        $new_nb_jours = compter($user_login, '', $new_debut,  $new_fin, $new_demi_jour_deb, $new_demi_jour_fin, $comment,  $DEBUG);
    }
    else
    {
        $new_nb_jours = getpost_variable('new_nb_jours') ;
    }
    $new_comment = getpost_variable('new_comment') ;
    $new_type = getpost_variable('new_type') ;
    $year_affichage = getpost_variable('year_affichage' , date("Y") );

    /*************************************/

    if ( !is_resp_of_user($_SESSION['userlogin'] , $user_login)) {
        redirect(ROOT_PATH . 'deconnexion.php');
        exit;
    }

    /************************************/


    // si une annulation de conges a été selectionée :
    if($tab_checkbox_annule!="")
    {
        annule_conges($user_login, $tab_checkbox_annule, $tab_text_annul,  $DEBUG);
    }
    // si le traitement des demandes a été selectionée :
    elseif($tab_radio_traite_demande!="")
    {
예제 #4
0
function saisie_nouveau_conges($user_login, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin, $onglet, $DEBUG = FALSE)
{
    //$DEBUG=TRUE;
    if ($DEBUG) {
        echo 'user_login = '******', year_calendrier_saisie_debut = ' . $year_calendrier_saisie_debut . ', mois_calendrier_saisie_debut = ' . $mois_calendrier_saisie_debut . ', year_calendrier_saisie_fin = ' . $year_calendrier_saisie_fin . ', mois_calendrier_saisie_fin = ' . $mois_calendrier_saisie_fin . ', onglet = ' . $onglet . '<br>';
    }
    $PHP_SELF = $_SERVER['PHP_SELF'];
    $session = session_id();
    $mois_calendrier_saisie_debut_prec = 0;
    $year_calendrier_saisie_debut_prec = 0;
    $mois_calendrier_saisie_debut_suiv = 0;
    $year_calendrier_saisie_debut_suiv = 0;
    $mois_calendrier_saisie_fin_prec = 0;
    $year_calendrier_saisie_fin_prec = 0;
    $mois_calendrier_saisie_fin_suiv = 0;
    $year_calendrier_saisie_fin_suiv = 0;
    init_tab_jours_fermeture($user_login);
    echo '<form name="form1" action="' . $PHP_SELF . '?session=' . $session . '&onglet=' . $onglet . '" method="POST">';
    // il faut indiquer le champ de formulaire 'login_user' car il est récupéré par le javascript qui apelle le calcul automatique.
    echo '<table cellpadding="0" cellspacing="5" border="0">';
    echo '<tr align="center">';
    echo '<td>';
    echo '<table cellpadding="0" cellspacing="0" border="0">';
    echo '<tr align="center">';
    echo '<td>';
    echo '<fieldset class="cal_saisie">';
    echo '<table cellpadding="0" cellspacing="0" border="0">';
    echo '<tr align="center">';
    echo "<td>\n";
    /******************************************************************/
    // affichage du calendrier de saisie de la date de DEBUT de congès
    /******************************************************************/
    echo '<table cellpadding="0" cellspacing="0" width="250" border="0">';
    echo '<tr>';
    init_var_navigation_mois_year($mois_calendrier_saisie_debut, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut_prec, $year_calendrier_saisie_debut_prec, $mois_calendrier_saisie_debut_suiv, $year_calendrier_saisie_debut_suiv, $mois_calendrier_saisie_fin, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin_prec, $year_calendrier_saisie_fin_prec, $mois_calendrier_saisie_fin_suiv, $year_calendrier_saisie_fin_suiv);
    // affichage des boutons de défilement
    // recul du mois saisie début
    echo '<td align="center" class="big">';
    echo '<a href="' . $PHP_SELF . '?session=' . $session . '&year_calendrier_saisie_debut=' . $year_calendrier_saisie_debut_prec . '&mois_calendrier_saisie_debut=' . $mois_calendrier_saisie_debut_prec . '&year_calendrier_saisie_fin=' . $year_calendrier_saisie_fin . '&mois_calendrier_saisie_fin=' . $mois_calendrier_saisie_fin . '&user_login='******'&onglet=' . $onglet . '">';
    echo ' <img src="' . TEMPLATE_PATH . 'img/simfirs.gif" width="16" height="16" border="0" alt="' . _('divers_mois_precedent') . '" title="' . _('divers_mois_precedent') . '"> ';
    echo '</a>';
    echo '</td>';
    echo '<td align="center" class="big">' . _('divers_debut_maj') . ' :</td>';
    // affichage des boutons de défilement
    // avance du mois saisie début
    // si le mois de saisie fin est antérieur ou égal au mois de saisie début, on avance les 2 , sinon on avance que le mois de saisie début
    if ($year_calendrier_saisie_debut_suiv == $year_calendrier_saisie_fin && $mois_calendrier_saisie_debut_suiv >= $mois_calendrier_saisie_fin || $year_calendrier_saisie_debut_suiv > $year_calendrier_saisie_fin) {
        $lien_mois_debut_suivant = $PHP_SELF . '?session=' . $session . '&year_calendrier_saisie_debut=' . $year_calendrier_saisie_debut_suiv . '&mois_calendrier_saisie_debut=' . $mois_calendrier_saisie_debut_suiv . '&year_calendrier_saisie_fin=' . $year_calendrier_saisie_debut_suiv . '&mois_calendrier_saisie_fin=' . $mois_calendrier_saisie_debut_suiv . '&user_login='******'&onglet=' . $onglet;
    } else {
        $lien_mois_debut_suivant = $PHP_SELF . '?session=' . $session . '&year_calendrier_saisie_debut=' . $year_calendrier_saisie_debut_suiv . '&mois_calendrier_saisie_debut=' . $mois_calendrier_saisie_debut_suiv . '&year_calendrier_saisie_fin=' . $year_calendrier_saisie_fin . '&mois_calendrier_saisie_fin=' . $mois_calendrier_saisie_fin . '&user_login='******'&onglet=' . $onglet;
    }
    echo '<td align="center" class="big">';
    echo '<a href="' . $lien_mois_debut_suivant . '">';
    echo ' <img src="' . TEMPLATE_PATH . 'img/simlast.gif" width="16" height="16" border="0" alt="' . _('divers_mois_suivant') . '" title="' . _('divers_mois_suivant') . '"> ';
    echo '</a>';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    /*** calendrier saisie date debut ***/
    affiche_calendrier_saisie_date($user_login, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut, 'new_debut', $DEBUG);
    echo '</td>';
    /**************************************************/
    /* cellule 2 : boutons radio matin ou après midi */
    echo '<td align="left">';
    echo '<input type="radio" name="new_demi_jour_deb" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        // attention : IE6 : bug avec les "OnChange" sur les boutons radio!!! (on remplace par OnClick)
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            echo 'onClick="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return true;"';
        } else {
            echo 'onChange="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return false;"';
        }
    }
    echo 'value="am" checked><b><u>' . _('form_am') . '</u></b><br><br>';
    echo '<input type="radio" name="new_demi_jour_deb" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            echo 'onClick="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return true;"';
        } else {
            echo 'onChange="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return false;"';
        }
    }
    echo 'value="pm"><b><u>' . _('form_pm') . '</u></b><br><br>';
    echo '</td>';
    /**************************************************/
    echo '</tr>';
    echo '</table>';
    echo '</fieldset>';
    echo '</td>';
    echo '</tr>';
    echo '<tr align="center">';
    echo '<td><img src="' . TEMPLATE_PATH . 'img/shim.gif" width="15" height="10" border="0" vspace="0" hspace="0"></td>';
    echo '</tr>';
    echo '<tr align="center">';
    echo '<td>';
    echo '<fieldset class="cal_saisie">';
    echo '<table cellpadding="0" cellspacing="0" border="0">';
    echo '<tr align="center">';
    echo '<td>';
    /******************************************************************/
    // affichage du calendrier de saisie de la date de FIN de congès
    /******************************************************************/
    echo '<table cellpadding="0" cellspacing="0" width="250" border="0">';
    echo '<tr>';
    $mois_calendrier_saisie_fin_prec = $mois_calendrier_saisie_fin == 1 ? 12 : $mois_calendrier_saisie_fin - 1;
    $mois_calendrier_saisie_fin_suiv = $mois_calendrier_saisie_fin == 12 ? 1 : $mois_calendrier_saisie_fin + 1;
    // affichage des boutons de défilement
    // recul du mois saisie fin
    // si le mois de saisie fin est antérieur ou égal au mois de saisie début, on recule les 2 , sinon on recule que le mois de saisie fin
    if ($year_calendrier_saisie_debut == $year_calendrier_saisie_fin_prec && $mois_calendrier_saisie_debut >= $mois_calendrier_saisie_fin_prec || $year_calendrier_saisie_debut > $year_calendrier_saisie_fin_prec) {
        $lien_mois_fin_precedent = '' . $PHP_SELF . '?session=' . $session . '&year_calendrier_saisie_debut=' . $year_calendrier_saisie_fin_prec . '&mois_calendrier_saisie_debut=' . $mois_calendrier_saisie_fin_prec . '&year_calendrier_saisie_fin=' . $year_calendrier_saisie_fin_prec . '&mois_calendrier_saisie_fin=' . $mois_calendrier_saisie_fin_prec . '&user_login='******'&onglet=' . $onglet;
    } else {
        $lien_mois_fin_precedent = '' . $PHP_SELF . '?session=' . $session . '&year_calendrier_saisie_debut=' . $year_calendrier_saisie_debut . '&mois_calendrier_saisie_debut=' . $mois_calendrier_saisie_debut . '&year_calendrier_saisie_fin=' . $year_calendrier_saisie_fin_prec . '&mois_calendrier_saisie_fin=' . $mois_calendrier_saisie_fin_prec . '&user_login='******'&onglet=' . $onglet;
    }
    echo '<td align="center" class="big">';
    echo '<a href="' . $lien_mois_fin_precedent . '">';
    echo ' <img src="' . TEMPLATE_PATH . 'img/simfirs.gif" width="16" height="16" border="0" alt="' . _('divers_mois_precedent') . '" title="' . _('divers_mois_precedent') . '">';
    echo ' </a>';
    echo '</td>';
    echo '<td align="center" class="big">' . _('divers_fin_maj') . ' :</td>';
    // affichage des boutons de défilement
    // avance du mois saisie fin
    echo '<td align="center" class="big">';
    echo '<a href="' . $PHP_SELF . '?session=' . $session . '&year_calendrier_saisie_debut=' . $year_calendrier_saisie_debut . '&mois_calendrier_saisie_debut=' . $mois_calendrier_saisie_debut . '&year_calendrier_saisie_fin=' . $year_calendrier_saisie_fin_suiv . '&mois_calendrier_saisie_fin=' . $mois_calendrier_saisie_fin_suiv . '&user_login='******'&onglet=' . $onglet . '">';
    echo ' <img src="' . TEMPLATE_PATH . 'img/simlast.gif" width="16" height="16" border="0" alt="' . _('divers_mois_suivant') . '" title="' . _('divers_mois_suivant') . '"> ';
    echo '</a>';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    /*** calendrier saisie date fin ***/
    affiche_calendrier_saisie_date($user_login, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin, 'new_fin', $DEBUG);
    echo '</td>';
    /**************************************************/
    /* cellule 2 : boutons radio matin ou après midi */
    echo '<td align="left">';
    echo '<input type="radio" name="new_demi_jour_fin" ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        // attention : IE6 : bug avec les "OnChange" sur les boutons radio!!! (on remplace par OnClick)
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            echo 'onClick="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return true;"';
        } else {
            echo 'onChange="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return false;"';
        }
    }
    echo 'value="am"><b><u>' . _('form_am') . '</u></b><br><br>';
    echo '<input type="radio" name="new_demi_jour_fin"  ';
    if ($_SESSION['config']['rempli_auto_champ_nb_jours_pris']) {
        if (isset($_SERVER['HTTP_USER_AGENT']) && stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE') != FALSE) {
            echo 'onClick="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return true;"';
        } else {
            echo 'onChange="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return false;"';
        }
    }
    echo 'value="pm" checked><b><u>' . _('form_pm') . '</u></b><br><br>';
    echo '</td>';
    /**************************************************/
    echo '</tr>';
    echo '</table>';
    echo '</fieldset>';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '</td>';
    echo '<td><img src="' . TEMPLATE_PATH . 'img/shim.gif" width="15" height="2" border="0" vspace="0" hspace="0"></td>';
    echo '<td>';
    /*******************/
    /*   formulaire    */
    /*******************/
    echo '<table cellpadding="0" cellspacing="2" border="0" >';
    echo '<tr>';
    echo '<td valign="top">';
    echo '<table cellpadding="2" cellspacing="3" border="0" >';
    //                  echo '<input type="hidden" name="login_user" value="'.'.$_SESSION['userlogin'].'.'">';
    echo '<input type="hidden" name="login_user" value="' . $user_login . '">';
    echo '<input type="hidden" name="session" value="' . $session . '">';
    // bouton 'compter les jours'
    if ($_SESSION['config']['affiche_bouton_calcul_nb_jours_pris']) {
        echo '<tr><td colspan="2">';
        echo '<input type="button" onclick="compter_jours(new_debut, new_fin, login_user, new_demi_jour_deb, new_demi_jour_fin);return false;" value="' . _('saisie_conges_compter_jours') . '">';
        echo '</td></tr>';
    }
    // zones de texte
    echo '<tr align="center"><td><b>' . _('saisie_conges_nb_jours') . '</b></td><td><b>' . _('divers_comment_maj_1') . '</b></td></tr>';
    if ($_SESSION['config']['disable_saise_champ_nb_jours_pris']) {
        // zone de texte en readonly et grisée
        $text_nb_jours = '<input type="text" name="new_nb_jours" size="10" maxlength="30" value="" style="background-color: #D4D4D4; " readonly="readonly">';
    } else {
        $text_nb_jours = '<input type="text" name="new_nb_jours" size="10" maxlength="30" value="">';
    }
    $text_commentaire = '<input type="text" name="new_comment" size="25" maxlength="30" value="">';
    echo '<tr align="center">';
    echo '<td>' . $text_nb_jours . '</td><td>' . $text_commentaire . '</td>';
    echo '</tr>';
    echo '<tr align="center"><td><img src="' . TEMPLATE_PATH . 'img/shim.gif" width="15" height="10" border="0" vspace="0" hspace="0"></td><td></td></tr>';
    echo '<tr align="center">';
    echo '<td colspan=2>';
    echo '<input type="hidden" name="user_login" value="' . $user_login . '">';
    echo '<input type="hidden" name="new_demande_conges" value=1>';
    // boutons du formulaire
    // les classes "button_type_submit" et "button_type_cancel"
    // servent à choisir leur position (droite gauche) dans vos feuilles de style (voir style.css)
    echo '<input type="submit" class="button_type_submit" value="' . _('form_submit') . '">   <input type="reset" class="button_type_cancel" value="' . _('form_cancel') . '">';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '</td>';
    /*****************/
    /* boutons radio */
    /*****************/
    // recup d tableau des types de conges
    $tab_type_conges = recup_tableau_types_conges($DEBUG);
    // recup du tableau des types d'absence
    $tab_type_absence = recup_tableau_types_absence($DEBUG);
    // recup d tableau des types de conges exceptionnels
    $tab_type_conges_exceptionnels = recup_tableau_types_conges_exceptionnels($DEBUG);
    $already_checked = false;
    echo '<td align="left" valign="top">';
    // si le user a droit de saisir une demande de conges ET si on est PAS dans une fenetre de responsable
    // OU si le user n'a pas droit de saisir une demande de conges ET si on est dans une fenetre de responsable
    // OU si le user est un RH ou un admin
    if ($_SESSION['config']['user_saisie_demande'] && $user_login == $_SESSION['userlogin'] || $_SESSION['config']['user_saisie_demande'] == FALSE && $user_login != $_SESSION['userlogin'] || is_hr($_SESSION['userlogin']) || is_admin($_SESSION['userlogin'])) {
        // congés
        echo '<b><i><u>' . _('divers_conges') . ' :</u></i></b><br>';
        foreach ($tab_type_conges as $id => $libelle) {
            if ($id == 1) {
                echo '<input type="radio" name="new_type" value="' . $id . '" checked> ' . $libelle . '<br>';
                $already_checked = true;
            } else {
                echo '<input type="radio" name="new_type" value="' . $id . '"> ' . $libelle . '<br>';
            }
        }
    }
    // si le user a droit de saisir une mission ET si on est PAS dans une fenetre de responsable
    // OU si le resp a droit de saisir une mission ET si on est PAS dans une fenetre dd'utilisateur
    // OU si le resp a droit de saisir une mission ET si le resp est resp de lui meme
    if ($_SESSION['config']['user_saisie_mission'] && $user_login == $_SESSION['userlogin'] || $_SESSION['config']['resp_saisie_mission'] && $user_login != $_SESSION['userlogin'] || $_SESSION['config']['resp_saisie_mission'] && is_resp_of_user($_SESSION['userlogin'], $user_login, $DEBUG)) {
        echo '<br>';
        // absences
        echo '<b><i><u>' . _('divers_absences') . ' :</u></i></b><br>';
        foreach ($tab_type_absence as $id => $libelle) {
            if (!$already_checked) {
                echo '<input type="radio" name="new_type" value="' . $id . '" checked> ' . $libelle . '<br>';
                $already_checked = true;
            } else {
                echo '<input type="radio" name="new_type" value="' . $id . '"> ' . $libelle . '<br>';
            }
        }
    }
    // si le user a droit de saisir une demande de conges ET si on est PAS dans une fenetre de responsable
    // OU si le user n'a pas droit de saisir une demande de conges ET si on est dans une fenetre de responsable
    // OU si c'est un HR
    if ($_SESSION['config']['gestion_conges_exceptionnels'] && ($_SESSION['config']['user_saisie_demande'] && $user_login == $_SESSION['userlogin'] || $_SESSION['config']['user_saisie_demande'] == FALSE && $user_login != $_SESSION['userlogin'] || is_hr($_SESSION['userlogin']))) {
        echo '<br>';
        // congés exceptionnels
        echo '<b><i><u>' . _('divers_conges_exceptionnels') . ' :</u></i></b><br>';
        foreach ($tab_type_conges_exceptionnels as $id => $libelle) {
            if ($id == 1) {
                echo '<input type="radio" name="new_type" value="' . $id . '" checked> ' . $libelle . '<br>';
            } else {
                echo '<input type="radio" name="new_type" value="' . $id . '"> ' . $libelle . '<br>';
            }
        }
    }
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '</form>';
}
예제 #5
0
 /**
  * Encapsule le comportement du module de gestion des congés des utilisateurs
  *
  * @return void
  * @access public
  * @static
  */
 public static function traiteUserModule()
 {
     //var pour resp_traite_user.php
     $user_login = getpost_variable('user_login');
     $year_calendrier_saisie_debut = getpost_variable('year_calendrier_saisie_debut', 0);
     $mois_calendrier_saisie_debut = getpost_variable('mois_calendrier_saisie_debut', 0);
     $year_calendrier_saisie_fin = getpost_variable('year_calendrier_saisie_fin', 0);
     $mois_calendrier_saisie_fin = getpost_variable('mois_calendrier_saisie_fin', 0);
     $tri_date = getpost_variable('tri_date', "ascendant");
     $tab_checkbox_annule = getpost_variable('tab_checkbox_annule');
     $tab_radio_traite_demande = getpost_variable('tab_radio_traite_demande');
     $tab_text_refus = getpost_variable('tab_text_refus');
     $tab_text_annul = getpost_variable('tab_text_annul');
     $new_demande_conges = getpost_variable('new_demande_conges', 0);
     $new_debut = getpost_variable('new_debut');
     $new_demi_jour_deb = getpost_variable('new_demi_jour_deb');
     $new_fin = getpost_variable('new_fin');
     $new_demi_jour_fin = getpost_variable('new_demi_jour_fin');
     $return = '';
     if ($_SESSION['config']['disable_saise_champ_nb_jours_pris']) {
         // zone de texte en readonly et grisée
         $new_nb_jours = compter($user_login, '', $new_debut, $new_fin, $new_demi_jour_deb, $new_demi_jour_fin, $comment);
     } else {
         $new_nb_jours = getpost_variable('new_nb_jours');
     }
     $new_comment = getpost_variable('new_comment');
     $new_type = getpost_variable('new_type');
     $year_affichage = getpost_variable('year_affichage', date("Y"));
     /*************************************/
     if (!is_resp_of_user($_SESSION['userlogin'], $user_login)) {
         redirect(ROOT_PATH . 'deconnexion.php');
         exit;
     }
     /************************************/
     // si une annulation de conges a été selectionée :
     if ($tab_checkbox_annule != "") {
         $return .= \responsable\Fonctions::annule_conges($user_login, $tab_checkbox_annule, $tab_text_annul);
     } elseif ($tab_radio_traite_demande != "") {
         $return .= \responsable\Fonctions::traite_demandes($user_login, $tab_radio_traite_demande, $tab_text_refus);
     } elseif ($new_demande_conges == 1) {
         $return .= \responsable\Fonctions::new_conges($user_login, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type);
     } else {
         $return .= \responsable\Fonctions::affichage($user_login, $year_affichage, $year_calendrier_saisie_debut, $mois_calendrier_saisie_debut, $year_calendrier_saisie_fin, $mois_calendrier_saisie_fin, $tri_date);
     }
     return $return;
 }
예제 #6
0
 /**
  * Encapsule le comportement du module d'édition PDF
  *
  * @param string $session
  *
  * @return void
  * @access public
  * @static
  */
 public static function editPDFModule($session)
 {
     /*************************************/
     // recup des parametres reçus :
     // GET / POST
     $user_login = getpost_variable('user_login');
     $edit_id = getpost_variable('edit_id', 0);
     /*************************************/
     if ($user_login != $_SESSION['userlogin'] && !is_hr($_SESSION['userlogin']) && !is_resp_of_user($_SESSION['userlogin'], $user_login)) {
         redirect(ROOT_PATH . 'deconnexion.php');
         exit;
     }
     /************************************/
     if ($edit_id == 0) {
         // si c'est une nouvelle édition, on insert dans la base avant d'éditer et on renvoit l'id de l'édition
         $edit_id = \edition\Fonctions::enregistrement_edition($user_login);
     }
     \edition\Fonctions::edition_pdf($user_login, $edit_id);
     $comment_log = "edition PDF (num_edition = {$edit_id}) ({$user_login}) ";
     log_action(0, "", $user_login, $comment_log);
 }