/** * DB_STRUCTURE_supprimer_mono_structure * * @param void * @return void */ function DB_STRUCTURE_supprimer_mono_structure() { global $CHEMIN_MYSQL; // Supprimer les tables de la base (pas la base elle-même au cas où elle serait partagée avec autre chose) $tab_tables = array(); $DB_TAB = DB::queryTab(SACOCHE_STRUCTURE_BD_NAME,'SHOW TABLE STATUS LIKE "sacoche_%"'); foreach($DB_TAB as $DB_ROW) { $tab_tables[] = $DB_ROW['Name']; } DB::query(SACOCHE_STRUCTURE_BD_NAME , 'DROP TABLE '.implode(', ',$tab_tables) ); // Supprimer le fichier de connexion unlink($CHEMIN_MYSQL.'serveur_sacoche_structure.php'); // Supprimer les dossiers de fichiers temporaires par établissement : vignettes verticales, flux RSS des demandes, cookies des choix de formulaires Supprimer_Dossier('./__tmp/badge/'.'0'); Supprimer_Dossier('./__tmp/cookie/'.'0'); Supprimer_Dossier('./__tmp/rss/'.'0'); // Supprimer les éventuels fichiers de blocage @unlink($CHEMIN_CONFIG.'blocage_webmestre_0.txt'); @unlink($CHEMIN_CONFIG.'blocage_administrateur_0.txt'); @unlink($CHEMIN_CONFIG.'blocage_automate_0.txt'); // Log de l'action ajouter_log_SACoche('Résiliation de l\'inscription.'); }
/** * DB_WEBMESTRE_supprimer_multi_structure * * @param int $BASE * @return void */ function DB_WEBMESTRE_supprimer_multi_structure($BASE) { global $CHEMIN_MYSQL,$CHEMIN_CONFIG; // Paramètres de connexion à la base de données $BD_name = 'sac_base_'.$BASE; $BD_user = '******'.$BASE; // Limité à 16 caractères // Supprimer la base associée à la structure DB::query(SACOCHE_WEBMESTRE_BD_NAME , 'DROP DATABASE '.$BD_name ); // Retirer les droits et supprimer l'utilisateur pour la base de données de la structure // Apparemment et curieusement, il faut le droit 'CREATE TEMPORARY TABLES' pour pouvoir effectuer un REVOKE... DB::query(SACOCHE_WEBMESTRE_BD_NAME , 'REVOKE ALL PRIVILEGES, GRANT OPTION FROM '.$BD_user.'@"localhost"' ); DB::query(SACOCHE_WEBMESTRE_BD_NAME , 'REVOKE ALL PRIVILEGES, GRANT OPTION FROM '.$BD_user.'@"%"' ); DB::query(SACOCHE_WEBMESTRE_BD_NAME , 'DROP USER '.$BD_user.'@"localhost"' ); DB::query(SACOCHE_WEBMESTRE_BD_NAME , 'DROP USER '.$BD_user.'@"%"' ); // Supprimer le fichier de connexion unlink($CHEMIN_MYSQL.'serveur_sacoche_structure_'.$BASE.'.php'); // Supprimer la structure dans la base du webmestre $DB_SQL = 'DELETE FROM sacoche_structure '; $DB_SQL.= 'WHERE sacoche_base=:base '; $DB_VAR = array(':base'=>$BASE); DB::query(SACOCHE_WEBMESTRE_BD_NAME , $DB_SQL , $DB_VAR); // Supprimer les dossiers de fichiers temporaires par établissement : vignettes verticales, flux RSS des demandes, cookies des choix de formulaires Supprimer_Dossier('./__tmp/badge/'.$BASE); Supprimer_Dossier('./__tmp/cookie/'.$BASE); Supprimer_Dossier('./__tmp/rss/'.$BASE); // Supprimer les éventuels fichiers de blocage @unlink($CHEMIN_CONFIG.'blocage_webmestre_'.$BASE.'.txt'); @unlink($CHEMIN_CONFIG.'blocage_administrateur_'.$BASE.'.txt'); @unlink($CHEMIN_CONFIG.'blocage_automate_'.$BASE.'.txt'); // Log de l'action ajouter_log_SACoche('Suppression de la structure '.$BASE.'.'); }