X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Finstall%2Fetape_3b.php;h=beefecef1de5107e800ad1c440e5a97f9bfc5d6f;hb=4f443dce95ff6f8221c189880a70c74ce1c1f238;hp=08b983c2376e482a902fec15acbb2a206314dc7d;hpb=4a628e9b277d3617535f99d663ca79fa2e891177;p=lhc%2Fweb%2Fwww.git diff --git a/www/ecrire/install/etape_3b.php b/www/ecrire/install/etape_3b.php index 08b983c2..beefecef 100644 --- a/www/ecrire/install/etape_3b.php +++ b/www/ecrire/install/etape_3b.php @@ -3,62 +3,69 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2016 * + * Copyright (c) 2001-2017 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ -if (!defined('_ECRIRE_INC_VERSION')) return; +if (!defined('_ECRIRE_INC_VERSION')) { + return; +} include_spip('inc/headers'); -function install_etape_3b_dist() -{ +function install_etape_3b_dist() { $login = _request('login'); $email = _request('email'); $nom = _request('nom'); $pass = _request('pass'); $pass_verif = _request('pass_verif'); - $server_db = defined('_INSTALL_SERVER_DB') ? - _INSTALL_SERVER_DB + $server_db = defined('_INSTALL_SERVER_DB') + ? _INSTALL_SERVER_DB : _request('server_db'); - if (!defined('_PASS_LONGUEUR_MINI')) define('_PASS_LONGUEUR_MINI', 6); - if (!defined('_LOGIN_TROP_COURT')) define('_LOGIN_TROP_COURT', 4); - - if($login) { - $echec = ($pass!=$pass_verif) ? - _T('info_passes_identiques') - : ((strlen($pass)<_PASS_LONGUEUR_MINI) ? - _T('info_passe_trop_court_car_pluriel', array('nb'=>_PASS_LONGUEUR_MINI)) - : ((strlen($login)<_LOGIN_TROP_COURT) ? - _T('info_login_trop_court') - : '')); + if (!defined('_PASS_LONGUEUR_MINI')) { + define('_PASS_LONGUEUR_MINI', 6); + } + if (!defined('_LOGIN_TROP_COURT')) { + define('_LOGIN_TROP_COURT', 4); + } + if ($login) { + $echec = ($pass != $pass_verif) ? + _T('info_passes_identiques') + : ((strlen($pass) < _PASS_LONGUEUR_MINI) ? + _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)) + : ((strlen($login) < _LOGIN_TROP_COURT) ? + _T('info_login_trop_court') + : '')); include_spip('inc/filtres'); - if (!$echec AND $email AND !email_valide($email)) + if (!$echec and $email and !email_valide($email)) { $echec = _T('form_email_non_valide'); + } if ($echec) { echo minipres( - 'AUTO', - info_progression_etape(3,'etape_','install/', true). - "

$echec

\n". - "

"._T('avis_connexion_echec_2')."

". - "
" + 'AUTO', + info_progression_etape(3, 'etape_', 'install/', true) . + "

$echec

\n" . + '

' . _T('avis_connexion_echec_2') . '

' . + '
' ); exit; } } - if (@file_exists(_FILE_CHMOD_TMP)) + if (@file_exists(_FILE_CHMOD_TMP)) { include(_FILE_CHMOD_TMP); - else + } else { redirige_url_ecrire('install'); + } - if (!@file_exists(_FILE_CONNECT_TMP)) + if (!@file_exists(_FILE_CONNECT_TMP)) { redirige_url_ecrire('install'); + } # maintenant on connait le vrai charset du site s'il est deja configure # sinon par defaut lire_meta reglera _DEFAULT_CHARSET @@ -79,18 +86,27 @@ function install_etape_3b_dist() $htpass = generer_htpass($pass); $alea_actuel = creer_uniqid(); $alea_futur = creer_uniqid(); - $shapass = _nano_sha256($alea_actuel.$pass); + $shapass = _nano_sha256($alea_actuel . $pass); // prelablement, creer le champ webmestre si il n'existe pas (install neuve // sur une vieille base - $t = sql_showtable("spip_auteurs", true); - if (!isset($t['field']['webmestre'])) + $t = sql_showtable('spip_auteurs', true); + if (!isset($t['field']['webmestre'])) { @sql_alter("TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL"); - - $id_auteur = sql_getfetsel("id_auteur", "spip_auteurs", "login=" . sql_quote($login)); - if ($id_auteur !== NULL) { - sql_updateq('spip_auteurs', array("nom"=> $nom, 'email'=> $email, 'login'=>$login, 'pass'=>$shapass, 'alea_actuel'=>$alea_actuel, 'alea_futur'=> $alea_futur, 'htpass'=>$htpass, 'statut'=>'0minirezo'), "id_auteur=$id_auteur"); } - else { + + $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login)); + if ($id_auteur !== null) { + sql_updateq('spip_auteurs', array( + 'nom' => $nom, + 'email' => $email, + 'login' => $login, + 'pass' => $shapass, + 'alea_actuel' => $alea_actuel, + 'alea_futur' => $alea_futur, + 'htpass' => $htpass, + 'statut' => '0minirezo' + ), "id_auteur=$id_auteur"); + } else { $id_auteur = sql_insertq('spip_auteurs', array( 'nom' => $nom, 'email' => $email, @@ -99,22 +115,26 @@ function install_etape_3b_dist() 'htpass' => $htpass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, - 'statut' =>'0minirezo')); + 'statut' => '0minirezo' + )); } // le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne @sql_updateq('spip_auteurs', array('webmestre' => 'oui'), "id_auteur=$id_auteur"); // inserer email comme email webmaster principal // (sauf s'il est vide: cas de la re-installation) - if ($email) + if ($email) { ecrire_meta('email_webmaster', $email); + } // Connecter directement celui qui vient de (re)donner son login // mais sans cookie d'admin ni connexion longue include_spip('inc/auth'); if (!$auteur = auth_identifier_login($login, $pass) - OR !auth_loger($auteur, true)) + or !auth_loger($auteur, true) + ) { spip_log("login automatique impossible $auth_spip $session" . count($row)); + } } // installer les metas @@ -129,8 +149,5 @@ function install_etape_3b_dist() include_spip('inc/distant'); - redirige_par_entete(parametre_url(self(),'etape','4','&')); - + redirige_par_entete(parametre_url(self(), 'etape', '4', '&')); } - -?>