public static function test_database() { try { \includes\SQL::singleton(); } catch (Exception $e) { return false; } return \includes\SQL::getVar('connect_errno') == 0; }
public static function ajout_groupe($new_group_name, $new_group_libelle, $new_group_double_valid) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); $return = ''; if (\admin\Fonctions::verif_new_param_group($new_group_name, $new_group_libelle) == 0) { $ngm = stripslashes($new_group_name); $return .= $ngm . '---' . $new_group_libelle . '<br>'; $sql1 = "INSERT INTO conges_groupe SET g_groupename='{$new_group_name}', g_comment='{$new_group_libelle}', g_double_valid ='{$new_group_double_valid}' "; $result = \includes\SQL::query($sql1); $new_gid = \includes\SQL::getVar('insert_id'); if ($result) { $return .= _('form_modif_ok') . '<br><br>'; } else { $return .= _('form_modif_not_ok') . '<br><br>'; } $comment_log = "ajout_groupe : {$new_gid} / {$new_group_name} / {$new_group_libelle} (double_validation : {$new_group_double_valid})"; log_action(0, "", "", $comment_log); /* APPEL D'UNE AUTRE PAGE */ $return .= '<form action="' . $PHP_SELF . '?session=' . $session . '&onglet=admin-group" method="POST">'; $return .= '<input type="submit" value="' . _('form_retour') . '">'; $return .= '</form>'; } return $return; }
public static function traite_all_demande_en_cours($tab_bt_radio, $tab_text_refus) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); $return = ''; 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; $return .= $numero . '---' . $user_login . '---' . $user_nb_jours_pris . '---' . $reponse . '<br>'; /* Modification de la table conges_periode */ if (strcmp($reponse, "VALID") == 0) { /* UPDATE table "conges_periode" */ $sql1 = 'UPDATE conges_periode SET p_etat=\'valid\', p_date_traitement=NOW() WHERE p_num="' . \includes\SQL::quote($numero_int) . '" AND p_etat=\'demande\';'; /* On valide l'UPDATE dans la table "conges_periode" ! */ $ReqLog1 = \includes\SQL::query($sql1); if ($ReqLog1 && \includes\SQL::getVar('affected_rows')) { // Log de l'action log_action($numero_int, "valid", $user_login, "traite demande {$numero} ({$user_login}) ({$user_nb_jours_pris} jours) : {$reponse}"); //envoi d'un mail d'alerte au user et au responsable du resp (pour double validation) (si demandé dans config de libertempo) if ($_SESSION['config']['mail_prem_valid_conges_alerte_user']) { alerte_mail($_SESSION['userlogin'], $user_login, $numero_int, "valid_conges"); } } } if (strcmp($reponse, "OK") == 0) { /* UPDATE table "conges_periode" */ $sql1 = 'UPDATE conges_periode SET p_etat="ok", p_date_traitement=NOW() WHERE p_num="' . \includes\SQL::quote($numero_int) . '" AND ( p_etat=\'valid\' OR p_etat=\'demande\' );'; /* On valide l'UPDATE dans la table "conges_periode" ! */ $ReqLog1 = \includes\SQL::query($sql1); if ($ReqLog1 && \includes\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}"); /* 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); //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"); } } } 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="' . \includes\SQL::quote($numero_int) . '" AND ( p_etat=\'valid\' OR p_etat=\'demande\' );'; /* On valide l'UPDATE dans la table ! */ $ReqLog1 = \includes\SQL::query($sql1); if ($ReqLog1 && \includes\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"); //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"); } } } } $return .= _('form_modif_ok') . '<br><br>'; /* APPEL D'UNE AUTRE PAGE au bout d'une tempo de 2secondes */ $return .= '<META HTTP-EQUIV=REFRESH CONTENT="2; URL=' . $PHP_SELF . '?session=' . $session . '&onglet=traitement_demandes">'; return $return; }
public static function commit_annul_fermeture($fermeture_id, $groupe_id) { $PHP_SELF = $_SERVER['PHP_SELF']; $session = session_id(); $return = ''; /*****************************/ // 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(); } else { $list_users = get_list_users_du_groupe($groupe_id); } $tab_users = explode(",", $list_users); /***********************************************/ /** suppression des jours de fermetures **/ // on suprimme les dates de cette fermeture dans conges_jours_fermeture $result = \hr\Fonctions::delete_year_fermeture($fermeture_id, $groupe_id); // 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="******" AND p_fermeture_id="' . \includes\SQL::quote($fermeture_id) . '" AND p_etat=\'ok\''; $result_credit = \includes\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 = "' . \includes\SQL::quote($etat) . '" WHERE p_num=' . \includes\SQL::quote($sql_num_periode) . '" AND p_etat=\'ok\';'; $ReqLog = \includes\SQL::query($sql1); if ($ReqLog && \includes\SQL::getVar('affected_rows')) { // 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 + ' . \includes\SQL::quote($sql_nb_jours_a_crediter) . ' WHERE su_login="******" AND su_abs_id = ' . \includes\SQL::quote($sql_type_abs); $ReqLog = \includes\SQL::query($sql1); } } } $return .= '<div class="wrapper">'; if ($result) { $return .= '<br>' . _('form_modif_ok') . '<br><br>'; } else { $return .= '<br>' . _('form_modif_not_ok') . ' !<br><br>'; } // 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); $return .= '<form action="' . $PHP_SELF . '?session=' . $session . '" method="POST">'; $return .= '<input class="btn btn-success" type="submit" value="' . _('form_ok') . '">'; $return .= '</form>'; $return .= '</div>'; return $return; }