source: spip-zone/_core_/plugins/dump/formulaires/sauvegarder.php @ 93639

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

Meilleure compatibilité avec PSR-2 et nos règles d'écriture, en appliquant
différents fix avec php-cs-fixers. Fixers appliqués ici :

'encoding', utf8
'eof_ending',
un saut de ligne en fin de fichier
'elseif', elseif plutôt que else if
'function_call_space',
espaces sur fonctions
'function_declaration', espaces sur fonctions
'function_typehint_space',
espaces sur fonctions
'linefeed', sauts de ligne \n uniquement
'lowercase_constants',
true, false, null en munuscule
'lowercase_keywords', mots clés PHP en lowercase
'method_argument_space',
espaces sur appels de fonctions
'multiple_use', use unique sur fonctions anonymes
'newline_after_open_tag',
ouverture de php… et c'est tout sur cette ligne
'operators_spaces', espaces de part et d'autres des opérateurs binaires
'parenthesis',
pas d'espace juste après parenthèse ouvrante, ou avant parenthèse fermante
'php_closing_tag', pas de fermeture de php
'short_tag',
tag PHP corrects
'trailing_spaces', pas d'espace qui traîne en fin de ligne
'visibility',
déclarer 'public / private / protected' sur les méthodes

File size: 3.3 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2015                                                *
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/**
14 * Gestion du formulaire de sauvegarde de la base de données
15 *
16 * @package SPIP\Dump\Formulaires
17 */
18
19if (!defined("_ECRIRE_INC_VERSION")) {
20        return;
21}
22include_spip('base/dump');
23include_spip('inc/dump');
24
25/**
26 * Charger `#FORMULAIRE_SAUVEGARDER`
27 *
28 * @return array
29 */
30function formulaires_sauvegarder_charger_dist() {
31        $dir_dump = dump_repertoire();
32
33        // ici on liste tout, les tables exclue sont simplement non cochees
34        $exclude = lister_tables_noexport();
35        list($tables, ) = base_liste_table_for_dump($exclude);
36        $tables = base_lister_toutes_tables('', $tables);
37
38        $valeurs = array(
39                '_dir_dump' => joli_repertoire($dir_dump),
40                '_dir_img' => joli_repertoire(_DIR_IMG),
41                '_spipnet' => $GLOBALS['home_server'] . '/' . $GLOBALS['spip_lang'] . '_article1489.html',
42                'nom_sauvegarde' => basename(dump_nom_fichier($dir_dump, 'sqlite'), '.sqlite'),
43                'tout_sauvegarder' => (_request('nom_sauvegarde') and !_request('tout_sauvegarder')) ? '' : 'oui',
44                '_tables' => "<ol class='spip'><li class='choix'>\n" . join("</li>\n<li class='choix'>",
45                                base_saisie_tables('tables', $tables, $exclude,
46                                        _request('nom_sauvegarde') ? (_request('tables') ? _request('tables') : array()) : null)
47                        ) . "</li></ol>\n",
48                '_prefixe' => base_prefixe_tables(''),
49        );
50
51        return $valeurs;
52}
53
54/**
55 * Verifier
56 *
57 * @return array
58 */
59function formulaires_sauvegarder_verifier_dist() {
60        $erreurs = array();
61        if (!$nom = _request('nom_sauvegarde')) {
62                $erreurs['nom_sauvegarde'] = _T('info_obligatoire');
63        } elseif (!preg_match(',^[\w_][\w_.]*$,', $nom)
64                or basename($nom) !== $nom
65        ) {
66                $erreurs['nom_sauvegarde'] = _T('dump:erreur_nom_fichier');
67        }
68
69        return $erreurs;
70}
71
72/**
73 * Traiter
74 *
75 * @return array
76 */
77function formulaires_sauvegarder_traiter_dist() {
78        $status_file = base_dump_meta_name(0);
79        $dir_dump = dump_repertoire();
80        $archive = $dir_dump . basename(_request('nom_sauvegarde'), ".sqlite");
81
82        if (_request('tout_sauvegarder')) {
83                // ici on prend toutes les tables sauf celles exclues par defaut
84                // (tables de cache en pratique)
85                $exclude = lister_tables_noexport();
86                list($tables, ) = base_liste_table_for_dump($exclude);
87                $tables = base_lister_toutes_tables('', $tables, $exclude);
88        } else {
89                $tables = _request('tables');
90        }
91
92        include_spip('inc/dump');
93        $res = dump_init($status_file, $archive, $tables);
94
95        if ($res === true) {
96                // on lance l'action sauvegarder qui va realiser la sauvegarde
97                // et finira par une redirection vers la page sauvegarde_fin
98                include_spip('inc/actions');
99                $redirect = generer_action_auteur('sauvegarder', $status_file);
100
101                return array('message_ok' => 'ok', 'redirect' => $redirect);
102        } else {
103                return array('message_erreur' => $res);
104        }
105}
Note: See TracBrowser for help on using the repository browser.