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