Valider 6a13ffcc rédigé par cerdic's avatar cerdic
Parcourir les fichiers

exporter_fragment au lieu de die, qui envoie un charset et supporte le php dans la boucle,

id par defaut compose du nom de la boucle et du squelette
et oubli renommage ahah_id en fragment
parent 8a927dad
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -1396,7 +1396,7 @@ function calcul_pagination($total, $nom, $pas, $liste = true) {
	$debut = 'debut'.$nom;

	$pagination = array(
		'lien_base' => parametre_url(self(),'ahah_id',''), // nettoyer l'id ahah eventuel
		'lien_base' => parametre_url(self(),'fragment',''), // nettoyer l'id ahah eventuel
		'total' => $total,
		'position' => intval(_request($debut)),
		'pas' => $pas,
+6 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -356,4 +356,10 @@ function recuperer_fond($fond, $contexte=array()) {
	return $page['texte'];
}

// export ahah de fragments de squelettes
function exporter_fragment($ahah){
	header('Content-Type: text/html; charset='.$GLOBALS['meta']['charset']);
	eval('?'.'>'.$ahah);
	exit;
}
?>
+10 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -435,7 +435,7 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) {
	// par un caractere distinguant le cas, pour exploitation par debug.
	foreach ($tableau as $p) {

		$ahah_out = false;
		$fragment = false;
		switch($p->type) {
		// texte seul
		case 'texte':
@@ -492,6 +492,11 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) {
			$newdescr['niv']--;
			$altern = calculer_liste($p->altern,
				$newdescr, $boucles, $id_boucle);
			if ($boucles[$nom]->fragment)
				$fragment = $boucles[$nom]->fragment;
			// si le nom du fragment n'a pas ete impose,
			// ajouter le hash du squelette pour assurer l'unicite dans la page html produite
			if ($fragment==$nom) $fragment.=$descr['nom'];
			break;

		case 'idiome':
@@ -544,13 +549,13 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) {
			}

			// gestion d'une boucle-fragment (ahah)
			if (strlen($p->fragment)) {
			if ($fragment) {
				$code = '(($fragment = '.$code.')?
				\'<div id="'.$p->fragment.'" class="fragment">\'
				\'<div id="'.$fragment.'" class="fragment">\'
				.$fragment
				."</div>":"").
				(($_GET["fragment"]=="'.$p->fragment.'")?
					die(charset2unicode($fragment)):""
				(($_GET["fragment"]=="'.$fragment.'")?
					exporter_fragment($fragment):""
				)';
			}