Valider bc35db7c rédigé par severo@rednegra.net's avatar severo@rednegra.net
Parcourir les fichiers

On peut choisir le champ sur lequel filtrer les medias par date

Pour filtrer par la date de redaction antérieure, passer le
paramètre type_date=date_redac

Seules les valeurs date (par défaut), date_redac et maj sont
acceptées.
parent ab4392fc
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+7 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -15,6 +15,7 @@
		-** si ignore (défaut) : désactive le critère 
		-* mots (array) : Utilisé que si le plugin critere_mots est présent
		-* em_type (string) : afficher la médias associés à un type spécifique (emballe medias)
		-* type_date (string) : champ de date à utiliser dans le critère agenda : date (défaut), date_redac ou maj
		-* date_debut (date XXXX-XX-XX) : limite minimale de la date de publication
		-* date_fin (date XXXX-XX-XX) : limite maximale de la date de publication 
		-* id_bloc (string) : l'id du bloc principal sinon liste_medias (est également utilisé pour le nom de la pagination)
@@ -60,6 +61,7 @@
#SET{annee_fin,#GET{date_fin}|affdate{Y}}
#SET{mois_fin,#GET{date_fin}|affdate{m}}
#SET{jour_fin,#GET{date_fin}|affdate{d}}
#SET{type_date,#ENV{type_date,date}}

