예제 #1
0
/**
 * 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.');
}
예제 #2
0
/**
 * 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.'.');
}