4 * Balise #CALENDRIER_MINI
5 * Auteur James (c) 2006-2012
6 * Plugin pour SPIP 3.0.0
10 if (!defined("_ECRIRE_INC_VERSION")) return; #securite
12 include_spip('calendriermini_fonctions');
14 function balise_CALENDRIER_MINI($p) {
15 return calculer_balise_dynamique($p,'CALENDRIER_MINI', array(VAR_DATE
, 'id_rubrique','id_article', 'id_mot'));
18 function balise_CALENDRIER_MINI_stat($args, $filtres) {
19 //les parametres passe en {...}, les filtres sont des vraiss filtres
24 * Syntaxe raccourcie du plugin
26 * #CALENDRIER_MINI{#SELF}
27 * #CALENDRIER_MINI{#SELF,#URL_PAGE{calendrier_mini.json}}
29 * Syntaxe ancienne (ou plugin agenda)
30 * #CALENDRIER_MINI{#ENV{date}}
31 * #CALENDRIER_MINI{#ENV{date},date}
32 * #CALENDRIER_MINI{#ENV{date},date,#SELF}
33 * #CALENDRIER_MINI{#ENV{date},date,#SELF,#URL_PAGE{calendrier_mini.json}}
35 * Quand l'url json est explicitée dans les arguments, la collecte automatisée de id_rubrique, id_article et id_mot est desactivée
36 * car dans ce cas il suffit simplement de les expliciter sur l'url json pour les prendre en compte
39 * date automatique collectee par VAR_DATE
40 * @param int $id_rubrique
41 * @param int $id_article
43 * @param null $self_or_date_or_nothing
44 * @param null $urljson_or_var_date_or_nothing
45 * @param null $self_or_nothing
46 * @param null $urljson_or_nothing
49 function balise_CALENDRIER_MINI_dyn($date, $id_rubrique = 0, $id_article = 0, $id_mot = 0,
50 $self_or_date_or_nothing = null, $urljson_or_var_date_or_nothing = null, $self_or_nothing = null, $urljson_or_nothing = null) {
55 if(!is_null($self_or_date_or_nothing)){
56 // est-ce une date ou une url ?
57 if (!function_exists('recup_date'))
58 include_spip('inc/filtres');
59 if (!strlen($self_or_date_or_nothing) OR
60 (preg_match(",^[\d\s:-]+$,",$self_or_date_or_nothing))
61 AND list($annee, $mois, $jour, $heures, $minutes, $secondes) = recup_date($self_or_date_or_nothing)
63 // si c'est une date on est dans l'ancienne syntaxe
64 $date = $self_or_date_or_nothing;
65 $var_date = $urljson_or_var_date_or_nothing;
66 $url = $self_or_nothing;
67 $url_json = $urljson_or_nothing;
70 // sinon on est sur la nouvelle syntaxe
71 $url = $self_or_date_or_nothing;
72 $url_json = $urljson_or_var_date_or_nothing;
77 'date' => $date?
$date:date('Y-m'),
78 'var_date' => $var_date,
79 'self' => $url?
$url:self(),
82 // si pas de url_json explicite, la renseigner et peupler automatiquement les
83 if (is_null($url_json)){
84 $url_json = generer_url_public("calendrier_mini.json");
85 if (!is_null($id_rubrique))
86 $args['id_rubrique'] = $id_rubrique;
87 if (!is_null($id_article))
88 $args['id_article'] = $id_article;
89 if (!is_null($id_mot))
90 $args['id_mot'] = $id_mot;
93 if (defined('_VAR_MODE') and _VAR_MODE
== "recalcul")
94 $url_json = parametre_url($url_json,'var_mode','recalcul');
96 $args['urljson'] = $url_json;
98 /* tenir compte de la langue, c'est pas de la tarte */
99 return array('formulaires/calendrier_mini', 3600, $args);