source: spip-zone/_plugins_/mutualisation/mutualiser_upgrade.php @ 48944

Last change on this file since 48944 was 38054, checked in by real3t@…, 11 years ago

Selon le code (avec documentation ici : http://doc.spip.org/@touch_meta) :

Mettre en cache la liste des meta, sauf les valeurs sensibles pour qu'elles ne soient pas visibiles dans un fichier.souvent en 777

Les valeurs sensibles sont :

  • alea_ephemere
  • alea_ephemere_ancien

Donc, ne plus s'appuyer sur ces valeurs pour sécuriser l'action.

D'autre part, le renouvellement de meta n'était jamais fait...

File size: 1.8 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5function mutualiser_upgrade() {
6        define('_DOCTYPE_ECRIRE', ''); # on n'a pas lance spip_initialisation_suite() donc cette constante n'est pas definie
7        include_spip('inc/minipres');
8
9        // verif securite
10        if (_request('secret')
11        != md5(
12        $GLOBALS['meta']['version_installee'].'-'.$GLOBALS['meta']['popularite_total']
13        )) {
14                include_spip('inc/headers');
15                redirige_par_entete($GLOBALS['meta']['adresse_site'].'/'._DIR_RESTREINT_ABS);
16                exit;
17        }
18
19        if ($GLOBALS['spip_version_base']
20        == str_replace(',','.',$GLOBALS['meta']['version_installee'])) {
21                include_spip('inc/headers');
22                redirige_par_entete($GLOBALS['meta']['adresse_site'].'/'._DIR_RESTREINT_ABS);
23                exit;
24        }
25
26        // faire l'upgrade
27        $old = $GLOBALS['meta']['version_installee'];
28        $base = charger_fonction('upgrade', 'base');
29        $base('upgrade',false);
30        lire_metas();
31        $new = $GLOBALS['meta']['version_installee'];
32        if ($old == $new
33        OR $new != $GLOBALS['spip_version_base']) {
34                echo minipres(_T('titre_page_upgrade'),
35                        _L('Erreur de mise &#224; jour de @old@ vers @new@',
36                                array('old' => $old, 'new' => $new))
37                );
38        } else {
39                echo minipres(_T('titre_page_upgrade'),
40                        _L('La base de donn&#233;es a &#233;t&#233; mise &#224; jour de @old@ vers @new@',
41                                array('old' => $old, 'new' => $new))
42                );
43                // Installer les plugins
44                include_spip('inc/plugin');
45                actualise_plugins_actifs();
46                effacer_meta('plugin_erreur_activation');
47                ecrire_metas();
48                installe_plugins();
49                // vider tmp et recreer tmp/meta_cache.php
50                include_spip('inc/invalideur');
51                purger_repertoire(_DIR_TMP);
52                ecrire_metas();
53                echo minipres(_T('titre_page_upgrade'),
54                        _L('Aller dans <a href="@ecrire@">ecrire/</a>',
55                                array('ecrire' => $GLOBALS['meta']['adresse_site'].'/'._DIR_RESTREINT_ABS))
56                );
57        }
58        exit;
59}
60
61?>
Note: See TracBrowser for help on using the repository browser.