echo "<p>Aucune proposition de remplacement n'a reçu d'accueil favorable pour le moment.</p>"; //require("../lib/footer.inc.php"); //die(); } $tab_r = $tab_propositions_avec_reponse_positive; } else { // On affiche les anciens remplacements pour attribuer après coup. echo "<p>Si des remplacements de cours (<em>dans le passé</em>) ont eu lieu sans pour autant être validés dans Gepi, vous pouvez les attribuer/valider maintenant à des fins de statistiques/totaux dans le cas où des rémunérations de remplacements sont prévues.</p>"; $sql = "SELECT * FROM abs_prof_remplacement WHERE date_debut_r<'" . strftime('%Y-%m-%d %H:%M:%S') . "';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { $tab_remplacements = array(); $cpt = 0; while ($lig = mysqli_fetch_object($res)) { //if(check_proposition_remplacement_validee2($lig->id)=="") { if (check_proposition_remplacement_validee($lig->id_absence, $lig->id_groupe, $lig->id_classe, $lig->jour, $lig->id_creneau) == "") { // Créneau sans remplacement programmé //$tab_remplacements[]=$lig->id; $tab_remplacements[$cpt]['id'] = $lig->id; $tab_remplacements[$cpt]['id_absence'] = $lig->id_absence; $tab_remplacements[$cpt]['id_groupe'] = $lig->id_groupe; $tab_remplacements[$cpt]['id_classe'] = $lig->id_classe; $tab_remplacements[$cpt]['jour'] = $lig->jour; $tab_remplacements[$cpt]['id_creneau'] = $lig->id_creneau; $tab_remplacements[$cpt]['date_debut_r'] = $lig->date_debut_r; $tab_remplacements[$cpt]['date_fin_r'] = $lig->date_fin_r; $tab_remplacements[$cpt]['date_reponse'] = $lig->date_reponse; $tab_remplacements[$cpt]['login_user'] = $lig->login_user; $tab_remplacements[$cpt]['commentaire_prof'] = $lig->commentaire_prof; // Normalement ce qui suit est vide $tab_remplacements[$cpt]['validation_remplacement'] = $lig->validation_remplacement;
$msg .= "{$nb_suppr} proposition(s) supprimée(s).<br />"; } } if (isset($_GET['valider_proposition']) || isset($_POST['valider_proposition'])) { check_token(); $valider_proposition = isset($_POST['valider_proposition']) ? $_POST['valider_proposition'] : (isset($_GET['valider_proposition']) ? $_GET['valider_proposition'] : ""); $tab = explode("|", $valider_proposition); $commentaire_validation = isset($_POST['commentaire_validation']) ? $_POST['commentaire_validation'] : ""; $salle = isset($_POST['salle']) ? $_POST['salle'] : ""; if (isset($tab[4])) { $id_groupe = $tab[0]; $id_classe = $tab[1]; $jour = $tab[2]; $id_creneau = $tab[3]; $login_user = $tab[4]; $deja_validee = check_proposition_remplacement_validee($id_absence, $id_groupe, $id_classe, $jour, $id_creneau); if ($deja_validee != "") { if ($deja_validee == civ_nom_prenom($login_user)) { // On ne devrait pas arriver là $msg = "Le remplacement était déjà attribué à ce professeur.<br />"; } else { // On désinscrit le professeur précédemment choisi $sql = "UPDATE abs_prof_remplacement SET validation_remplacement='' WHERE id_absence='" . $id_absence . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid_groupe='" . $id_groupe . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid_classe='" . $id_classe . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjour='" . $jour . "' AND \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid_creneau='" . $id_creneau . "';"; //echo "$sql<br />"; $update = mysqli_query($GLOBALS["mysqli"], $sql); if ($update) { $chaine_commentaire_validation = ""; $chaine_salle = ""; $sql = "UPDATE abs_prof_remplacement SET validation_remplacement='oui'"; if ($commentaire_validation != "") { $sql .= ", commentaire_validation='{$commentaire_validation}'";
// Propositions (dans le futur) ayant reçu une réponse de la part du professeur $tab = get_tab_propositions_remplacements($_SESSION['login'], "futures_avec_reponse"); if (count($tab) > 0) { $nb_propositions_ou_remplacements += count($tab); echo "\n<h3>Propositions de remplacement auxquelles vous avez répondu</h3>\n\n<form action=\"" . $_SERVER['PHP_SELF'] . "#debut_de_page\" method=\"post\" style=\"width: 100%; margin-left:3em;\">\n\t<fieldset class='fieldset_opacite50'>\n\t\t" . add_token_field() . "\n\n\t\t<p class='bold'>Vous avez répondu à la(aux) " . count($tab) . " proposition(s) suivante(s).</p>\n\t\t<ul>"; $temoin_saisie_possible = 0; for ($loop = 0; $loop < count($tab); $loop++) { /* echo "<pre>"; print_r($tab[$loop]); echo "</pre>"; */ $nom_classe = get_nom_classe($tab[$loop]['id_classe']); $info_groupe = get_info_grp($tab[$loop]['id_groupe'], array('description', 'matieres', 'classes', 'profs')); // Ne pas proposer de répondre à un remplacement déjà attribué $attribue_a = check_proposition_remplacement_validee($tab[$loop]['id_absence'], $tab[$loop]['id_groupe'], $tab[$loop]['id_classe'], $tab[$loop]['jour'], $tab[$loop]['id_creneau']); if ($attribue_a == "") { if ($tab[$loop]['reponse'] == 'oui') { $checked_oui = " checked"; $checked_non = ""; $style_oui = " style='font-weight:bold;'"; $style_non = ""; } elseif ($tab[$loop]['reponse'] == 'non') { $checked_oui = ""; $checked_non = " checked"; $style_oui = ""; $style_non = " style='font-weight:bold;'"; } echo "\n\t\t\t<li>\n\t\t\t\t<p><strong>Le " . formate_date($tab[$loop]['date_debut_r'], "n", "complet") . " en " . $tab_creneaux[$tab[$loop]['id_creneau']]['nom_creneau'] . " (<em>" . $tab_creneaux[$tab[$loop]['id_creneau']]['debut_court'] . " à " . $tab_creneaux[$tab[$loop]['id_creneau']]['fin_court'] . "</em>) : {$nom_classe}</strong> (<em style='font-size:x-small;'>remplacement de {$info_groupe}</em>)</p>\n\t\t\t\t<input type='radio' name='reponse_proposition[" . $tab[$loop]['id'] . "]' id='reponse_proposition_" . $tab[$loop]['id'] . "_oui' value='oui' onchange=\"checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_oui');checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_non');checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_vide')\"{$checked_oui} /><label for='reponse_proposition_" . $tab[$loop]['id'] . "_oui' id='texte_reponse_proposition_" . $tab[$loop]['id'] . "_oui'{$style_oui}> Proposition acceptée</label><br />\n\t\t\t\t<input type='radio' name='reponse_proposition[" . $tab[$loop]['id'] . "]' id='reponse_proposition_" . $tab[$loop]['id'] . "_non' value='non' onchange=\"checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_oui');checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_non');checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_vide')\"{$checked_non} /><label for='reponse_proposition_" . $tab[$loop]['id'] . "_non' id='texte_reponse_proposition_" . $tab[$loop]['id'] . "_non'{$style_non}> Proposition rejetée</label><br />\n\t\t\t\t<input type='radio' name='reponse_proposition[" . $tab[$loop]['id'] . "]' id='reponse_proposition_" . $tab[$loop]['id'] . "_vide' value='' onchange=\"checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_oui');checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_non');checkbox_change('reponse_proposition_" . $tab[$loop]['id'] . "_vide')\" /><label for='reponse_proposition_" . $tab[$loop]['id'] . "_vide' id='texte_reponse_proposition_" . $tab[$loop]['id'] . "_vide'> Pas de réponse</label><br />\n\t\t\t\tCommentaire : <textarea name='commentaire_proposition[" . $tab[$loop]['id'] . "]' style='vertical-align:top;'>" . $tab[$loop]['commentaire_prof'] . "</textarea>\n\t\t\t</li>"; $temoin_saisie_possible++; } else {
function test_reponses_favorables_propositions_remplacement() { global $gepiPath; $retour = ""; $nb = 0; $sql = "SELECT * FROM abs_prof_remplacement WHERE date_fin_r>='" . strftime('%Y-%m-%d %H:%M:%S') . "' AND reponse='oui';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) > 0) { while ($lig = mysqli_fetch_object($res)) { if (check_proposition_remplacement_validee($lig->id_absence, $lig->id_groupe, $lig->id_classe, $lig->jour, $lig->id_creneau) == "") { $nb++; } } } if ($nb > 0) { $retour = "<div class='postit' style='text-align:center;'>{$nb} proposition(s) de remplacement a(ont) reçu un accueil favorable.<br />Vous pouvez choisir à qui <a href='{$gepiPath}/mod_abs_prof/attribuer_remplacement.php'>attribuer le(s) remplacement(s)</a>.</div>"; } return $retour; }