X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Finc%2Ffiltres.php;h=74846d1a9faeea97d525c7cec2baa43cf551194d;hb=refs%2Ftags%2F3.0.0;hp=8c42d44ffdac4d1c30e1b600a1a75e213a62a8b5;hpb=bca3db9e1ab94e469b01f7e994a5e095de5f88c4;p=ptitvelo%2Fweb%2Fwww.git diff --git a/www/ecrire/inc/filtres.php b/www/ecrire/inc/filtres.php index 8c42d44..74846d1 100644 --- a/www/ecrire/inc/filtres.php +++ b/www/ecrire/inc/filtres.php @@ -3,7 +3,7 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2012 * + * Copyright (c) 2001-2014 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * @@ -363,7 +363,8 @@ function entites_html($texte, $tout=false, $quote=true) { OR strpbrk($texte, "&\"'<>")==false ) return $texte; include_spip('inc/texte'); - $texte = htmlspecialchars(echappe_retour(echappe_html($texte,'',true),'','proteger_amp'),$quote?ENT_QUOTES:(ENT_COMPAT|ENT_HTML401)); + $flags = !defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400 ? ENT_COMPAT : ENT_COMPAT|ENT_HTML401; + $texte = spip_htmlspecialchars(echappe_retour(echappe_html($texte, '', true), '', 'proteger_amp'), $quote?ENT_QUOTES:$flags); if ($tout) return corriger_toutes_entites_html($texte); else @@ -966,6 +967,7 @@ function affdate_base($numdate, $vue, $options = array()) { switch ($vue) { case 'saison': + case 'saison_annee': $saison = ''; if ($mois > 0){ $saison = 1; @@ -974,7 +976,10 @@ function affdate_base($numdate, $vue, $options = array()) { if (($mois == 9 AND $jour >= 21) OR $mois > 9) $saison = 4; if (($mois == 12 AND $jour >= 21) OR $mois > 12) $saison = 1; } - return $saison?_T('date_saison_'.$saison):''; + if($vue == 'saison') + return $saison?_T('date_saison_'.$saison):''; + else + return $saison?trim(_T('date_fmt_saison_annee', array('saison'=>_T('date_saison_'.$saison), 'annee'=>$annee))) :''; case 'court': if ($avjc) return $annee; @@ -1074,6 +1079,11 @@ function saison($numdate) { return affdate_base($numdate, 'saison'); } +// http://doc.spip.org/@saison_annee +function saison_annee($numdate) { + return affdate_base($numdate, 'saison_annee'); +} + // http://doc.spip.org/@affdate function affdate($numdate, $format='entier') { return affdate_base($numdate, $format); @@ -1632,6 +1642,7 @@ function modulo($nb, $mod, $add=0) { /** * Vérifie qu'un nom (d'auteur) ne comporte pas d'autres tags que + * et ceux volontairement spécifiés dans la constante * * @param string $nom * Nom (signature) proposé @@ -1643,7 +1654,17 @@ function nom_acceptable($nom) { if (!is_string($nom)) { return false; } - $v_nom = str_replace(array('@multi@','@/multi@'), array('',''), supprimer_tags(str_replace(array('',''), array('@multi@','@/multi@'), $nom))); + if (!defined('_TAGS_NOM_AUTEUR')) define('_TAGS_NOM_AUTEUR',''); + $tags_acceptes = array_unique(explode(',', 'multi,' . _TAGS_NOM_AUTEUR)); + foreach($tags_acceptes as $tag) { + if (strlen($tag)) { + $remp1[] = '<'.trim($tag).'>'; + $remp1[] = ''; + $remp2[] = '\x60'.trim($tag).'\x61'; + $remp2[] = '\x60/'.trim($tag).'\x61'; + } + } + $v_nom = str_replace($remp2, $remp1, supprimer_tags(str_replace($remp1, $remp2, $nom))); return str_replace('<', '<', $v_nom) == $nom; } @@ -1712,9 +1733,9 @@ function enclosure2microformat($e) { } $fichier = basename($url); return ''.$fichier.''; } // La fonction inverse @@ -1729,8 +1750,8 @@ function microformat2enclosure($tags) { $length = intval(extraire_attribut($e, 'length')); # vieux data $fichier = basename($url); $enclosures[] = ''; }