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) { $VerifDec = verif_saisie_decimal($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); //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_once 'fonctions_calcul.php'; $comment = "calcul reliquat -> date limite"; $nb_reliquats_a_deduire = compter($user_login, $num_current_periode, $date_deb, $_SESSION['config']['date_limite_reliquats'], $demi_jour_deb, "pm", $comment); 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; } } $VerifDec = verif_saisie_decimal($user_nb_jours_pris); $VerifDec = verif_saisie_decimal($new_reliquat); $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . \includes\SQL::quote($user_nb_jours_pris) . ', su_reliquat=' . \includes\SQL::quote($new_reliquat) . ' WHERE su_login="******" AND su_abs_id=' . \includes\SQL::quote($type_abs) . ' '; } else { $VerifDec = verif_saisie_decimal($user_nb_jours_pris); $VerifDec = verif_saisie_decimal($new_reliquat); $sql2 = 'UPDATE conges_solde_user SET su_solde=su_solde-' . \includes\SQL::quote($user_nb_jours_pris) . ' WHERE su_login=\'' . \includes\SQL::quote($user_login) . '\' AND su_abs_id=\'' . $type_abs . '\' '; } $ReqLog2 = \includes\SQL::query($sql2); }
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); }