squellete2
[aidenligne_francais_universite.git] / ecrire / action / export_all.php
CommitLineData
c495c100
P
1<?php
2
3/***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
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")) return;
14
15include_spip('inc/export');
16include_spip('inc/actions');
17include_spip('inc/minipres');
18
19// http://doc.spip.org/@action_export_all_dist
20function action_export_all_dist()
21{
22 global $connect_toutes_rubriques ;
23
24 $securiser_action = charger_fonction('securiser_action', 'inc');
25 $arg = $securiser_action();
26
27 // determine upload va aussi initialiser connect_toutes_rubrique
28 $dir = determine_upload();
29 if ($connect_toutes_rubriques AND file_exists(_DIR_DUMP))
30 $dir = _DIR_DUMP;
31
32 list($quoi, $gz, $archive) = split(',', $arg);
33
34 $file = $dir . $archive;
35 spip_log("action $arg $file");
36 include_spip('inc/meta');
37 if ($quoi =='start'){
38 // creer l'en tete du fichier et retourner dans l'espace prive
39 include_spip('inc/export');
40 if (ecrire_fichier($file, export_entete(),false)) {
41
42 ecrire_meta("status_dump", "$gz::$archive::1::0",'non');
43 ecrire_metas();
44 include_spip('inc/headers');
45 redirige_par_entete(generer_url_ecrire('export_all'));
46 } else {
47 echo install_debut_html(_T('info_sauvegarde'));
48 echo "<p>",
49 _T('avis_erreur_sauvegarde',
50 array('type'=>'.', 'id_objet'=>'. .')),
51 "</p>\n";
52 exit;
53 }
54 }elseif ($quoi=='end'){
55 lire_metas();
56 $tables_sauvegardees = isset($GLOBALS['meta']['status_dump_tables'])?unserialize($GLOBALS['meta']['status_dump_tables']):array();
57 effacer_meta("status_dump");
58 effacer_meta("status_dump_tables");
59 ecrire_metas();
60
61 include_spip('inc/lang');
62 utiliser_langue_visiteur();
63
64 $size = 0;
65 if (file_exists($file))
66 $size = filesize($file);
67 $n = _T('taille_octets',
68 array('taille' => number_format($size, 0, ' ', ' ')));
69 $n = _T('info_sauvegarde_reussi_02',
70 array('archive' => ':<br /><b>'.joli_repertoire($file)."</b> ($n)"));
71
72 echo install_debut_html(_T('info_sauvegarde'));
73 if (!$size) {
74 echo _T('avis_erreur_sauvegarde', array('type'=>'.', 'id_objet'=>'. .'));
75
76 } else {
77 // ne pas effrayer inutilement: il peut y avoir moins de fichiers
78 // qu'annonce' si certains etaient vides
79
80 echo "<p style='text-align: left'>".
81 $n,
82 " <a href='" . _DIR_RESTREINT . "'>".
83 _T('info_sauvegarde_reussi_03')
84 . "</a> "
85 ._T('info_sauvegarde_reussi_04')
86 . "</p>\n";
87
88 // afficher la liste des tables qu'on a sauvegarde
89 $tables_sauvegardees = array_keys($tables_sauvegardees);
90 sort($tables_sauvegardees);
91 $n = floor(count($tables_sauvegardees)/2);
92 echo "<div style='width:49%;float:left;'><ul><li>" . join('</li><li>', array_slice($tables_sauvegardees,0,$n)) . "</li></ul></div>";
93 echo "<div style='width:49%;float:left;'><ul><li>" . join('</li><li>', array_slice($tables_sauvegardees,$n)) . "</li></ul></div>";
94 }
95 echo install_fin_html();
96 }
97}
98?>