From 37afda5515651fc9ea3e55e350b777d49a8b25fb Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Thu, 20 Dec 2007 00:04:45 +0000 Subject: [PATCH] =?UTF-8?q?-=20Ne=20pas=20afficher=20le=20formulaire=20de?= =?UTF-8?q?=20selection=20d'un=20serveur=20de=20base=20de=20donn=C3=A9e=20?= =?UTF-8?q?si=20l'on=20a=20renseign=C3=A9=20=5FINSTALL=5FSERVER=5FDB=20-?= =?UTF-8?q?=20Cacher=20les=20param=C3=A8tres=20de=20connexion=20(adresse,?= =?UTF-8?q?=20user,=20pass)=20au=20serveur=20si=20SQLite=20est=20pr=C3=A9d?= =?UTF-8?q?=C3=A9fini=20dans=20=5FINSTALL=5FSERVEUR=5FDB=20-=20Utiliser=20?= =?UTF-8?q?la=20constante=20=5FECRIRE=5FINSTALL=20dans=20sqlite=20plutot?= =?UTF-8?q?=20que=20=5Frequest('exec')=3D=3D'install'=20afin=20de=20pouvoi?= =?UTF-8?q?r=20faire=20des=20installations=20automatiques=20avec=20le=20pl?= =?UTF-8?q?ugin=20'mutualisation'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc/install.php | 37 ++++++++++++++++----------------- ecrire/req/sqlite_generique.php | 12 +++++------ 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/ecrire/inc/install.php b/ecrire/inc/install.php index 34ab70ff39..3af4aa8b6b 100644 --- a/ecrire/inc/install.php +++ b/ecrire/inc/install.php @@ -215,24 +215,15 @@ function install_connexion_form($db, $login, $pass, $predef, $hidden, $etape) $sqlite2 = in_array(2, $versions); $sqlite3 = in_array(3, $versions); + // cacher le formlaire s'il n' a qu'un serveur + // ou si l'installation est predefinie avec un serveur particulier if (($pg + $mysql + $sqlite2 + $sqlite3) == 1){ if ($mysql) $server_db = 'mysql'; if ($pg) $server_db = 'pg'; if ($sqlite2) $server_db = 'sqlite2'; if ($sqlite3) $server_db = 'sqlite3'; - } - - else if ($predef[0]) { - if (!is_string($predef[0])) { - $server_db = _INSTALL_SERVER_DB; - $m = $p = ''; - } else { - $server_db =''; - $m = strcasecmp($predef[0], 'mysql') ? '' : " selected='selected'"; - $p = strcasecmp($predef[0], 'pg') ? '' : " selected='selected'"; - $s2 = strcasecmp($predef[0], 'sqlite2') ? '' : " selected='selected'"; - $s3 = strcasecmp($predef[0], 'sqlite3') ? '' : " selected='selected'"; - } + } elseif ($predef[0]) { + $server_db = _INSTALL_SERVER_DB; } return generer_form_ecrire('install', ( @@ -244,8 +235,13 @@ function install_connexion_form($db, $login, $pass, $predef, $hidden, $etape) :"") . '<script language="javascript" src=' . find_in_path('javascript/jquery.js') . '></script>' - . '<script language="javascript"> + . '<script language="javascript"><!-- $(document).ready(function() { + if ($("input[@type=hidden][@name=server_db]").attr("value").match("sqlite*")){ + $("#install_adresse_base_hebergeur").hide(); + $("#install_login_base_hebergeur").hide(); + $("#install_pass_base_hebergeur").hide(); + } $("#sql_serveur_db").change(function(){ if ($(this).find("option:selected").attr("value").match("sqlite*")){ $("#install_adresse_base_hebergeur").hide(); @@ -258,24 +254,27 @@ function install_connexion_form($db, $login, $pass, $predef, $hidden, $etape) } }); }); - </script>' + // --></script>' . ($server_db ? '<input type="hidden" name="server_db" value="'.$server_db.'" />' + . (($predef[0]) + ?_L('<b>Serveur de base de données attribué par l\'hébergeur</b>') + :'') : ('<fieldset><legend>' ._L('Indiquer le type de base de données :') . "\n<select name='server_db' id='sql_serveur_db' >" . ($mysql - ? "\n<option value='mysql'$m>"._L('MySQL')."</option>" + ? "\n<option value='mysql'>"._L('MySQL')."</option>" : '') . ($pg - ? "\n<option value='pg'$p>"._L('PostGreSQL')."</option>" + ? "\n<option value='pg'>"._L('PostGreSQL')."</option>" : '') . (($sqlite2) - ? "\n<option value='sqlite2'$s2>"._L('SQLite 2')."</option>" + ? "\n<option value='sqlite2'>"._L('SQLite 2')."</option>" : '') . (($sqlite3) - ? "\n<option value='sqlite3'$s3>"._L('SQLite 3')."</option>" + ? "\n<option value='sqlite3'>"._L('SQLite 3')."</option>" : '') . "\n</select></legend></fieldset>") ) diff --git a/ecrire/req/sqlite_generique.php b/ecrire/req/sqlite_generique.php index f60830e97b..0ee92e08fd 100644 --- a/ecrire/req/sqlite_generique.php +++ b/ecrire/req/sqlite_generique.php @@ -51,17 +51,17 @@ function req_sqlite_dist($addr, $port, $login, $pass, $db='', $prefixe='', $ldap if (!_sqlite_charger_version($sqlite_version)) { spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!"); return false; - } - + } + // chargement des constantes // il ne faut pas definir les constantes avant d'avoir charge les modules sqlite $define = "spip_sqlite".$sqlite_version."_constantes"; $define(); - + $ok = false; if (!$db){ // si installation -> base temporaire tant qu'on ne connait pas son vrai nom - if (_request('exec') == 'install'){ + if (defined('_ECRIRE_INSTALL') && _ECRIRE_INSTALL){ // creation d'une base temporaire pour le debut d'install $tmp = _DIR_DB . "_sqlite".$sqlite_version."_install.sqlite"; if ($sqlite_version == 3) @@ -602,7 +602,7 @@ function spip_sqlite_selectdb($db, $serveur='') { // interdire la creation d'une nouvelle base, // sauf si on est dans l'installation if (!is_file($f = _DIR_DB . $db . '.sqlite') - && _request('exec')!='install') + && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)) return false; // se connecter a la base indiquee @@ -1185,7 +1185,7 @@ class sqlite_traiter_requete{ $this->query = $query; $this->serveur = $serveur; - if (!($this->link = _sqlite_link($this->serveur)) && (_request('exec')!='install')){ + if (!($this->link = _sqlite_link($this->serveur)) && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)){ spip_log("Aucune connexion sqlite (link)"); return false; } -- GitLab