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> ' . _('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"> ' . _('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"> ' . _('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> ' . _('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') . ' </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"> </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; }
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);
$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!="") {
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>'; }
/** * 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; }
/** * 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); }