exit(']¤[' . '<tr>' . $retour_cellules_non . '<td><label class="erreur">Erreur : ' . html($fichier_nom) . ' contient une sauvegarde plus récente que celle supportée par cette installation ! Il faut mettre à jour SACoche.</label></td>' . '</tr>');
    }
    // Insérer l'enregistrement dans la base du webmestre
    // Créer le fichier de connexion de la base de données de la structure
    // Créer la base de données de la structure
    // Créer un utilisateur pour la base de données de la structure et lui attribuer ses droits
    $base_id = Webmestre::ajouter_structure($import_id, $geo_id, $uai, $localisation, $denomination, $contact_nom, $contact_prenom, $contact_courriel, $date);
    // Créer les dossiers de fichiers temporaires par établissement
    foreach (FileSystem::$tab_dossier_tmp_structure as $dossier) {
        FileSystem::creer_dossier($dossier . $base_id);
        FileSystem::ecrire_fichier_index($dossier . $base_id);
    }
    // Charger les paramètres de connexion à cette base afin de pouvoir y effectuer des requêtes
    charger_parametres_mysql_supplementaires($base_id);
    // Restaurer des fichiers de svg et mettre la base à jour si besoin.
    $texte_etape = restaurer_tables_base_etablissement($dossier_temp_sql, 0);
    // Supprimer le dossier temporaire
    FileSystem::supprimer_dossier($dossier_temp_sql);
    // Retour du succès, appel suivant
    $retour_cellules_oui = '<td class="nu"><input type="checkbox" name="f_ids" value="' . $base_id . '" /></td><td class="label">' . $base_id . '</td><td class="label">' . html($localisation . ' | ' . $denomination . ' [' . $uai . ']') . '</td><td class="label">' . html($contact_nom . ' ' . $contact_prenom . ' (' . $contact_courriel . ')') . '</td>';
    exit(']¤[' . '<tr>' . $retour_cellules_oui . '<td class="label"><label class="valide">' . $texte_etape . ' avec succès.</label></td>' . '</tr>');
} elseif ($action == 'importer' && $num && $max && $num == $max) {
    // Supprimer les fichiers zip des bases
    foreach ($_SESSION['tab_info'] as $key => $tab_infos) {
        FileSystem::supprimer_fichier(CHEMIN_DOSSIER_DUMP . $tab_infos['fichier_nom'], TRUE);
    }
    // Game over
    unset($_SESSION['datetime'], $_SESSION['alea'], $_SESSION['tab_info']);
    exit(']¤[' . 'ok');
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
Ejemplo n.º 2
0
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Restaurer la base
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( ($action=='restaurer') && $etape )
{
  if($etape==1)
  {
    // Bloquer l'application
    LockAcces::bloquer_application('automate',$_SESSION['BASE'],'Restauration de la base en cours.');
    // Notifications (rendues visibles ultérieurement)
    $notification_contenu = date('d-m-Y H:i:s').' '.$_SESSION['USER_PRENOM'].' '.$_SESSION['USER_NOM'].' a lancé une restauration de la base de données.'."\r\n";
    DB_STRUCTURE_NOTIFICATION::enregistrer_action_admin( $notification_contenu , $_SESSION['USER_ID'] );
  }
  // Restaurer des fichiers de svg et mettre la base à jour si besoin.
  $texte_etape = restaurer_tables_base_etablissement($dossier_temp,$etape);
  if(strpos($texte_etape,'terminée'))
  {
    $class = "valide";
    // Débloquer l'application
    LockAcces::debloquer_application('automate',$_SESSION['BASE']);
    // Supprimer le dossier temporaire
    FileSystem::supprimer_dossier($dossier_temp);
  }
  else
  {
    $class = "loader";
    $top_arrivee = microtime(TRUE);
    $duree = number_format($top_arrivee - $top_depart,2,',','');
    $texte_etape .= ' en '.$duree.'s';
  }