security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } $sql="SELECT 1=1 FROM droits WHERE id='/gestion/changement_d_annee.php';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)==0) { $sql="INSERT INTO droits SET id='/gestion/changement_d_annee.php', administrateur='V', professeur='F', cpe='F', scolarite='F', eleve='F', responsable='F', secours='F', autre='F', description='Changement d\'année.', statut='';"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); } // Check access if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $msg = ''; if(isset($_GET['suppr_comptes_resp_en_reserve_et_collision_eleve'])) { check_token(); $sql="DELETE FROM tempo_utilisateurs WHERE statut='responsable' AND login IN (SELECT login FROM eleves);"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $msg.="Ménage effectué.
Refaites maintenant une mise en réserve des comptes élèves
"; } else { $msg.="Erreur lors de la suppression de logins responsables mis en réserve.
"; } } if(isset($_GET['suppr_comptes_ele_en_reserve_et_collision_resp'])) { check_token(); $sql="DELETE FROM tempo_utilisateurs WHERE statut='eleve' AND login IN (SELECT u.login FROM utilisateurs u, resp_pers rp WHERE u.statut='responsable' AND u.login=rp.login);"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $msg.="Ménage effectué.
Refaites maintenant une mise en réserve des comptes responsables
"; } else { $msg.="Erreur lors de la suppression de logins élèves mis en réserve.
"; } } if (isset($_POST['is_posted'])) { if ($_POST['is_posted']=='1') { check_token(); if (isset($_POST['gepiYear'])) { if (!saveSetting("gepiYear", $_POST['gepiYear'])) { $msg .= "Erreur lors de l'enregistrement de l'année scolaire !"; } else { $msg .= "Enregistrement de l'année scolaire effectué.
"; } } if (isset($_POST['begin_day']) and isset($_POST['begin_month']) and isset($_POST['begin_year'])) { $begin_bookings = mktime(0,0,0,$_POST['begin_month'],$_POST['begin_day'],$_POST['begin_year']); if (!saveSetting("begin_bookings", $begin_bookings)) { $msg .= "Erreur lors de l'enregistrement de begin_bookings !"; } else { $msg .= "Enregistrement de begin_bookings effectué.
"; } } if (isset($_POST['end_day']) and isset($_POST['end_month']) and isset($_POST['end_year'])) { $end_bookings = mktime(0,0,0,$_POST['end_month'],$_POST['end_day'],$_POST['end_year']); if (!saveSetting("end_bookings", $end_bookings)) { $msg .= "Erreur lors de l'enregistrement de end_bookings !"; } else { $msg .= "Enregistrement de end_bookings effectué.
"; } } // 20150810 $maj_dates_per=isset($_POST['maj_dates_per']) ? $_POST['maj_dates_per'] : array(); if(count($maj_dates_per)>0) { $nb_update_per=0; // Il faudrait vérifier que les dates sont cohérentes $ts_prec=0; for($loop=0;$loop"; } else { $lig_cal=mysqli_fetch_object($res); unset($ts_debut); unset($ts_fin); if(!preg_match("#[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}#", $debut_per)) { $msg.="La date de début de période $debut_per est invalide.
"; } else { $tmp_tab=explode("/", $debut_per); $jour_debut=$tmp_tab[0]; $mois_debut=$tmp_tab[1]; $annee_debut=$tmp_tab[2]; if(!checkdate($mois_debut,$jour_debut,$annee_debut)) { $msg.="La date de début de période $debut_per est invalide.
"; } else { $ts_debut=gmmktime(0, 0, 0, $mois_debut, $jour_debut, $annee_debut); if(!$ts_debut) { $msg.="La date de début de période $debut_per est invalide.
"; } } } if(!preg_match("#[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}#", $fin_per)) { $msg.="La date de fin de période $fin_per est invalide.
"; } else { $tmp_tab=explode("/", $fin_per); $jour_fin=$tmp_tab[0]; $mois_fin=$tmp_tab[1]; $annee_fin=$tmp_tab[2]; if(!checkdate($mois_fin,$jour_fin,$annee_fin)) { $msg.="La date de fin de période $fin_per est invalide.
"; } else { $ts_fin=gmmktime(23, 59, 0, $mois_fin, $jour_fin, $annee_fin); if(!$ts_fin) { $msg.="La date de fin de période $fin_per est invalide.
"; } } } if((isset($ts_debut))&&(isset($ts_fin))) { // Ca ne convient pas: Les timestamp dans edt_calendrier sont en GMT //$sql="UPDATE edt_calendrier SET debut_calendrier_ts='$ts_debut', fin_calendrier_ts='$ts_fin', jourdebut_calendrier='".strftime("%Y-%m-%d", $ts_debut)."', heuredebut_calendrier='00:00:00', jourfin_calendrier='".strftime("%Y-%m-%d", $ts_fin)."', heurefin_calendrier='23:59:00' WHERE id_calendrier='".$maj_dates_per[$loop]."';"; //$sql="UPDATE edt_calendrier SET debut_calendrier_ts='$ts_debut', fin_calendrier_ts='$ts_fin', jourdebut_calendrier='".$annee_debut."-".$mois_debut."-".$jour_debut."', heuredebut_calendrier='00:00:00', jourfin_calendrier='".$annee_fin."-".$mois_fin."-".$jour_fin."', heurefin_calendrier='23:59:00' WHERE id_calendrier='".$maj_dates_per[$loop]."';"; $sql="UPDATE edt_calendrier SET debut_calendrier_ts='$ts_debut', fin_calendrier_ts='$ts_fin', jourdebut_calendrier='".gmstrftime("%Y-%m-%d", $ts_debut)."', heuredebut_calendrier='00:00:00', jourfin_calendrier='".gmstrftime("%Y-%m-%d", $ts_fin)."', heurefin_calendrier='23:59:00' WHERE id_calendrier='".$maj_dates_per[$loop]."';"; //echo "$sql
"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if($update) { $tmp_tab=explode(";", $lig_cal->classe_concerne_calendrier); for($loop2=0;$loop2"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { $msg.="Erreur lors de la mise à jour de la date de fin pour la classe ".get_nom_classe($tmp_tab[$loop2])."
"; } } } $nb_update_per++; } else { $msg.="Erreur lors de la mise à jour des dates de début et fin de la période ".$lig_cal->nom_calendrier.".
"; } } } } if($nb_update_per>0) { $msg.=$nb_update_per." périodes mises à jour.
"; } } if((isset($_POST['reserve_comptes_eleves']))&&($_POST['reserve_comptes_eleves']=='y')) { $sql="DELETE FROM tempo_utilisateurs WHERE statut='eleve';"; //echo "$sql
"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); $sql="INSERT INTO tempo_utilisateurs SELECT u.login,u.password,u.salt,u.email,e.ele_id,e.elenoet,u.nom,u.prenom,u.statut,u.auth_mode,NOW(),u.statut FROM utilisateurs u, eleves e WHERE u.login=e.login AND u.statut='eleve';"; //echo "$sql
"; $svg_insert=mysqli_query($GLOBALS["mysqli"], $sql); if($svg_insert) { $msg.="Mise en réserve des comptes élèves effectuée.
"; } else { $msg.="Erreur lors de la mise en réserve des comptes élèves.
"; $sql="SELECT * FROM tempo_utilisateurs WHERE statut='responsable' AND login IN (SELECT login FROM eleves);"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $msg.="Anomalie : Un ou des comptes responsables ont été mis en réserve avec un login correspondant à un compte élève.
Liste des comptes : "; $cpt=0; while($lig=mysqli_fetch_object($res)) { if($cpt>0) {$msg.=", ";} $msg.=$lig->login; $tmp_tab=get_info_responsable($lig->login); if(count($tmp_tab)>0) {$msg.=" (".$tmp_tab['nom']." ".$tmp_tab['prenom'].")";} $cpt++; } $msg.="Ces comptes peuvent correspondre à une mise en réserve de l'année précédente... pour des parents dont les élèves ont quitté l'établissement.
Supprimer de la mise en réserve les comptes correspondants
Vous devrez par la suite refaire une mise en réserve des comptes élèves.

Vous pouvez aussi, plus simplement supprimer les comptes mis en réserve à l'aide des liens plus bas dans la page, et ensuite refaire la mise en réserve pour ne conserver que les comptes de cette année.
"; } } } if((isset($_POST['reserve_comptes_responsables']))&&($_POST['reserve_comptes_responsables']=='y')) { $sql="DELETE FROM tempo_utilisateurs WHERE statut='responsable';"; //echo "$sql
"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); $sql="INSERT INTO tempo_utilisateurs SELECT u.login,u.password,u.salt,u.email,rp.pers_id,rp.pers_id,u.nom,u.prenom,u.statut,u.auth_mode,NOW(),u.statut FROM utilisateurs u, resp_pers rp WHERE u.login=rp.login AND u.statut='responsable';"; //echo "$sql
"; $svg_insert=mysqli_query($GLOBALS["mysqli"], $sql); if($svg_insert) { $msg.="Mise en réserve des comptes responsables effectuée.
"; // Remplacement de l'identifiant2 par la liste des elenoet associés pour le cas d'une initialisation CSV. $sql="SELECT identifiant1 FROM tempo_utilisateurs WHERE statut='responsable';"; $res_t_u=mysqli_query($GLOBALS["mysqli"], $sql); while($lig_t_u=mysqli_fetch_object($res_t_u)) { $sql="SELECT e.elenoet FROM eleves e, responsables2 r WHERE e.ele_id=r.ele_id AND (r.resp_legal='1' OR r.resp_legal='2') AND r.pers_id='".$lig_t_u->identifiant1."';"; $res_elenoet=mysqli_query($GLOBALS["mysqli"], $sql); $chaine_elenoet=""; while($lig_elenoet=mysqli_fetch_object($res_elenoet)) { $chaine_elenoet.="|".$lig_elenoet->elenoet; } if($chaine_elenoet!='') { $sql="UPDATE tempo_utilisateurs SET identifiant2='".$chaine_elenoet."|' WHERE identifiant1='".$lig_t_u->identifiant1."' AND statut='responsable';"; $update_t_u=mysqli_query($GLOBALS["mysqli"], $sql); } } } else { $msg.="Erreur lors de la mise en réserve des comptes responsables.
"; $sql="SELECT * FROM tempo_utilisateurs WHERE statut='eleve' AND login IN (SELECT u.login FROM utilisateurs u, resp_pers rp WHERE u.statut='responsable' AND u.login=rp.login);"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $msg.="Anomalie : Un ou des comptes élèves ont été mis en réserve avec un login correspondant à un compte responsable.
Liste des comptes : "; $cpt=0; while($lig=mysqli_fetch_object($res)) { if($cpt>0) {$msg.=", ";} $msg.=$lig->login; $tmp_tab=get_info_eleve($lig->login); if(count($tmp_tab)>0) {$msg.=" (".$tmp_tab['nom']." ".$tmp_tab['prenom'].")";} $cpt++; } $msg.="Ces comptes peuvent correspondre à une mise en réserve de l'année précédente... pour des élèves qui ont quitté l'établissement.
Supprimer de la mise en réserve les comptes correspondants
Vous devrez par la suite refaire une mise en réserve des comptes responsables.

Vous pouvez aussi, plus simplement supprimer les comptes mis en réserve à l'aide des liens plus bas dans la page, et ensuite refaire la mise en réserve pour ne conserver que les comptes de cette année.
"; } } } $sql="SELECT 1=1 FROM preferences WHERE name LIKE 'accueil_simpl_id_groupe_order_%';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { $sql="DELETE FROM preferences WHERE name LIKE 'accueil_simpl_id_groupe_order_%';"; $del=mysqli_query($GLOBALS["mysqli"], $sql); if($del) { $msg.="La suppression des préférences d'affichage ou non des enseignements en page d'accueil simplifiée est effectuée.
"; } else { $msg.="Erreur lors de la suppression des préférences d'affichage ou non des enseignements en page d'accueil simplifiée.
"; } } } elseif ($_POST['is_posted']=='2') { check_token(); if (isset($_POST['clean_log']) and isset($_POST['log_day']) and isset($_POST['log_month']) and isset($_POST['log_year'])) { $msg.="Nettoyage des logs de connexion antérieurs à ".$_POST['log_day']."/".$_POST['log_month']."/".$_POST['log_year']." : ".clean_table_log($_POST['log_day']."/".$_POST['log_month']."/".$_POST['log_year'])."
"; } if (isset($_POST['clean_tentative_intrusion']) and isset($_POST['ti_day']) and isset($_POST['ti_month']) and isset($_POST['ti_year'])) { $msg.="Nettoyage des logs de tentatives d'intrusion antérieurs à ".$_POST['ti_day']."/".$_POST['ti_month']."/".$_POST['ti_year']." : ".clean_table_tentative_intrusion($_POST['ti_day']."/".$_POST['ti_month']."/".$_POST['ti_year'])."
"; } } } if (isset($_GET['reinit_dates_verrouillage_periode'])) { check_token(); $sql="update periodes set date_verrouillage='0000-00-00 00:00:00';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $msg.="Réinitialisation des dates de verrouillage de périodes effectuée.
"; } else { $msg.="Erreur lors de la réinitialisation des dates de verrouillage de périodes.
"; } } if (isset($_GET['suppr_reserve_eleve'])) { check_token(); $sql="DELETE FROM tempo_utilisateurs WHERE statut='eleve';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $msg.="Suppression de la réserve sur les comptes élèves effectuée.
"; } else { $msg.="Erreur lors de la suppression de la réserve sur les comptes élèves.
"; } } if (isset($_GET['suppr_reserve_resp'])) { check_token(); $sql="DELETE FROM tempo_utilisateurs WHERE statut='responsable';"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if($res) { $msg.="Suppression de la réserve sur les comptes responsables effectuée.
"; } else { $msg.="Erreur lors de la suppression de la réserve sur les comptes responsables.
"; } } // Load settings if (!loadSettings()) { die("Erreur chargement settings"); } if (isset($_POST['is_posted']) and ($msg=='')) $msg = "Les modifications ont été enregistrées !"; if(isset($_SESSION['chgt_annee'])) { unset($_SESSION['chgt_annee']); } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $style_specifique[] = "lib/DHTMLcalendar/calendarstyle"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar"; $javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup"; $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ***************** // End standart header $titre_page = "Changement d'année"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); $debug_ele="n"; $debug_resp="n"; echo "

Retour Retour

\n"; echo "

Au changement d'année, avant d'initialiser la nouvelle année scolaire, il convient d'effectuer quelques opérations.
Elles sont en principe détaillées (peut-être même plus à jour si des ajouts y ont été apportés après la sortie de votre version de GEPI) sur le Wiki.

\n"; echo "
\n"; echo "
\n"; echo add_token_field(); $msg_svg="Il est recommandé de faire une copie de sauvegarde sur un périphérique externe (à stocker au coffre par exemple)"; $lien_svg="$msg_svg"; echo "

Les points sont les suivants :

\n"; echo "

La partie archivage de fin d'année :

\n"; echo "
    \n"; echo "
  1. Sauvegarder la base $lien_svg

  2. \n"; if(my_strtolower(mb_substr(getSettingValue('active_cahiers_texte'),0,1))=='y') { echo "
  3. Eventuellement, faire un export des cahiers de textes
    et une sauvegarde des documents du Cahier de textes $lien_svg

  4. \n"; echo "
  5. Archiver les cahiers de textes pour permettre aux professeurs une consultation de leurs CDT passés.

  6. \n"; echo "
  7. Si l'archivage des CDT est fait, vous pouvez aussi supprimer les documents joints aux cahiers de textes de l'année qui se termine.

  8. \n"; } echo "
  9. Sauvegarder l'arborescence Gepi (par ftp, sftp,...) $lien_svg

  10. \n"; if(my_strtolower(mb_substr(getSettingValue('active_annees_anterieures'),0,1))=='y') { echo "
  11. Conserver les données de l'année passée via le module Années antérieures.

  12. \n"; echo "
  13. Éventuellement, générer, pour chaque élève, un bulletin PDF des N périodes via le module Années antérieures.

  14. \n"; } else { echo "
  15. Conserver les données de l'année passée via le module Années antérieures.
    Le module est inactif.
    Vous devriez activer le module, quitte à limiter la liste des statuts d'utilisateurs autorisés à accéder à ces informations via la page Droits d'accès.

  16. \n"; echo "
  17. Éventuellement, une fois le module activé (et après rafraichissement de la page) générer, pour chaque élève, un bulletin PDF des N périodes via le module Années antérieures.

  18. \n"; } if(file_exists("../mod_plugins/archivageAPB/index.php")) { echo "
  19. Archiver les données de l'année qui se termine pour le plugin APB.
  20. \n"; } if(getSettingValue('active_module_absence')=='2') { echo "
  21. Effectuer une extraction CSV des absences,\n"; echo " puis purger les tables absences pour les absences antérieures au 31/07/".date('Y')."

  22. "; } if((getSettingAOui('active_mod_discipline'))&&(nombre_de_dossiers_docs_joints_a_des_sanctions()>0)) { echo "
  23. Supprimer les dossier(s) de documents joints à des ".getSettingValue('mod_disc_terme_sanction')."s.
  24. \n"; } echo "
\n"; echo "

La partie concernant la nouvelle année :

\n"; echo "
    \n"; echo "
  1. Modifier l'année scolaire  (actuellement ".getSettingValue('gepiYear').") :

  2. \n"; echo "
  3. Modifier les dates de début et de fin des cahiers de textes :
    "; ?>
    Date de début des cahiers de textes (actuellement ) :
    Date de fin des cahiers de textes (actuellement ) :
    \n"; // 20150810 $sql="SELECT * FROM edt_calendrier WHERE numero_periode!='0' AND etabferme_calendrier='1' ORDER BY numero_periode;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $cpt_per=0; if(mysqli_num_rows($res)>0) { echo "

  4. Vous pouvez définir les dates de début et fin de périodes :
    Ajouter un an aux dates et fins de périodes ci-dessous

      \n"; while($lig=mysqli_fetch_object($res)) { echo "
    •  :
      Début : à 00h00 ".img_calendrier_js("debut_per_".$cpt_per, "img_bouton_debut_per_".$cpt_per)."
      Fin      : à 23h59 ".img_calendrier_js("fin_per_".$cpt_per, "img_bouton_fin_per_".$cpt_per)."

      ".strftime("%Y-%m-%d %H:%M:%S", $lig->debut_calendrier_ts)." à ".strftime("%Y-%m-%d %H:%M:%S", $lig->fin_calendrier_ts)."

    • "; $cpt_per++; } echo "

    NOTES :

    • Vous pourrez modifier ces dates par la suite s'il faut affiner ou corriger.
    • Seules les périodes cochées verront leurs dates de début et fin modifiées.
  5. \n"; } echo "
  6. \n"; echo ""; // Sauvegarde temporaire: $sql="CREATE TABLE IF NOT EXISTS tempo_utilisateurs (login VARCHAR( 50 ) NOT NULL PRIMARY KEY, password VARCHAR(128) NOT NULL, salt VARCHAR(128) NOT NULL, email VARCHAR(50) NOT NULL, identifiant1 VARCHAR( 10 ) NOT NULL , identifiant2 VARCHAR( 50 ) NOT NULL , nom VARCHAR( 50 ) NOT NULL , prenom VARCHAR( 50 ) NOT NULL , statut VARCHAR( 20 ) NOT NULL , auth_mode ENUM('gepi','ldap','sso') NOT NULL default 'gepi', date_reserve DATE DEFAULT '0000-00-00', temoin VARCHAR( 50 ) NOT NULL );"; $creation_table=mysqli_query($GLOBALS["mysqli"], $sql); echo "

    Pour pouvoir imposer les mêmes comptes parents et/ou élèves d'une année sur l'autre (pour se connecter dans Gepi, consulter les cahiers de textes, les notes,...), il convient avant d'initialiser la nouvelle année (opération qui vide/nettoye un certain nombre de tables) de mettre en réserve dans une table temporaire les login, mot de passe, email et statut des parents/élèves de façon à leur redonner le même login et restaurer l'accès lors de l'initialisation.

    \n"; echo "

    "; $sql="SELECT 1=1 FROM utilisateurs WHERE statut='eleve';"; if($debug_ele=='y') {echo "$sql
    ";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo "Il existe actuellement ".mysqli_num_rows($test)." comptes élèves.
    "; $temoin_compte_ele="y"; } else { echo "Il n'existe actuellement aucun compte élève.
    "; $temoin_compte_ele="n"; } $sql="SELECT 1=1 FROM tempo_utilisateurs WHERE statut='eleve';"; if($debug_ele=='y') {echo "$sql
    ";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo mysqli_num_rows($test)." comptes élèves sont actuellement mis en réserve"; $sql="SELECT DISTINCT date_reserve FROM tempo_utilisateurs WHERE statut='eleve' ORDER BY date_reserve;"; if($debug_ele=='y') {echo "$sql
    ";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo " (date de mise en réserve : "; $cpt=0; while($lig_res=mysqli_fetch_object($test)) { if($cpt>0) {echo ", ";} echo formate_date($lig_res->date_reserve); $cpt++; } echo ")"; } echo " - Supprimer les comptes élèves mis en réserve"; $temoin_reserve_compte_ele="faite"; } else { echo "Aucun compte élève n'est actuellement mis en réserve.
    "; $temoin_reserve_compte_ele="non_faite"; } echo "

    \n"; echo "

    "; $sql="SELECT 1=1 FROM utilisateurs WHERE statut='responsable';"; if($debug_ele=='y') {echo "$sql
    ";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo "Il existe actuellement ".mysqli_num_rows($test)." comptes responsables.
    "; $temoin_compte_resp="y"; } else { echo "Il n'existe actuellement aucun compte responsable.
    "; $temoin_compte_resp="n"; } $sql="SELECT 1=1 FROM tempo_utilisateurs WHERE statut='responsable';"; if($debug_ele=='y') {echo "$sql
    ";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo mysqli_num_rows($test)." comptes responsables sont actuellement mis en réserve"; $sql="SELECT DISTINCT date_reserve FROM tempo_utilisateurs WHERE statut='responsable' ORDER BY date_reserve;"; if($debug_ele=='y') {echo "$sql
    ";} $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo " (date de mise en réserve : "; $cpt=0; while($lig_res=mysqli_fetch_object($test)) { if($cpt>0) {echo ", ";} echo formate_date($lig_res->date_reserve); $cpt++; } echo ")"; } echo " - Supprimer les comptes responsables mis en réserve"; $temoin_reserve_compte_resp="faite"; } else { echo "Aucun compte responsable n'est actuellement mis en réserve.
    "; $temoin_reserve_compte_resp="non_faite"; } echo "

    \n"; echo "

    \n"; echo "

    NOTE : En cochant les cases ci-dessus, on commence par vider les comptes précédemment mis en réserve avant d'insérer les comptes actuellement présents dans la table 'utilisateurs'.

    \n"; echo "
  7. \n"; echo "
\n"; $sql="SELECT 1=1 FROM preferences WHERE name LIKE 'accueil_simpl_id_groupe_order_%';"; $test=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test)>0) { echo "

Un ou des professeurs ont paramétré l'ordre d'affichage de leurs enseignements ou le non affichage de certains enseignements en page d'accueil simplifiée.
Les nouveaux enseignements créés avec l'année qui va commencer ne devraient pas avoir les mêmes identifiants (id_groupe), mais par précaution, ces préférences seront supprimées lors de la validation de ce formulaire.

"; } echo "\n"; echo "\n"; echo "\n"; echo "
\n"; echo "
\n"; echo "
\n"; $lday = strftime("%d", getSettingValue("end_bookings")); $lmonth = strftime("%m", getSettingValue("end_bookings")); $lyear = date('Y')-1; echo "
".add_token_field()."

Optionnel : Nettoyer les tables 'log' et 'tentative_intrusion'.
Cette table contient les dates de connexion/déconnexion des utilisateurs.
Conserver ces informations au-delà d'une année n'a pas vraiment d'intérêt.
Au besoin, si vous avez pris soin d'effectuer une sauvegarde de la base, les informations y sont.

 : "; genDateSelector("log_",$lday,$lmonth,$lyear,"more_years"); echo "
 : "; genDateSelector("ti_",$lday,$lmonth,$lyear,"more_years"); echo "

NOTE : La CNIL recommande de ne pas conserver plus de 6 mois de journaux de connexion.

\n"; echo "


\n"; echo "

Optionnel également : Vous pouvez vider les absences de l'année passée, l'emploi du temps, les incidents/sanctions du module discipline en consultant la page de Nettoyage de la base.

\n"; echo "


\n"; echo ""; echo "

NOTES :

\n"; echo "\n"; echo "


\n"; require("../lib/footer.inc.php"); ?>