public function delete() { $sql = "DELETE FROM edt_calendrier_manager WHERE id = '" . $this->id . "' "; $req = mysqli_query($GLOBALS["mysqli"], $sql); if ($req) { // ======== Suppression des périodes calendaires $PeriodesCalendaires = new PeriodeCalendaire(); $PeriodesCalendaires->id_calendar = $this->id; if ($PeriodesCalendaires->deleteCalendar()) { // ========= Suppression des liaisons classes <-> calendar $jointure = new jointure_calendar_classes(); $jointure->id_calendar = $this->id; if ($jointure->delete_classes()) { return true; } else { return false; } } else { return false; } } else { return false; } }
public function launch(Request $request, Response $response) { $message = null; $new_name = null; $delete_confirmation = null; if ($_SESSION['statut'] == "administrateur") { if ($request->getParam('operation')) { check_token(false); if ($request->getParam('operation') == "delete") { if ($request->getParam('confirm_delete')) { if ($request->getParam('id_calendrier')) { $calendrier = new Calendrier(); $calendrier->id = $request->getParam('id_calendrier'); if (!$calendrier->delete()) { $message = "Impossible de supprimer le calendrier"; } } } else { if ($request->getParam('id_calendrier')) { $delete_confirmation = "<form action=\"index.php?action=calendriermanager\" method=\"post\">" . add_token_field(false) . "\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"operation\" type=\"hidden\" value=\"delete\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"id_calendrier\" type=\"hidden\" value=\"" . $request->getParam('id_calendrier') . "\">\r\n\t\t\t\t\t\t\t\t\t\t\t<p>La suppression d'un calendrier entraîne la suppression de toutes les périodes calendaires qui en dépendent !</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"confirm_delete\" type=\"submit\" style=\"width:200px;\" value=\"Confirmer la suppression\">\r\n\t\t\t\t\t\t\t\t\t\t</form>"; } } } else { if ($request->getParam('operation') == "new") { if ($request->getParam('nom_calendrier')) { $calendrier = new Calendrier(); $calendrier->nom = $request->getParam('nom_calendrier'); if (!$calendrier->save()) { $message = "Impossible de créer le calendrier"; } } } else { if ($request->getParam('operation') == "modify_name") { if ($request->getParam('new_name')) { $calendrier = new Calendrier(); $calendrier->nom = $request->getParam('new_name'); $calendrier->id = $request->getParam('id_calendrier'); if (!$calendrier->update()) { $message = "Impossible de modifier le nom du calendrier"; } } else { if ($request->getParam('id_calendrier')) { $new_name = "<form action=\"index.php?action=calendriermanager\" method=\"post\">" . add_token_field(false) . "\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"operation\" type=\"hidden\" value=\"modify_name\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"id_calendrier\" type=\"hidden\" value=\"" . $request->getParam('id_calendrier') . "\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"new_name\" type=\"text\" style=\"width:200px;\" value=\"" . Calendrier::getNom($request->getParam('id_calendrier')) . "\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input name=\"bouton_valider_new_name\" type=\"submit\" style=\"width:200px;\" value=\"Modifier le nom du calendrier\">\r\n\t\t\t\t\t\t\t\t\t\t</form>"; } } } else { if ($request->getParam('operation') == "edit_classes") { if ($request->getParam('id_calendrier')) { $id_calendrier = $request->getParam('id_calendrier'); $jointure = new jointure_calendar_classes(); $periodes = new PeriodeCalendaire(); $classe = new Classe(); $jointure->id_calendar = $id_calendrier; $jointure->delete_classes(); if ($request->getParam('classes_' . $id_calendrier)) { $liste_classes = null; foreach ($request->getParam('classes_' . $id_calendrier) as $id_classe) { $classe->id = $id_classe; $liste_classes .= $classe->getShortName() . ";"; $jointure->id_classe = $id_classe; if (!$jointure->save_classe()) { $message .= "Une classe est déjà affectée dans un autre calendrier<br/>"; } } // ================ Compatibilité pour les autres modules GEPi $periodes->id_calendar = $id_calendrier; $periodes->classes_concernees = $liste_classes; $periodes->update_classes(); } } } } } } } calendar::updateTables(); } $response->addVar('delete_confirmation', $delete_confirmation); $response->addVar('new_name', $new_name); $response->addVar('message', $message); $response->addVar('NomPeriode', calendar::getPeriodName(time())); $response->addVar('TypeSemaineCourante', calendar::getTypeCurrentWeek()); $response->addVar('SemaineCourante', calendar::getCurrentWeek()); $response->addVar('calendrier', calendar::GenerateCalendarList()); $this->render("./lib/template/calendriermanagerSuccess.php"); $this->printOut(); }
public static function GenerateCalendarList() { $result = ''; $calendriers = Calendrier::getCalendriers(); $classes = Classe::getClasses(); if ($calendriers) { $i = 0; $jointure = new jointure_calendar_classes(); while (isset($calendriers['id'][$i])) { $result .= "<div id=\"calendrier_" . $calendriers['id'][$i] . "\" class=\"cadre_calendrier\">"; $result .= "<div style=\"float:left;width:30px;\"><img style=\"border:0px;padding:0px;margin:0;\" src=\"./lib/template/images/calendar.png\" alt=\"\" \\></div>"; $result .= "<div style=\"padding-top:3px;float:left;width:60%;top:0px;padding-left:10px;\">" . $calendriers['nom'][$i] . "</div>"; $result .= "<div class=\"bouton_loupe\">\r\n\t\t\t\t\t\t\t<a href=\"index.php?action=calendrier&id_calendrier=" . $calendriers['id'][$i] . "\">\r\n\t\t\t\t\t\t\t<img src=\"./lib/template/images/loupe.png\" alt=\"voir les périodes calendaires\" title=\"voir les périodes calendaires\"/>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>"; $result .= "<div class=\"bouton_supprimer\">\r\n\t\t\t\t\t\t\t<a href=\"index.php?action=calendriermanager&operation=delete&id_calendrier=" . $calendriers['id'][$i] . add_token_in_url() . "\">\r\n\t\t\t\t\t\t\t<img src=\"./lib/template/images/erase.png\" alt=\"supprimer\" title=\"supprimer le calendrier\"/>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>"; $result .= "<div class=\"bouton_modifier\">\r\n\t\t\t\t\t\t\t<a href=\"index.php?action=calendriermanager&operation=modify_name&id_calendrier=" . $calendriers['id'][$i] . add_token_in_url() . "\">\r\n\t\t\t\t\t\t\t<img src=\"./lib/template/images/modif.png\" alt=\"modifier le nom\" title=\"modifier le nom du calendrier\"/>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</div>"; $result .= "</div>"; $result .= "<div style=\"background-color:white;\r\n\t\t\t\t\t\t\t\t\t\twidth:73%;\r\n\t\t\t\t\t\t\t\t\t\tmargin:0 auto;\r\n\t\t\t\t\t\t\t\t\t\tborder-top:3px solid #aaaaaa;\r\n\t\t\t\t\t\t\t\t\t\tborder-right:1px solid #bbbbbb;\r\n\t\t\t\t\t\t\t\t\t\tborder-left:1px solid #bbbbbb;\r\n\t\t\t\t\t\t\t\t\t\tborder-bottom:1px solid #bbbbbb;\r\n\t\t\t\t\t\t\t\t\t\tposition:relative;\r\n\t\t\t\t\t\t\t\t\t\tpadding:20px;\">"; $result .= "<form action=\"index.php?action=calendriermanager\" method=\"post\">"; $result .= add_token_field(); $result .= "<input name=\"operation\" type=\"hidden\" value=\"edit_classes\">"; $result .= "<input name=\"id_calendrier\" type=\"hidden\" value=\"" . $calendriers['id'][$i] . "\">"; $j = 0; $jointure->id_calendar = $calendriers['id'][$i]; while (isset($classes['id'][$j])) { $jointure->id_classe = $classes['id'][$j]; if ($jointure->exists()) { $result .= "\t<p style=\"width:70px;font-size:12px;float:left;\">\r\n\t\t\t\t\t\t\t\t\t<input style=\"border:0px\" type=\"checkbox\" checked name=\"classes_" . $calendriers['id'][$i] . "[]\" value=\"" . $classes['id'][$j] . "\">" . $classes['nom'][$j] . "\r\n\t\t\t\t\t\t\t\t\t</p>"; } else { if ($jointure->bad_calendar()) { $result .= "\t<p style=\"width:70px;font-size:12px;float:left;\">\r\n\t\t\t\t\t\t\t\t\t<input style=\"border:0px\" type=\"checkbox\" disabled name=\"classes_" . $calendriers['id'][$i] . "[]\" value=\"" . $classes['id'][$j] . "\">" . $classes['nom'][$j] . "\r\n\t\t\t\t\t\t\t\t\t</p>"; } else { $result .= "\t<p style=\"width:70px;font-size:12px;float:left;\">\r\n\t\t\t\t\t\t\t\t\t<input style=\"border:0px\" type=\"checkbox\" name=\"classes_" . $calendriers['id'][$i] . "[]\" value=\"" . $classes['id'][$j] . "\">" . $classes['nom'][$j] . "\r\n\t\t\t\t\t\t\t\t\t</p>"; } } $j++; } $result .= "<div style=\"clear:both;\">"; $result .= "<input type=\"submit\" value=\"Valider les classes\">"; $result .= "</form>"; $result .= "</div></div>"; $i++; } } return $result; }