[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / plugins-dist / dump / action / restaurer.php
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
13 if (!defined("_ECRIRE_INC_VERSION")) return;
14
15 /**
16 *
17 * On arrive ici depuis le #FORMULAIRE_RESTAURER
18 * - l'initialisation a ete faite avant redirection
19 * - on enchaine sur inc/restaurer, qui remplit le dump et renvoie ici a chaque timeout
20 * - a chaque coup on relance inc/restaurer
21 * - lorsque inc/restaurer a fini, il retourne true
22 * - on renvoie vers exec=restaurer pour afficher le resume
23 *
24 */
25
26 include_spip('base/dump');
27 include_spip('inc/dump');
28
29 /**
30 * Sauvegarder par morceaux
31 *
32 * @param string $arg
33 */
34 function action_restaurer_dist($arg=null){
35 if (!$arg) {
36 $securiser_action = charger_fonction('securiser_action', 'inc');
37 $arg = $securiser_action();
38 }
39
40 $status_file = $arg;
41 define('_DUMP_STATUS_FILE',$status_file);
42 $status_file = _DIR_TMP.basename($status_file).".txt";
43 if (!lire_fichier($status_file, $status)
44 OR !$status = unserialize($status)) {
45
46 include_spip('inc/headers');
47 echo redirige_formulaire(generer_url_ecrire("restaurer",'status='._DUMP_STATUS_FILE,'',true, true));
48 }
49 else {
50 utiliser_langue_visiteur();
51 $archive = "<br />".joli_repertoire($status['archive']);
52 $action = _T('dump:info_restauration_sauvegarde', array('archive' => $archive));
53 $admin = charger_fonction('admin', 'inc');
54 echo $admin('restaurer', $action, "", true);
55 }
56
57 // forcer l'envoi du buffer par tous les moyens !
58 echo(str_repeat("<br />\r\n",256));
59 while (@ob_get_level()){
60 @ob_flush();
61 @flush();
62 @ob_end_flush();
63 }
64
65 }
66
67 ?>