[SPIP] v3.2.1-->v3.2.2
[lhc/web/www.git] / www / ecrire / install / etape_1.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 /**
14 * Affichage de l'écran d'installation (étape 1 : tests des répertoires
15 * et hébergement, et demande d'identifiants de connexion à la BDD)
16 *
17 * @package SPIP\Core\Installation
18 */
19
20 if (!defined('_ECRIRE_INC_VERSION')) {
21 return;
22 }
23
24 /**
25 * Affichage de l'étape 1 d'installation : tests des répertoires
26 * et hébergement ; demande d'identifiants de connexion à la BDD
27 *
28 * Teste que l'hébergement est compatible, que les répertoires qui doivent
29 * être accessibles en écriture le sont effectivement, auquel cas demande les identifiants
30 * de connexion à une base de données
31 *
32 * @uses tester_compatibilite_hebergement()
33 * @uses analyse_fichier_connection()
34 * @uses login_hebergeur()
35 *
36 */
37 function install_etape_1_dist() {
38 echo install_debut_html();
39
40 // stopper en cas de grosse incompatibilite de l'hebergement
41 tester_compatibilite_hebergement();
42
43 // Recuperer les anciennes donnees pour plus de facilite (si presentes)
44 $s = !@is_readable(_FILE_CONNECT_TMP) ? ''
45 : analyse_fichier_connection(_FILE_CONNECT_TMP);
46
47 list($adresse_db, $login_db) = $s ? $s : login_hebergeur();
48
49 $chmod = (isset($_GET['chmod']) and preg_match(',^[0-9]+$,', $_GET['chmod'])) ?
50 sprintf('%04o', $_GET['chmod']) : '0777';
51
52 if (@is_readable(_FILE_CHMOD_TMP)) {
53 $s = @join('', @file(_FILE_CHMOD_TMP));
54 if (preg_match("#define\('_SPIP_CHMOD', (.*)\)#", $s, $regs)) {
55 $chmod = $regs[1];
56 }
57 }
58
59
60 $db = array($adresse_db, _T('entree_base_donnee_2'));
61 $login = array($login_db, _T('entree_login_connexion_2'));
62 $pass = array('', _T('entree_mot_passe_2'));
63
64 $predef = array(
65 defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : '',
66 defined('_INSTALL_HOST_DB'),
67 defined('_INSTALL_USER_DB'),
68 defined('_INSTALL_PASS_DB')
69 );
70
71
72 echo info_progression_etape(1, 'etape_', 'install/');
73
74 // ces deux chaines de langues doivent etre reecrites
75 # echo info_etape(_T('info_connexion_mysql'), _T('texte_connexion_mysql').aide ("install1", true));
76 echo info_etape(_T('info_connexion_base_donnee'));
77 echo install_connexion_form($db, $login, $pass, $predef, "\n<input type='hidden' name='chmod' value='$chmod' />", 2);
78 echo install_fin_html();
79 }