source: spip-zone/_core_/plugins/dump/action/sauvegarder.php @ 94396

Last change on this file since 94396 was 94396, checked in by denisb@…, 5 years ago

bonne année.

File size: 2.1 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2016                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) {
14        return;
15}
16
17/**
18 *
19 * On arrive ici depuis le #FORMULAIRE_SAUVEGARDER
20 * - l'initialisation a ete faite avant redirection
21 * - on enchaine sur inc/sauvegarder, qui remplit le dump et renvoie ici a chaque timeout
22 * - a chaque coup on relance inc/sauvegarder
23 * - lorsque inc/sauvegarder a fini, il retourne true
24 * - on renvoie vers exec=sauvegarder pour afficher le resume
25 *
26 */
27
28include_spip('base/dump');
29include_spip('inc/dump');
30
31/**
32 * Sauvegarder par morceaux
33 *
34 * @param string $arg
35 */
36function action_sauvegarder_dist($arg = null) {
37        if (!$arg) {
38                $securiser_action = charger_fonction('securiser_action', 'inc');
39                $arg = $securiser_action();
40        }
41
42        $status_file = $arg;
43        $redirect = parametre_url(generer_action_auteur('sauvegarder', $status_file), "step", intval(_request('step') + 1),
44                '&');
45
46        // lancer export qui va se relancer jusqu'a sa fin
47        $sauvegarder = charger_fonction('sauvegarder', 'inc');
48        utiliser_langue_visiteur();
49        // quand on sort de $export avec true c'est qu'on a fini
50        if ($sauvegarder($status_file, $redirect)) {
51                dump_end($status_file, 'sauvegarder');
52                include_spip('inc/headers');
53                echo redirige_formulaire(generer_url_ecrire("sauvegarder", 'status=' . $status_file, '', true, true));
54        }
55
56        // forcer l'envoi du buffer par tous les moyens !
57        echo(str_repeat("<br />\r\n", 256));
58        while (@ob_get_level()) {
59                @ob_flush();
60                @flush();
61                @ob_end_flush();
62        }
63}
Note: See TracBrowser for help on using the repository browser.