foreach ($tab_add as $i => $tab) { if ($tab['ref'] && $tab['nom'] && $tab['niv']) { $classe_id = DB_STRUCTURE_ADMINISTRATEUR::DB_ajouter_groupe_par_admin('classe', $tab['ref'], $tab['nom'], $tab['niv']); $nb_add++; $tab_i_classe_TO_id_base[$i] = (int) $classe_id; } } } // Supprimer des classes éventuelles $nb_del = 0; $notification_contenu = ''; if (count($tab_del)) { $notification_intro = date('d-m-Y H:i:s') . ' ' . $_SESSION['USER_PRENOM'] . ' ' . $_SESSION['USER_NOM']; foreach ($tab_del as $groupe_id) { if ($groupe_id) { DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin($groupe_id, 'classe', TRUE); $nb_del++; // Log de l'action SACocheLog::ajouter('Suppression d\'une classe (n°' . $groupe_id . ') lors d\'un import de fichier, et donc des devoirs associés.'); $notification_contenu .= $notification_intro . ' a supprimé une classe (n°' . $groupe_id . ') lors d\'un import de fichier, et donc les devoirs associés.' . "\r\n"; } } } // Notifications (rendues visibles ultérieurement) if ($notification_contenu) { DB_STRUCTURE_NOTIFICATION::enregistrer_action_admin($notification_contenu, $_SESSION['USER_ID']); } // On enregistre (tableau mis à jour) $tab_liens_id_base = array('classes' => $tab_i_classe_TO_id_base, 'groupes' => $tab_i_groupe_TO_id_base, 'users' => $tab_i_fichier_TO_id_base); FileSystem::ecrire_fichier(CHEMIN_DOSSIER_IMPORT . 'import_' . $import_origine . '_' . $import_profil . '_' . $_SESSION['BASE'] . '_' . session_id() . '_liens_id_base.txt', serialize($tab_liens_id_base)); // Afficher le bilan
echo'<td>{{NIVEAU_NOM}}</td>'; echo'<td>'.html($ref).'</td>'; echo'<td>'.html($nom).'</td>'; echo'<td class="nu">'; echo '<q class="modifier" title="Modifier cette classe."></q>'; echo '<q class="supprimer" title="Supprimer cette classe."></q>'; echo'</td>'; } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Supprimer une classe existante // //////////////////////////////////////////////////////////////////////////////////////////////////// else if( ($action=='supprimer') && $id && $nom ) { // Effacer l'enregistrement DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin( $id , 'classe' , TRUE /*with_devoir*/ ); // Log de l'action SACocheLog::ajouter('Suppression de la classe "'.$nom.'" (n°'.$id.'), et donc des devoirs associés.'); // Notifications (rendues visibles ultérieurement) $notification_contenu = date('d-m-Y H:i:s').' '.$_SESSION['USER_PRENOM'].' '.$_SESSION['USER_NOM'].' a supprimé la classe "'.$nom.'" (n°'.$id.'), et donc les devoirs associés.'."\r\n"; DB_STRUCTURE_NOTIFICATION::enregistrer_action_admin( $notification_contenu , $_SESSION['USER_ID'] ); // Afficher le retour echo'<td>ok</td>'; } else { echo'Erreur avec les données transmises !'; } ?>
if($action=='purger') { // Bloquer l'application LockAcces::bloquer_application('automate',$_SESSION['BASE'],'Purge annuelle de la base en cours.'); // Supprimer tous les devoirs associés aux classes, mais pas les saisies associées DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_devoirs_sans_saisies(); SACocheLog::ajouter('Suppression de tous les devoirs sans les saisies associées.'); // Supprimer tous les types de groupes, sauf les classes (donc 'groupe' ; 'besoin' ; 'eval'), ainsi que les jointures avec les périodes. $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_groupes_sauf_classes(); if(!empty($DB_TAB)) { foreach($DB_TAB as $DB_ROW) { DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_groupe_par_admin( $DB_ROW['groupe_id'] , $DB_ROW['groupe_type'] , FALSE /*with_devoir*/ ); } } SACocheLog::ajouter('Suppression de tous les groupes, hors classes, sans les devoirs associés.'); // Supprimer les jointures classes/périodes, et donc les états des bilans officiels DB_STRUCTURE_ADMINISTRATEUR::DB_modifier_liaison_groupe_periode( TRUE /*groupe_id*/ , TRUE /*periode_id*/ , FALSE /*etat*/ , '' /*date_debut_mysql*/ ,'' /*date_fin_mysql*/ ); // Supprimer les saisies & les archives des bilans officiels DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_bilans_officiels(); // Supprimer les saisies brevet & les archives (Notanet & fiches brevet) DB_STRUCTURE_ADMINISTRATEUR::DB_supprimer_bilans_brevet(); // Supprimer les comptes utilisateurs désactivés depuis plus de 3 ans $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_users_desactives_obsoletes(); if(!empty($DB_TAB)) { foreach($DB_TAB as $DB_ROW) {