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

Arreter vite les frais en cas de serveur externe inaccessible (Suggrestion de Fil).

parent 1b40d295
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -244,12 +244,13 @@ function spip_connect($serveur='') {
: ($install ? (_FILE_CONNECT_INS . '.php')
: ''));
unset($GLOBALS['db_ok']);
unset($GLOBALS['spip_connect_version']);
if ($f AND is_readable($f)) include($f);
if (!isset($GLOBALS['db_ok'])) {
if ($install) return 'spip_' . $serveur . '_query';
spip_log("spip_connect: serveur $index mal defini dans '$f'.");
return false;
return $connexions[$index]=false;
}
$connexions[$index] = $GLOBALS['db_ok'];
......
......@@ -715,7 +715,7 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile, $connect='')
$boucles[$id]->jointures = $x;
if (($type == 'documents') && $boucle->doublons)
{ $descr['documents'] = true; }
}
} else $boucles[$id]->type_requete = '';
}
}
// Commencer par reperer les boucles appelees explicitement
......@@ -741,13 +741,13 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile, $connect='')
}
foreach($boucles as $id => $boucle) {
$type = $boucle->type_requete;
if ($type != 'boucle') {
if ($boucle->param) {
if ($type AND $type != 'boucle') {
if ($boucle->param) {
$res = calculer_criteres($id, $boucles);
if (is_array($res)) return $res; # erreur
}
$descr['id_mere'] = $id;
$boucles[$id]->return =
$descr['id_mere'] = $id;
$boucles[$id]->return =
calculer_liste($boucle->milieu,
$descr,
$boucles,
......@@ -765,20 +765,24 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile, $connect='')
foreach($boucles as $id => $boucle) {
// appeler la fonction de definition de la boucle
$f = 'boucle_'.strtoupper($boucle->type_requete);
$req = $boucle->type_requete;
if ($req) {
$f = 'boucle_'.strtoupper($req);
// si pas de definition perso, definition spip
if (!function_exists($f)) $f = $f.'_dist';
// laquelle a une definition par defaut
if (!function_exists($f)) $f = 'boucle_DEFAUT';
if (!function_exists($f)) $f = 'boucle_DEFAUT_dist';
if (!function_exists($f)) $f = $f.'_dist';
// laquelle a une definition par defaut
if (!function_exists($f)) $f = 'boucle_DEFAUT';
if (!function_exists($f)) $f = 'boucle_DEFAUT_dist';
$req = $f($id, $boucles);
}
$boucles[$id]->return =
"function BOUCLE" . strtr($id,"-","_") . $nom .
'(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) {' .
$f($id, $boucles) .
$req .
"\n}\n\n";
if ($GLOBALS['var_mode'] == 'debug')
boucle_debug_compile ($id, $nom, $boucles[$id]->return);
if ($GLOBALS['var_mode'] == 'debug')
boucle_debug_compile ($id, $nom, $boucles[$id]->return);
}
$code = "";
......
......@@ -1034,8 +1034,9 @@ function trouver_table($type, $boucle)
$serveur = $boucle->sql_serveur;
$s = $serveur ? $serveur : 0;
if (!isset($type_des_serveurs[$s])) spip_connect($serveur);
if (!isset($type_des_serveurs[$s])) {
if (!spip_connect($serveur)) return null;
}
$spip = ($type_des_serveurs[$s] == 'spip');
if ($spip AND isset($table_des_tables[$type])) {
......
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