diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index db3e6d907c6e78d9d599131352685a56f1bb2f57..6f19f9fed4cee804754ff74619a3c5305de97bab 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -2771,6 +2771,9 @@ function pagination_item($num, $txt, $pattern, $lien_base, $debut, $ancre) { // on peut la surcharger en definissant dans mes_fonctions : // function pagination($total, $nom, $pas, $liste) {...} // + +define('PAGINATION_MAX', 10); + function calcul_pagination($total, $nom, $pas, $liste = true) { static $ancres = array(); $bloc_ancre = ""; @@ -2781,7 +2784,6 @@ function calcul_pagination($total, $nom, $pas, $liste = true) { return pagination($total, $nom, $pas, $liste); $separateur = ' | '; - define('PAGINATION_MAX', 10); $debut = 'debut'.$nom; diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index 1ae60347cb32bcdd7fe64e16d8df388a801b5b99..80eb565a54f0fa6159c381905e88906842a8a304 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -313,6 +313,7 @@ function couper($texte, $taille=50) { // prendre <intro>...</intro> sinon couper a la longueur demandee function couper_intro($texte, $long) { $texte = extraire_multi(eregi_replace("(</?)intro>", "\\1intro>", $texte)); // minuscules + $intro = ''; while ($fin = strpos($texte, "</intro>")) { $zone = substr($texte, 0, $fin); $texte = substr($texte, $fin + strlen("</intro>")); @@ -328,9 +329,7 @@ function couper_intro($texte, $long) { } // supprimer un eventuel chapo redirecteur =http:/..... - $intro = preg_replace(',^=[^[:space:]]+,','',$intro); - - return $intro; + return preg_replace(',^=[^[:space:]]+,','',$intro); } diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index 2ec2f31047c630098a7fbc80294c385585ce4251..2657d2b6972b37953bb183c649dc8bd57916a884 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -631,12 +631,12 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile) { foreach($boucles as $idb => $boucle) { if (($boucle->type_requete == 'documents') && $boucle->doublons) { $descr['documents'] = true; break; } - $boucles[$idb]->descr = &$descr; } // Commencer par reperer les boucles appelees explicitement // car elles indexent les arguments de maniere derogatoire foreach($boucles as $id => $boucle) { if ($boucle->type_requete == 'boucle') { + $boucles[$id]->descr = &$descr; $rec = &$boucles[$boucle->param[0]]; if (!$rec) { return array(_T('zbug_info_erreur_squelette'), @@ -656,6 +656,7 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile) { foreach($boucles as $id => $boucle) { $type = $boucle->type_requete; if ($type != 'boucle') { + $boucles[$id]->descr = &$descr; if ($x = $table_des_tables[$type]) { $boucles[$id]->id_table = $x; $boucles[$id]->primary = $tables_principales["spip_$x"]['key']["PRIMARY KEY"]; diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 9c1f6d475d1742ff215b67747a30a1e93b0271e2..f01ffc0d2a78e40b23d981ba74b8d5e5a223eec8 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -311,7 +311,7 @@ function calcul_exposer ($id, $type, $reference) { } // And the winner is... - return isset($exposer[$type]) ? $exposer[$type][$id] : ''; + return isset($exposer[$type]) ? isset($exposer[$type][$id]) : ''; } function lister_objets_avec_logos ($type) { diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index 5f121ae0d1929f5d2630bbdc3cf40dd005655c67..5b763b3136b68b4b586faa37e88a2ad7d809dd5c 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -51,7 +51,7 @@ function critere_doublons_dist($idb, &$boucles, $crit) { $boucle = &$boucles[$idb]; if (!$boucle->primary) erreur_squelette(_L('doublons sur une table sans index'), $param); - $nom = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent); + $nom = !isset($crit->param[0]) ? "''" : calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent); // mettre un tableau pour que ce ne soit pas vu comme une constante $boucle->where[]= array("calcul_mysql_in('".$boucle->id_table . '.' . $boucle->primary . "', " . @@ -97,10 +97,9 @@ function critere_debut_dist($idb, &$boucles, $crit) { function critere_pagination_dist($idb, &$boucles, $crit) { // definition de la taille de la page - $pas = calculer_liste($crit->param[0], array(), - $boucles, $boucles[$idb]->id_parent); + $pas = !isset($crit->param[0]) ? "''" : calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent); - $pas = "((\$a = intval($pas)) ? \$a : 10)"; # par defaut c'est 10 + $pas = ($pas== "''") ? '10' : "((\$a = intval($pas)) ? \$a : 10)"; $boucle = &$boucles[$idb]; $boucle->mode_partie = 'p+';