public static function new_demande($new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type) { //conversion des dates $new_debut = convert_date($new_debut); $new_fin = convert_date($new_fin); $return = ''; $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); // verif validité des valeurs saisies $valid = verif_saisie_new_demande($new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment); // verifie que le solde de conges sera encore positif après validation if ($_SESSION['config']['solde_toujours_positif']) { $valid = $valid && \utilisateur\Fonctions::verif_solde_user($_SESSION['userlogin'], $new_type, $new_nb_jours); } if ($valid) { if (in_array(\utilisateur\Fonctions::get_type_abs($new_type), array('conges', 'conges_exceptionnels'))) { $resp_du_user = get_tab_resp_du_user($_SESSION['userlogin']); if (array_key_exists('conges', $resp_du_user) || empty($resp_du_user)) { $new_etat = 'ok'; soustrait_solde_et_reliquat_user($_SESSION['userlogin'], "", $new_nb_jours, $new_type, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin); } else { $new_etat = 'demande'; } } else { $new_etat = 'ok'; } $new_comment = addslashes($new_comment); $periode_num = insert_dans_periode($_SESSION['userlogin'], $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type, $new_etat, 0); if ($periode_num != 0) { $return .= schars(_('form_modif_ok')) . ' !<br><br>.'; //envoi d'un mail d'alerte au responsable (si demandé dans config de php_conges) if ($_SESSION['config']['mail_new_demande_alerte_resp']) { if (in_array(\utilisateur\Fonctions::get_type_abs($new_type), array('absences'))) { alerte_mail($_SESSION['userlogin'], ":responsable:", $periode_num, "new_absence"); } else { alerte_mail($_SESSION['userlogin'], ":responsable:", $periode_num, "new_demande"); } } } else { $return .= schars(_('form_modif_not_ok')) . ' !<br><br>.'; } } else { $return .= schars(_('resp_traite_user_valeurs_not_ok')) . ' !<br><br>.'; } $return .= '<a class="btn" href="' . $PHP_SELF . '?session=' . $session . '">' . _('form_retour') . '</a>'; return $return; }
function new_demande($new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type, $DEBUG = FALSE) { //conversion des dates $new_debut = convert_date($new_debut); $new_fin = convert_date($new_fin); // print_r($new_fin); //$new_nb_jours = get_nb_jour($new_debut, $new_fin, $new_demi_jour_deb, $new_demi_jour_fin); $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); // echo " $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type<br><br>\n"; // exit; // verif validité des valeurs saisies $valid = verif_saisie_new_demande($new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment); // verifie que le solde de conges sera encore positif après validation if ($_SESSION['config']['solde_toujours_positif']) { $valid = $valid && verif_solde_user($_SESSION['userlogin'], $new_type, $new_nb_jours, $DEBUG); } if ($valid) { if (in_array(get_type_abs($new_type, $DEBUG), array('conges', 'conges_exceptionnels'))) { $new_etat = 'demande'; } else { $new_etat = 'ok'; } $new_comment = addslashes($new_comment); $periode_num = insert_dans_periode($_SESSION['userlogin'], $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type, $new_etat, 0, $DEBUG); if ($periode_num != 0) { echo schars(_('form_modif_ok')) . ' !<br><br>' . "\n"; //envoi d'un mail d'alerte au responsable (si demandé dans config de php_conges) if ($_SESSION['config']['mail_new_demande_alerte_resp']) { alerte_mail($_SESSION['userlogin'], ":responsable:", $periode_num, "new_demande", $DEBUG); } } else { echo schars(_('form_modif_not_ok')) . ' !<br><br>' . "\n"; } } else { echo schars(_('resp_traite_user_valeurs_not_ok')) . ' !<br><br>' . "\n"; } /* RETOUR PAGE PRINCIPALE */ // echo '<form action="'.$PHP_SELF.'?session='.$session.'" method="POST">'; // echo '<input type="submit" value="'. _('form_retour') .'">'; // echo '</form>'; echo "<a class=\"btn\" href=\"{$PHP_SELF}?session={$session}\">" . _('form_retour') . "</a>\n"; }
function new_conges($user_login, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type_id, $DEBUG=FALSE) { $PHP_SELF=$_SERVER['PHP_SELF']; $session=session_id(); // verif validité des valeurs saisies $valid=verif_saisie_new_demande($new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment); if($valid) { echo "$user_login---$new_debut _ $new_demi_jour_deb---$new_fin _ $new_demi_jour_fin---$new_nb_jours---$new_comment---$new_type_id<br>\n"; // recup dans un tableau de tableau les infos des types de conges et absences $tab_tout_type_abs = recup_tableau_tout_types_abs( $DEBUG); /**********************************/ /* insert dans conges_periode */ /**********************************/ $new_etat="ok"; $result=insert_dans_periode($user_login, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type_id, $new_etat, 0, $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 annule est un "conges" if(isset($tab_tout_type_abs[$new_type_id]['type']) && $tab_tout_type_abs[$new_type_id]['type']=="conges") { $user_nb_jours_pris_float=(float) $new_nb_jours ; soustrait_solde_et_reliquat_user($user_login, "", $user_nb_jours_pris_float, $new_type_id, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin , $DEBUG); } $comment_log = "saisie conges par le responsable pour $user_login ($new_nb_jours jour(s)) type_conges = $new_type_id ( de $new_debut $new_demi_jour_deb a $new_fin $new_demi_jour_fin) ($new_comment)"; log_action(0, "", $user_login, $comment_log, $DEBUG); if($result) echo _('form_modif_ok') ."<br><br> \n"; else echo _('form_modif_not_ok') ."<br><br> \n"; } else { echo _('resp_traite_user_valeurs_not_ok') ."<br><br> \n"; } /* APPEL D'UNE AUTRE PAGE */ echo "<form action=\"$PHP_SELF?session=$session&onglet=traite_user&user_login=$user_login\" method=\"POST\"> \n"; echo "<input type=\"submit\" value=\"". _('form_retour') ."\">\n"; echo "</form> \n"; }
public static function new_conges($user_login, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type_id) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); $return = ''; //conversion des dates $new_debut = convert_date($new_debut); $new_fin = convert_date($new_fin); // verif validité des valeurs saisies $valid = verif_saisie_new_demande($new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment); if ($valid) { $return .= $user_login . '---' . $new_debut . '_' . $new_demi_jour_deb . '---' . $new_fin . '_' . $new_demi_jour_fin . '---' . $new_nb_jours . '---' . $new_comment . '---' . $new_type_id . '<br>'; // recup dans un tableau de tableau les infos des types de conges et absences $tab_tout_type_abs = recup_tableau_tout_types_abs(); /**********************************/ /* insert dans conges_periode */ /**********************************/ $new_etat = "ok"; $result = insert_dans_periode($user_login, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin, $new_nb_jours, $new_comment, $new_type_id, $new_etat, 0); /************************************************/ /* 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 annule est un "conges" if (isset($tab_tout_type_abs[$new_type_id]['type']) && $tab_tout_type_abs[$new_type_id]['type'] == "conges") { $user_nb_jours_pris_float = (double) $new_nb_jours; soustrait_solde_et_reliquat_user($user_login, "", $user_nb_jours_pris_float, $new_type_id, $new_debut, $new_demi_jour_deb, $new_fin, $new_demi_jour_fin); } $comment_log = "saisie conges par le responsable pour {$user_login} ({$new_nb_jours} jour(s)) type_conges = {$new_type_id} ( de {$new_debut} {$new_demi_jour_deb} a {$new_fin} {$new_demi_jour_fin}) ({$new_comment})"; log_action(0, "", $user_login, $comment_log); if ($result) { $return .= _('form_modif_ok') . '<br><br>'; } else { $return .= _('form_modif_not_ok') . '<br><br>'; } } else { $return .= _('resp_traite_user_valeurs_not_ok') . '<br><br>'; } /* APPEL D'UNE AUTRE PAGE */ $return .= '<form action="' . $PHP_SELF . '?session=' . $session . '&onglet=traite_user&user_login='******'" method="POST">'; $return .= '<input class="btn" type="submit" value="' . _('form_retour') . '">'; $return .= '</form>'; return $return; }