"._T("avis_connexion_erreur_nom_base")."
"; } } // on rejoue la connexion apres avoir teste si il faut lui indiquer // un sql_mode install_mode_appel($server_db, false); $GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, $sel_db, $login_db, $pass_db, $sel_db, $server_db); $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']]; // Completer le tableau decrivant la connexion $GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix; $GLOBALS['connexions'][$server_db]['db'] = $sel_db; $old = sql_showbase($table_prefix . "_meta", $server_db); if ($old) $old = sql_fetch($old, $server_db); if (!$old) { // Si possible, demander au serveur d'envoyer les textes // dans le codage std de SPIP, $charset = sql_get_charset(_DEFAULT_CHARSET, $server_db); if ($charset) { sql_set_charset($charset['charset'], $server_db); $GLOBALS['meta']['charset_sql_base'] = $charset['charset']; $GLOBALS['meta']['charset_collation_sql_base'] = $charset['collation']; $GLOBALS['meta']['charset_sql_connexion'] = $charset['charset']; $charsetbase = $charset['charset']; } else { spip_log(_DEFAULT_CHARSET . " inconnu du serveur SQL"); $charsetbase = 'standard'; } spip_log("Creation des tables. Codage $charsetbase"); creer_base($server_db); // AT LAST // memoriser avec quel charset on l'a creee if ($charset) { $t = array('nom' => 'charset_sql_base', 'valeur' => $charset['charset'], 'impt' => 'non'); @sql_insertq('spip_meta', $t, '', $server_db); $t['nom'] = 'charset_collation_sql_base'; $t['valeur'] = $charset['collation']; @sql_insertq('spip_meta', $t, '', $server_db); $t['nom'] = 'charset_sql_connexion'; $t['valeur'] = $charset['charset']; @sql_insertq('spip_meta', $t, '', $server_db); } $t = array('nom' => 'version_installee', 'valeur' => $spip_version_base, 'impt' => 'non'); @sql_insertq('spip_meta', $t, '', $server_db); $t['nom'] = 'nouvelle_install'; $t['valeur'] = 1; @sql_insertq('spip_meta', $t, '', $server_db); // positionner la langue par defaut du site si un cookie de lang a ete mis if (isset($_COOKIE['spip_lang_ecrire'])){ @sql_insertq('spip_meta', array('nom'=>'langue_site','valeur'=>$_COOKIE['spip_lang_ecrire']), '', $server_db); } } else { // pour recreer les tables disparues au besoin spip_log("Table des Meta deja la. Verification des autres."); creer_base($server_db); $fupdateq = sql_serveur('updateq', $server_db); $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db); if ($r) $r = sql_fetch($r, $server_db); $version_installee = !$r ? 0 : (double) $r['valeur']; if (!$version_installee OR ($spip_version_base < $version_installee)) { $fupdateq('spip_meta', array('valeur'=>$spip_version_base, 'impt'=>'non'), "nom='version_installee'",'', $server_db); spip_log("nouvelle version installee: $spip_version_base"); } // eliminer la derniere operation d'admin mal terminee // notamment la mise a jour @$fquery("DELETE FROM spip_meta WHERE nom='import_all' OR nom='admin'", $server_db); } $ligne_rappel = install_mode_appel($server_db); $result_ok = @$fquery("SELECT COUNT(*) FROM spip_meta", $server_db); if (!$result_ok) return ""; if ($chmod_db) { install_fichier_connexion(_FILE_CHMOD_TMP, "if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', ". sprintf('0%3o',$chmod_db).");\n"); } if (preg_match(',(.*):(.*),', $adresse_db, $r)) list(,$adresse_db, $port) = $r; else $port = ''; // si ce fichier existe a cette etape c'est qu'il provient // d'une installation qui ne l'a pas cree correctement. // Le supprimer pour que _FILE_CONNECT_TMP prime. if (_FILE_CONNECT AND file_exists(_FILE_CONNECT)) spip_unlink(_FILE_CONNECT); install_fichier_connexion(_FILE_CONNECT_TMP, $ligne_rappel . install_connexion($adresse_db, $port, $login_db, $pass_db, $sel_db, $server_db, $table_prefix)); return ''; } // http://doc.spip.org/@install_propose_ldap function install_propose_ldap() { return generer_form_ecrire('install', ( fieldset(_T('info_authentification_externe'), array( 'etape' => array( 'label' => _T('texte_annuaire_ldap_1'), 'valeur' => 'ldap1', 'hidden' => true )), bouton_suivant(_T('bouton_acces_ldap')) ))); } // http://doc.spip.org/@install_premier_auteur function install_premier_auteur($email, $login, $nom, $pass, $hidden, $auteur_obligatoire) { return info_progression_etape(3,'etape_','install/') . info_etape(_T('info_informations_personnelles'), ""._T('texte_informations_personnelles_1')."" . aide ("install5", true) . "" .
($auteur_obligatoire?
''
:
_T('texte_informations_personnelles_2') . " " . _T('info_laisser_champs_vides')
))
. generer_form_ecrire('install', (
"\n"
. $hidden
. fieldset(_T('info_identification_publique'),
array(
'nom' => array(
'label' => ""._T('entree_signature')."
\n"._T('entree_nom_pseudo_1')."\n",
'valeur' => $nom,
'required' => $auteur_obligatoire,
),
'email' => array(
'label' => ""._T('entree_adresse_email')."\n",
'valeur' => $email,
)
)
)
. fieldset(_T('entree_identifiants_connexion'),
array(
'login' => array(
'label' => ""._T('entree_login')."
\n"._T('info_login_trop_court_car_pluriel', array('nb' => _LOGIN_TROP_COURT))."\n",
'valeur' => $login,
'required' => $auteur_obligatoire,
),
'pass' => array(
'label' => ""._T('entree_mot_passe')."
\n"._T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI))."\n",
'valeur' => $pass,
'required' => $auteur_obligatoire,
),
'pass_verif' => array(
'label' => ""._T('info_confirmer_passe')."
\n",
'valeur' => $pass,
'required' => $auteur_obligatoire,
)
)
)
. bouton_suivant()));
}
// http://doc.spip.org/@install_etape_3_dist
function install_etape_3_dist()
{
$ldap_present = _request('ldap_present');
if (!$ldap_present) {
$adresse_db = defined('_INSTALL_HOST_DB')
? _INSTALL_HOST_DB
: _request('adresse_db');
$login_db = defined('_INSTALL_USER_DB')
? _INSTALL_USER_DB
: _request('login_db');
$pass_db = defined('_INSTALL_PASS_DB')
? _INSTALL_PASS_DB
: _request('pass_db');
$server_db = defined('_INSTALL_SERVER_DB')
? _INSTALL_SERVER_DB
: _request('server_db');
$chmod_db = defined('_SPIP_CHMOD')
? _SPIP_CHMOD
: _request('chmod');
$choix_db = defined('_INSTALL_NAME_DB')
? _INSTALL_NAME_DB
: _request('choix_db');
$sel_db = ($choix_db == "new_spip")
? _request('table_new') : $choix_db;
$res = install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $sel_db, $chmod_db);
if ($res) {
$res = info_progression_etape(2,'etape_','install/', true)
. "
"._T('texte_operation_echec')."
" . "