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

meilleure gestion d'ajax dans les {{{<INCLURE{ajax}>}}}, cf. #1336 et [11690]

parent af1381a6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -104,6 +104,9 @@ function calculer_inclure($p, $descr, &$boucles, $id_boucle) { ...@@ -104,6 +104,9 @@ function calculer_inclure($p, $descr, &$boucles, $id_boucle) {
$_contexte['doublons'] = "\\'doublons\\' => '.var_export(\$doublons,true).'"; $_contexte['doublons'] = "\\'doublons\\' => '.var_export(\$doublons,true).'";
} }
if ($ajax = isset($_contexte['ajax']))
unset($_contexte['ajax']);
$contexte = 'array(' . join(",\n\t", $_contexte) .')'; $contexte = 'array(' . join(",\n\t", $_contexte) .')';
if ($env) { if ($env) {
$contexte = "array_merge('.var_export(\$Pile[0],1).',$contexte)"; $contexte = "array_merge('.var_export(\$Pile[0],1).',$contexte)";
...@@ -113,21 +116,20 @@ function calculer_inclure($p, $descr, &$boucles, $id_boucle) { ...@@ -113,21 +116,20 @@ function calculer_inclure($p, $descr, &$boucles, $id_boucle) {
($fichier ? "\\'$path\\'" : ('_DIR_RESTREINT . "public.php"')). ($fichier ? "\\'$path\\'" : ('_DIR_RESTREINT . "public.php"')).
";"; ";";
// Gerer ajax // Gerer ajax
if (isset($_contexte['ajax'])) { if ($ajax) {
$code = '// {ajax} $code = ' echo "<div class=\\\'ajaxbloc env-\'
include_spip("inc/filtres"); . eval(\'return encoder_contexte_ajax('.$contexte.');\')
echo "<div class=\\\'ajaxbloc env-" . \'\\\'>\\n";'
.encoder_contexte_ajax($contexte_inclus) ."\n"
."\\\'>\\n"; .$code
'.$code.' ."\n"
echo "</div><!-- ajaxbloc -->\\n"; .' echo "</div><!-- ajaxbloc -->\\n";';
';
} }
return "\n'<". return "\n'<".
"?php\n\t\$contexte_inclus = $contexte;\n" "?php\n\t".'$contexte_inclus = '.$contexte.";\n"
. $code . $code
. "\n?'." . "'>'"; . "\n?'." . "'>'";
} }
......
...@@ -94,6 +94,7 @@ function analyse_resultat_skel($nom, $cache, $corps, $source='') { ...@@ -94,6 +94,7 @@ function analyse_resultat_skel($nom, $cache, $corps, $source='') {
$headers[$j] = $r[3]; $headers[$j] = $r[3];
} }
// S'agit-il d'un resultat constant ou contenant du code php
$process_ins = ( $process_ins = (
strpos($corps,'<'.'?') === false strpos($corps,'<'.'?') === false
OR strpos(str_replace('<'.'?xml', '', $corps),'<'.'?') === false OR strpos(str_replace('<'.'?xml', '', $corps),'<'.'?') === false
...@@ -116,7 +117,6 @@ function analyse_resultat_skel($nom, $cache, $corps, $source='') { ...@@ -116,7 +117,6 @@ function analyse_resultat_skel($nom, $cache, $corps, $source='') {
unset($headers['X-Spip-Filtre']); unset($headers['X-Spip-Filtre']);
} }
return array('texte' => $corps, return array('texte' => $corps,
'squelette' => $nom, 'squelette' => $nom,
'source' => $source, 'source' => $source,
......
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