Mise en route du suivi.
[aidenligne_francais_universite.git] / ecrire / install / etape_6.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
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; #securite
14
15 include_spip('inc/headers');
16
17 // http://doc.spip.org/@inc_install_6
18 function install_etape_6_dist()
19 {
20 global $email,$login,$nom,$pass, $pass_verif,$spip_lang_right;
21
22 if($login!='' AND ($pass!=$pass_verif OR strlen($pass)<5 OR strlen($login)<3)) {
23 echo minipres(
24 'AUTO',
25 "<h2>"._T('info_passes_identiques')."</h2>\n".
26 "<p>"._T('avis_connexion_echec_2')."</p>"
27 );
28 exit;
29 }
30
31 echo install_debut_html('AUTO', ' onLoad="document.getElementById(\'suivant\').focus();return false;"');
32
33 echo info_etape(_T('info_derniere_etape'),
34 "<b>"._T('info_code_acces')."</b><br />" .
35 _T('info_utilisation_spip')
36 );
37
38 if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . '.php'))
39 include(_FILE_CONNECT_INS . _FILE_TMP . '.php');
40 else
41 redirige_par_entete(generer_url_ecrire('install'));
42
43 if (@file_exists(_FILE_CHMOD_INS . _FILE_TMP . '.php'))
44 include(_FILE_CHMOD_INS . _FILE_TMP . '.php');
45 else
46 redirige_par_entete(generer_url_ecrire('install'));
47
48 if (!@rename(_FILE_CONNECT_INS . _FILE_TMP . '.php',
49 _DIR_ETC . 'connect.php')) {
50 copy(_FILE_CONNECT_INS . _FILE_TMP . '.php',
51 _DIR_ETC . 'connect.php');
52 @unlink(_FILE_CONNECT_INS . _FILE_TMP . '.php');
53 }
54
55 # maintenant on connait le vrai charset du site s'il est deja configure
56 # sinon par defaut inc/meta reglera _DEFAULT_CHARSET
57 # (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET)
58 include_spip('inc/meta');
59 lire_metas();
60
61 if ($login) {
62 include_spip('inc/charsets');
63
64 $nom = (importer_charset($nom, _DEFAULT_CHARSET));
65 $login = (importer_charset($login, _DEFAULT_CHARSET));
66 $email = (importer_charset($email, _DEFAULT_CHARSET));
67 # pour le passwd, bizarrement il faut le convertir comme s'il avait
68 # ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js
69 $pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1');
70 $result = spip_query("SELECT id_auteur FROM spip_auteurs WHERE login=" . _q($login));
71
72 unset($id_auteur);
73 if ($row = spip_fetch_array($result)) $id_auteur = $row['id_auteur'];
74
75 $mdpass = md5($pass);
76 $htpass = generer_htpass($pass);
77
78 if ($id_auteur) {
79 spip_query("UPDATE spip_auteurs SET nom=" . _q($nom) . ", email=" . _q($email) . ", login=" . _q($login) . ", pass='$mdpass', alea_actuel='', alea_futur=FLOOR(32000*RAND()), htpass='$htpass', statut='0minirezo' WHERE id_auteur=$id_auteur");
80 }
81 else {
82 spip_query("INSERT INTO spip_auteurs (nom, email, login, pass, htpass, alea_futur, statut) VALUES(" . _q($nom) . "," . _q($email) . "," . _q($login) . ",'$mdpass','$htpass',FLOOR(32000*RAND()),'0minirezo')");
83 }
84
85 // inserer email comme email webmaster principal
86 spip_query("REPLACE spip_meta (nom, valeur) VALUES ('email_webmaster', " . _q($email) . ")");
87 }
88
89 include_spip('inc/config');
90 init_config();
91
92 include_spip('inc/acces');
93 $htpasswd = _DIR_TMP . _AUTH_USER_FILE;
94 @unlink($htpasswd);
95 @unlink($htpasswd."-admin");
96 ecrire_acces();
97 ecrire_metas();
98
99 if (!@rename(_FILE_CHMOD_INS . _FILE_TMP . '.php',
100 _DIR_ETC . 'chmod.php')) {
101 copy(_FILE_CHMOD_INS . _FILE_TMP . '.php',
102 _DIR_ETC . 'chmod.php');
103 @unlink(_FILE_CHMOD_INS . _FILE_TMP . '.php');
104 }
105
106 echo "<form action='./' method='post'><div>";
107 echo bouton_suivant();
108 echo "</div></form>";
109 echo install_fin_html();
110 }
111
112 ?>