[SPIP] v3.2.1-->v3.2.3
[lhc/web/www.git] / www / plugins-dist / dump / prive / squelettes / contenu / sauvegarder_fonctions.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
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')) {
14 return;
15 }
16
17 include_spip('inc/dump');
18
19 /**
20 * Afficher les erreurs survenues dans la sauvegarde
21 *
22 * @param string $status_file Nom du fichier qui contient le statut de la sauvegarde sous une forme serialisee
23 * @return string Code HTML a afficher
24 */
25 function dump_afficher_tables_sauvegardees($status_file) {
26 $status = dump_lire_status($status_file);
27 $tables = $status['tables_copiees'];
28
29 // lister les tables sauvegardees et aller verifier dans le dump
30 // qu'on a le bon nombre de donnees
31 dump_serveur($status['connect']);
32 spip_connect('dump');
33
34 foreach ($tables as $t => $n) {
35 $n = abs(intval($n));
36 $n_dump = intval(sql_countsel($t, '', '', '', 'dump'));
37 $res = "$t ";
38 if ($n_dump == 0 and $n == 0) {
39 $res .= '(' . _T('dump:aucune_donnee') . ')';
40 } else {
41 $res .= "($n_dump/$n)";
42 }
43 if ($n !== $n_dump) {
44 $res = "<strong>$res</strong>";
45 }
46 $tables[$t] = $res;
47 }
48
49 $corps = '';
50 switch (count($tables)) {
51 case 0:
52 break;
53 case 1:
54 $corps = "<div style='width:49%;float:left;'><ul class='spip'><li class='spip'>" .join("</li><li class='spip'>", $tables) . '</li></ul></div>';
55 break;
56 default:
57 $n = floor(count($tables) / 2);
58 $corps = "<div style='width:49%;float:left;'><ul class='spip'><li class='spip'>" .
59 join("</li><li class='spip'>", array_slice($tables, 0, $n)) . '</li></ul></div>'
60 . "<div style='width:49%;float:left;'><ul class='spip'><li>" . join(
61 "</li><li class='spip'>",
62 array_slice($tables, $n)
63 ) . '</li></ul></div>';
64 }
65 $corps .= "<div class='nettoyeur'></div>";
66
67 return $corps;
68 }
69
70 function dump_afficher_erreurs($status_file) {
71 $erreurs = '';
72 $status = dump_lire_status($status_file);
73 if (isset($status['errors'])) {
74 $erreurs = implode('<br />', $status['errors']);
75 }
76 return $erreurs;
77 }