Пример #1
0
/**
 * Traiter
 * @return array
 */
function formulaires_sauvegarder_traiter_dist()
{
    $status_file = base_dump_meta_name(0);
    $dir_dump = dump_repertoire();
    $archive = $dir_dump . basename(_request('nom_sauvegarde'), ".sqlite");
    if (_request('tout_sauvegarder')) {
        // ici on prend toutes les tables sauf celles exclues par defaut
        // (tables de cache en pratique)
        $exclude = lister_tables_noexport();
        list($tables, ) = base_liste_table_for_dump($exclude);
        $tables = base_lister_toutes_tables('', $tables, $exclude);
    } else {
        $tables = _request('tables');
    }
    include_spip('inc/dump');
    $res = dump_init($status_file, $archive, $tables);
    if ($res === true) {
        // on lance l'action sauvegarder qui va realiser la sauvegarde
        // et finira par une redirection vers la page sauvegarde_fin
        include_spip('inc/actions');
        $redirect = generer_action_auteur('sauvegarder', $status_file);
        return array('message_ok' => 'ok', 'redirect' => $redirect);
    } else {
        return array('message_erreur' => $res);
    }
}
Пример #2
0
/**
 * Traiter
 * @return array
 */
function formulaires_restaurer_traiter_dist()
{
    $archive = _request('fichier') ? _request('fichier') : _request('nom');
    $dir_dump = dump_repertoire();
    $archive = $dir_dump . basename($archive, ".sqlite");
    $status_file = base_dump_meta_name(0) . "_restauration";
    if (_request('tout_restaurer')) {
        $args = dump_connect_args($archive);
        dump_serveur($args);
        $tables = base_lister_toutes_tables('dump');
    } else {
        $tables = _request('tables');
    }
    include_spip('inc/dump');
    $res = dump_init($status_file, $archive, $tables, array('spip_meta' => "impt='oui'"));
    if ($res === true) {
        // on lance l'action restaurer qui va realiser la sauvegarde
        // et finira par une redirection vers la page sauvegarde_fin
        include_spip('inc/actions');
        $redirect = generer_action_auteur('restaurer', $status_file);
        return array('message_ok' => 'ok', 'redirect' => $redirect);
    } else {
        return array('message_erreur' => $res);
    }
}