Valider 83d032a9 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

une erreur d'argument dans la pagination (un argument de trop selon les cas),...

une erreur d'argument dans la pagination (un argument de trop selon les cas), et prise en compte des arguments supplementaires :
#PAGINATION{page,truc=toto}
(#1215)
parent a48ca1ba
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+3 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -1767,7 +1767,7 @@ function filtre_find($array, $val) {
//

// http://doc.spip.org/@filtre_pagination_dist
function filtre_pagination_dist($total, $nom, $position, $pas, $liste = true, $modele='', $connect='') {
function filtre_pagination_dist($total, $nom, $position, $pas, $liste = true, $modele='', $connect='', $env=array()) {
	static $ancres = array();
	$bloc_ancre = "";
	
@@ -1798,6 +1798,8 @@ function filtre_pagination_dist($total, $nom, $position, $pas, $liste = true, $m
		'ancre' => $ancre,
		'bloc_ancre' => $bloc_ancre
	);
	if (is_array($env))
		$pagination = array_merge($env,$pagination);

	// Pas de pagination
	if ($pagination['nombre_pages']<=1)
+19 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -575,8 +575,23 @@ function balise_PAGINATION_dist($p, $liste='true') {
		$p->code = "''";
		return $p;
	}
	// Transforme l'ecriture du deuxieme param {truc=chose,machin=chouette} en
	// {truc=chose}{machin=chouette}... histoire de simplifier l'ecriture pour
	// le webmestre : #MODELE{emb}{autostart=true,truc=1,chose=chouette}
	if ($p->param[0]) {
		while (count($p->param[0])>2){
			$p->param[]=array(0=>NULL,1=>array_pop($p->param[0]));
		}
	}
	$__modele = interprete_argument_balise(1,$p);
	$__modele = $__modele?", $__modele":"";
	$__modele = $__modele?", $__modele":", ''";
	array_shift($p->param);
	
	$champ = phraser_arguments_inclure($p, true); 
	// a priori true
	// si false, le compilo va bloquer sur des syntaxes avec un filtre sans argument qui suit la balise
	// si true, les arguments simples (sans truc=chose) vont degager
	$code_contexte = argumenter_inclure($champ, $p->descr, $p->boucles, $p->id_boucle, false);

	$p->boucles[$b]->numrows = true;
	$connect = $p->boucles[$b]->sql_serveur;
@@ -587,7 +602,9 @@ function balise_PAGINATION_dist($p, $liste='true') {
	), ".$p->boucles[$b]->modificateur['debut_nom'].",
		\$Pile[0]['debut'.".$p->boucles[$b]->modificateur['debut_nom']."],"
	. $p->boucles[$b]->total_parties
	  . ", $liste$__modele,''," . sql_quote($connect) . ")";
	  . ", $liste$__modele," . sql_quote($connect) 
	  . ", array(" . implode(',',$code_contexte) . ")" 
	  . ")";

	$p->interdire_scripts = false;
	return $p;