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

Envoyer un message d'erreur moins technique en cas de serveur SQL défaillant,...

Envoyer un message d'erreur moins technique en cas de serveur SQL défaillant, et envoyer l'information technique dans spip_log.
parent 1fe65188
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -28,8 +28,9 @@ function sql_serveur($ins_sql, $serveur='') { ...@@ -28,8 +28,9 @@ function sql_serveur($ins_sql, $serveur='') {
$desc = spip_connect($serveur); $desc = spip_connect($serveur);
if (function_exists($f = @$desc[$ins_sql])) return $f; if (function_exists($f = @$desc[$ins_sql])) return $f;
spip_log("Le serveur '$serveur' ne dispose pas de '$ins_sql'");
include_spip('inc/minipres'); include_spip('inc/minipres');
echo minipres("'$serveur' " ._T('zbug_serveur_indefini') . " ($ins_sql)"); echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
exit; exit;
} }
...@@ -86,17 +87,11 @@ function sql_set_charset($charset,$serveur=''){ ...@@ -86,17 +87,11 @@ function sql_set_charset($charset,$serveur=''){
return $f($charset, $serveur); return $f($charset, $serveur);
} }
// Cette fonction est systematiquement appelee par les squelettes // Fonction pour SELECT, retournant la ressource interrogeable par sql_fetch.
// pour constuire une requete SQL de type "lecture" (SELECT) a partir
// de chaque boucle.
// Elle construit et exe'cute une reque^te SQL correspondant a` une balise
// Boucle ; elle notifie une erreur SQL dans le flux de sortie et termine
// le processus.
// Sinon, retourne la ressource interrogeable par sql_fetch.
// Recoit en argument: // Recoit en argument:
// - le tableau des champs a` ramener (Select) // - le tableau (ou chaîne) des champs a` ramener (Select)
// - le tableau des tables a` consulter (From) // - le tableau (ou chaîne) des tables a` consulter (From)
// - le tableau des conditions a` remplir (Where) // - le tableau (ou chaîne) des conditions a` remplir (Where)
// - le crite`re de regroupement (Group by) // - le crite`re de regroupement (Group by)
// - le tableau de classement (Order By) // - le tableau de classement (Order By)
// - le crite`re de limite (Limit) // - le crite`re de limite (Limit)
...@@ -168,9 +163,10 @@ function sql_free($res, $serveur='') ...@@ -168,9 +163,10 @@ function sql_free($res, $serveur='')
return $f($res); return $f($res);
} }
// Cette fonction est destinee aux MAJ automatiques par Sed de vieux code. // Cette fonction ne garantit pas une portabilite totale
// Elle ne garantit pas une portabilite totale ===> lui preferer la suivante. // ===> lui preferer la suivante.
// // Elle est fournie pour permettre l'actualisation de vieux codes
// par un Sed brutal qui peut donner des resultats provisoirement acceptables
// http://doc.spip.org/@sql_insert // http://doc.spip.org/@sql_insert
function sql_insert($table, $noms, $valeurs, $desc=array(), $serveur='') function sql_insert($table, $noms, $valeurs, $desc=array(), $serveur='')
{ {
......
...@@ -309,10 +309,10 @@ function spip_connect_main($connexion) ...@@ -309,10 +309,10 @@ function spip_connect_main($connexion)
redirige_par_entete(generer_url_ecrire('upgrade', 'reinstall=oui', true)); redirige_par_entete(generer_url_ecrire('upgrade', 'reinstall=oui', true));
} }
$f = $connexion['select']; if (!($f = $connexion['select'])) return false;
if (!$r = $f('valeur','spip_meta', "nom='charset_sql_connexion'")) if (!$r = $f('valeur','spip_meta', "nom='charset_sql_connexion'"))
return false; return false;
$f = $connexion['fetch']; if (!($f = $connexion['fetch'])) return false;
$r = $f($r); $r = $f($r);
return ($r['valeur'] ? $r['valeur'] : -1); return ($r['valeur'] ? $r['valeur'] : -1);
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter