e01cd0d6e20fb18be4c971a7b80485a838529595
[lhc/web/www.git] / www / ecrire / exec / install.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2017 *
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 * Affichage des étapes d'installation de SPIP
15 *
16 * @package SPIP\Core\Exec
17 */
18
19 if (!defined('_ECRIRE_INC_VERSION')) {
20 return;
21 }
22
23 include_spip('inc/minipres');
24 include_spip('inc/install');
25 include_spip('inc/autoriser');
26
27 define('_ECRIRE_INSTALL', "1");
28 define('_FILE_TMP', '_install');
29
30 /**
31 * Affiche un des écrans d'installation de SPIP
32 *
33 * Affiche l'étape d'installation en cours, en fonction du paramètre
34 * d'url `etape`
35 *
36 * @uses inc_auth_dist()
37 * @uses verifier_visiteur()
38 *
39 * @uses install_etape__dist()
40 * Affiche l'écran d'accueil de l'installation,
41 * si aucune étape n'est encore définie.
42 *
43 **/
44 function exec_install_dist() {
45 $etape = _request('etape');
46 $deja = (_FILE_CONNECT and analyse_fichier_connection(_FILE_CONNECT));
47
48 // Si deja installe, on n'a plus le droit qu'a l'etape chmod
49 // pour chgt post-install ou aux etapes supplementaires
50 // de declaration de base externes.
51 // Mais alors il faut authentifier car ecrire/index.php l'a omis
52
53 if ($deja and in_array($etape, array('chmod', 'sup1', 'sup2'))) {
54
55 $auth = charger_fonction('auth', 'inc');
56 if (!$auth()) {
57 verifier_visiteur();
58 $deja = (!autoriser('configurer'));
59 }
60 }
61 if ($deja) {
62 // Rien a faire ici
63 echo minipres();
64 } else {
65 include_spip('base/create');
66 $fonc = charger_fonction("etape_$etape", 'install');
67 $fonc();
68 }
69 }