// 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']);
Esempio n. 2
0
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// 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);