Skip to content
Extraits de code Groupes Projets
Valider 82450e51 rédigé par esj's avatar esj
Parcourir les fichiers

Installation plus propre, sans message d'erreur. Attention, la fonction...

Installation plus propre, sans message d'erreur. Attention, la fonction d'abstraction {{{showbase}}} introduite [10371] change légèrement de spécification: si son argument est fourni, il est pris tel quel comme opérande de ILIKE. Rien de changé si ps d'argument.
parent 6dbab515
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -49,9 +49,12 @@ function sql_get_charset($charset, $serveur=''){
// le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc.
$desc = spip_connect($serveur);
$c = @$desc['charsets'][$charset];
if (!$c) return false;
if (!function_exists($f=@$desc['get_charset'])) return false;
if ($f($c, $serveur)) return $c;
if ($c) {
if (function_exists($f=@$desc['get_charset']))
if ($f($c, $serveur)) return $c;
}
spip_log("SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.");
return false;
}
// Cette fonction est systematiquement appelee par les squelettes
......@@ -174,15 +177,15 @@ function sql_replace($table, $values, $desc=array(), $serveur='')
}
// http://doc.spip.org/@sql_showbase
function sql_showbase($spip=true, $serveur='')
function sql_showbase($spip=NULL, $serveur='')
{
if ($spip){
if ($spip == NULL){
$connexion = $GLOBALS['connexions'][$serveur ? $serveur : 0];
$prefixe = $connexion['prefixe'];
} else $prefixe ='';
$spip = $connexion['prefixe'] . '%';
}
$f = sql_serveur('showbase', $serveur);
return $f("$prefixe%", $serveur);
return $f($spip, $serveur);
}
// http://doc.spip.org/@sql_showtable
......
......@@ -74,15 +74,10 @@ function install_bases(){
$GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix;
$GLOBALS['connexions'][$server_db]['db'] = $sel_db;
// s'il y a erreur c'est qu'elle est nouvelle
$nouvelle = !@$fquery("SELECT COUNT(*) FROM spip_meta", $server_db);
if ($nouvelle) {
// rouvrir la connexion apres l'erreur
$GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, 0, $login_db, $pass_db, '', $server_db);
$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,
......@@ -97,8 +92,12 @@ function install_bases(){
$charset['collation'];
$GLOBALS['meta']['charset_sql_connexion'] =
$charset['charset'];
} else spip_log(_DEFAULT_CHARSET . " inconnu du serveur SQL");
$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
......@@ -111,7 +110,7 @@ function install_bases(){
} else {
// pour recreer les tables disparues au besoin
spip_log("Table des Meta deja la. Verification des autres.");
creer_base($server_db);
$r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db);
......@@ -130,7 +129,7 @@ function install_bases(){
: test_rappel_nom_base_mysql($server_db);
$result_ok = @$fquery("SELECT COUNT(*) FROM spip_meta", $server_db);
if (!$result_ok) return "<!--\n$nouvelle $ligne_rappel\n-->";
if (!$result_ok) return "<!--\nvielle = $old rappel= $ligne_rappel\n-->";
if($chmod) {
install_fichier_connexion(_FILE_CHMOD_TMP, "@define('_SPIP_CHMOD', ". sprintf('0%3o',$chmod).");\n");
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter