// Etape d'export d'une base // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'exporter' && $num && $max && $num < $max) { // Récupérer la ligne de données $fichier_texte = file_get_contents(CHEMIN_DOSSIER_EXPORT . $fichier_csv_nom); $tab_ligne = explode("\r\n", $fichier_texte); // Récupérer une série d'infos, sachant que seuls $export_id et $fichier_nom sont utiles list($export_id, $import_id, $geo_id, $localisation, $denomination, $uai, $contact_nom, $contact_prenom, $contact_courriel, $date, $fichier_nom) = explode($separateur, $tab_ligne[$num]); // Charger les paramètres de connexion à cette base afin de pouvoir y effectuer des requêtes charger_parametres_mysql_supplementaires($export_id); // Créer ou vider le dossier temporaire des sql FileSystem::creer_ou_vider_dossier($dossier_temp_sql); // Bloquer l'application LockAcces::bloquer_application('automate', $export_id, 'Sauvegarde de la base en cours.'); // Remplir le dossier temporaire avec les fichiers de svg des tables sauvegarder_tables_base_etablissement($dossier_temp_sql, 0); // Débloquer l'application LockAcces::debloquer_application('automate', $export_id); // Zipper les fichiers de svg FileSystem::zipper_fichiers($dossier_temp_sql, $dossier_temp_zip, $fichier_nom); // Appel suivant exit(']¤[' . 'ok'); } elseif ($action == 'exporter' && $num && $max && $num == $max) { // Supprimer le dossier temporaire des sql FileSystem::supprimer_dossier($dossier_temp_sql); // Zipper les zip de svg FileSystem::zipper_fichiers($dossier_temp_zip, CHEMIN_DOSSIER_DUMP, $fichier_zip_nom); // Supprimer le dossier temporaire des zip FileSystem::supprimer_dossier($dossier_temp_zip); // Game over unset($_SESSION['datetime'], $_SESSION['alea']);
// //////////////////////////////////////////////////////////////////////////////////////////////////// // Sauvegarder la base // //////////////////////////////////////////////////////////////////////////////////////////////////// if( ($action=='sauvegarder') && $etape ) { if($etape==1) { // Créer ou vider le dossier temporaire FileSystem::creer_ou_vider_dossier($dossier_temp); // Bloquer l'application LockAcces::bloquer_application('automate',$_SESSION['BASE'],'Sauvegarde de la base en cours.'); } // Remplir le dossier temporaire avec les fichiers de svg des tables $texte_etape = sauvegarder_tables_base_etablissement($dossier_temp,$etape); if(strpos($texte_etape,'terminée')) { $class = "valide"; // Débloquer l'application LockAcces::debloquer_application('automate',$_SESSION['BASE']); // Zipper les fichiers de svg $fichier_zip_nom = 'dump_SACoche_'.$_SESSION['BASE'].'_'.fabriquer_fin_nom_fichier__date_et_alea().'.zip'; FileSystem::zipper_fichiers($dossier_temp,CHEMIN_DOSSIER_DUMP,$fichier_zip_nom); // Supprimer le dossier temporaire FileSystem::supprimer_dossier($dossier_temp); } else { $class = "loader"; $top_arrivee = microtime(TRUE);