<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
[(#SET{articles_rubriques,#ARRAY})]
@@ -82,7 +84,7 @@
[(#ENV{articles,#GET{articles}}|is_array|oui)
	#SET{articles_rubriques,#ENV{articles,#GET{articles}}|array_intersect{#GET{articles_rubriques}}
]
<BOUCLE_medias_test(ARTICLES){id_article IN #GET{articles_rubriques}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{id_auteur ?}{id_mot ?}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{tri #GET{tri_medias,#GET{tri_articles_home}},#GET{tri_medias,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{0,#GET{limite}}{doublons medias}{tout} />
<BOUCLE_medias_test(ARTICLES){id_article IN #GET{articles_rubriques}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{id_auteur ?}{id_mot ?}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{tri #GET{tri_medias,#GET{tri_articles_home}},#GET{tri_medias,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{0,#GET{limite}}{doublons medias}{tout} />
<B_medias>
<div class="liste articles sommaire medias clearfix" id="#ENV{id_bloc,liste_medias}">
	<h2 class="h2"[ id="(#ANCRE_PAGINATION|extraire_attribut{id})"]>[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
@@ -92,7 +94,7 @@
	</div>
	<div id="medias" class="liste_medias_vignettes">
		<ul class="liste-items hfeed liste_vignettes">
			<BOUCLE_medias(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{tri #GET{tri_medias,#GET{tri_articles_home}},#GET{tri_medias,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination,6}} #ENV{id_bloc,liste_medias}}{tout}>
			<BOUCLE_medias(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{tri #GET{tri_medias,#GET{tri_articles_home}},#GET{tri_medias,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination,6}} #ENV{id_bloc,liste_medias}}{tout}>
			#INCLURE{fond=inclure/article-media_vignette,id_article,compte=#COMPTEUR_BOUCLE,class=vignette,afficher_langue=#GET{afficher_langue,non},couper}
			</BOUCLE_medias>
		</ul>
@@ -115,6 +117,7 @@
	On affiche tous les médias :
	-* pas de critères {branche} ni {branche_complete}
]

#SET{articles_rubriques,#ARRAY}
<BOUCLE_si_toutes_langues_tout(CONDITION){si #ENV{toutes_langues}|=={oui}|non}>
	<BOUCLE_articles_origine(ARTICLES){id_secteur=#CONFIG{mediaspip/rubriques/medias}}{statut IN #ENV{statuts,publie}}{mesfavoris #ENV{mesfavoris,ignore}}{origine_traduction}{doublons origine}>
@@ -133,7 +136,7 @@
<//B_si_toutes_langues_tout>
[(#ENV{articles,#GET{articles}}|is_array|oui)
	[(#SET{articles_rubriques,[(#ENV{articles,#GET{articles}}|array_intersect{[(#GET{articles_rubriques})]})]})]]
<BOUCLE_medias_test_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{id_auteur ?}{id_mot ?}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous,#GET{tri_articles_home}},#GET{tri_medias_tous}|in_array{#GET{critere_inverse,#GET{tri_articles_home}}}|?{-1,1}}{0,#GET{limite}}{doublons medias_tous}{tout} />
<BOUCLE_medias_test_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{id_auteur ?}{id_mot ?}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous,#GET{tri_articles_home}},#GET{tri_medias_tous}|in_array{#GET{critere_inverse,#GET{tri_articles_home}}}|?{-1,1}}{0,#GET{limite}}{doublons medias_tous}{tout} />
<B_medias_tous>
<div class="liste articles sommaire medias clearfix" id="#ENV{id_bloc,liste_medias}">
	<h2 class="h2"[ id="(#ANCRE_PAGINATION|extraire_attribut{id})"]>[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
@@ -143,7 +146,7 @@
	</div>
	<div id="medias_#ENV{id_bloc}" class="liste_medias_vignettes liste_vignettes">
		<ul class="liste-items hfeed">
			<BOUCLE_medias_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{mesfavoris #ENV{mesfavoris,ignore}}{notation}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous,#GET{tri_articles_home}},#GET{tri_medias_tous,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias_tous}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination,6}} #ENV{id_bloc,liste_medias}}{tout}>
			<BOUCLE_medias_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{mesfavoris #ENV{mesfavoris,ignore}}{notation}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous,#GET{tri_articles_home}},#GET{tri_medias_tous,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias_tous}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination,6}} #ENV{id_bloc,liste_medias}}{tout}>
			#INCLURE{fond=inclure/article-media_vignette,id_article,compte=#COMPTEUR_BOUCLE,class=vignette,afficher_langue=#GET{afficher_langue,non},couper}
			</BOUCLE_medias_tous>
		</ul>
+30 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -57,6 +57,36 @@ if (!function_exists('critere_mots_dist')){
	function critere_mots_dist($idb, &$boucles, $crit){}
}

/**
 * Ajout d'une fonctionnalité au critère {agenda} : le premier argument,
 * $date, peut maintenant venir d'un #SET, d'#ENV, etc.
 * cf. la limitation décrite dans www.spip.net/fr_article3182.html
 * La valeur peut être 'date' (défaut), 'date_redac' ou 'maj'
 */
if (!function_exists('critere_agenda')){
	function critere_agenda($idb, &$boucles, $crit){
		$params = $crit->param;

		if (count($params)>1) {
			$parent = $boucles[$idb]->id_parent;
			
			$date = array_shift($params);
			$date = '\'. (in_array('.
				calculer_liste($date, array(), $boucles, $parent).
				', array(\'date\', \'date_redac\', \'maj\'))?'.
				calculer_liste($date, array(), $boucles, $parent).
				':\'date\').\'';

			$texte = new Texte;
			$texte->texte = $date;
			
			$crit->param[0][0] = $texte;
		}
		
		critere_agenda_dist($idb, $boucles, $crit);
	}
}

if (!function_exists('inc_vignette')){
	function inc_vignette($ext, $size=true, $loop = true) {
		if(test_espace_prive()){
+2 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="mediaspip_core"
	categorie="squelette"
	version="0.6.15"
	version="0.6.16"
	etat="stable"
	compatibilite="[3.0.0;3.0.99]"
	logo="images/mediaspip.png"
@@ -12,6 +12,7 @@
	<!-- Les fonctions et squelettes principaux de MediaSPIP -->

	<auteur lien="http://www.kent1.info">kent1</auteur>
	<auteur lien="http://contrib.spip.net/severo">severo</auteur>

	<copyright>2010-2013</copyright>