[SPIP] ~maj 3.0.10 --> 3.0.14
[lhc/web/www.git] / www / ecrire / exec / upgrade.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
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 include_spip('inc/actions');
16 include_spip('inc/headers');
17
18 // http://doc.spip.org/@exec_upgrade_dist
19 function exec_upgrade_dist()
20 {
21
22 global $spip_version_base;
23 if (!_FILE_CONNECT)
24 redirige_url_ecrire("install");
25
26 // Si reinstallation necessaire, message ad hoc
27 if (_request('reinstall')=='oui'){
28 include_spip('inc/minipres');
29 $r = minipres(_T('titre_page_upgrade'),
30 "<p><b>"
31 ._T('texte_nouvelle_version_spip_1')
32 ."</b><p> "
33 ._T('texte_nouvelle_version_spip_2',
34 array('connect' => '<tt>'._FILE_CONNECT.'</tt>'))
35 .generer_form_ecrire('upgrade', "<input type='hidden' name='reinstall' value='non' />", '', _T('bouton_relancer_installation')));
36 echo $r;
37 }
38 elseif (_request('fin')) {
39 include_spip('inc/plugin');
40 actualise_plugins_actifs();
41 include_spip('inc/headers');
42 $res = generer_url_ecrire('admin_plugin','var_mode=recalcul');
43 echo redirige_formulaire($res);
44 }
45 else {
46
47 if (!isset($GLOBALS['meta']['version_installee']))
48 $GLOBALS['meta']['version_installee'] = 0.0;
49 else $GLOBALS['meta']['version_installee'] =
50 (double)str_replace(',', '.', $GLOBALS['meta']['version_installee']);
51 # NB: str_replace car, sur club-internet, il semble que version_installe soit
52 # enregistree au format '1,812' et non '1.812'
53
54 // Erreur downgrade
55 // (cas de double installation de fichiers SPIP sur une meme base)
56 if ($spip_version_base<$GLOBALS['meta']['version_installee'])
57 $commentaire = _T('info_mise_a_niveau_base_2');
58 // Commentaire standard upgrade
59 else $commentaire = _T('texte_mise_a_niveau_base_1');
60
61 $commentaire .= "<br />[".$GLOBALS['meta']['version_installee']."/".$spip_version_base."]";
62
63 $_POST['reinstall'] = 'non'; // pour copy_request dans admin
64 include_spip('inc/headers');
65 $admin = charger_fonction('admin', 'inc');
66 $res = $admin('upgrade', _T('info_mise_a_niveau_base'), $commentaire);
67 if ($res)
68 echo $res;
69 else {
70 // effacer les alea pour forcer leur relecture
71 // si jamais ils ont change pendant l'upgrade
72 unset($GLOBALS['meta']['alea_ephemere']);
73 unset($GLOBALS['meta']['alea_ephemere_ancien']);
74 $res = redirige_action_auteur('purger', 'cache', 'upgrade', 'fin=oui', true);
75 echo redirige_formulaire($res);
76 }
77 }
78 }
79
80 ?>