Example #1
0
 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;
     }
 }
Example #2
0
 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();
 }
Example #3
0
 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;
 }