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