source: spip-zone/_squelettes_/soyezcreateurs_net/plugins_1.9.3/plugins/__soyezcreateurs/agenda.html @ 21206

Last change on this file since 21206 was 21206, checked in by real3t@…, 11 years ago

Quelques bugs corrigés sur l'agenda : le fil d'ariane garde les paramètres ainsi que les liens des thèmes.

File size: 11.0 KB
Line 
1#CACHE{24*3600}
2<?php
3$months = array('', '<:date_mois_1:>', '<:date_mois_2:>', '<:date_mois_3:>', '<:date_mois_4:>', '<:date_mois_5:>', '<:date_mois_6:>', '<:date_mois_7:>', '<:date_mois_8:>', '<:date_mois_9:>', '<:date_mois_10:>', '<:date_mois_11:>', '<:date_mois_12:>');
4$days = array('<:date_jour_1:>', '<:date_jour_2:>', '<:date_jour_3:>', '<:date_jour_4:>', '<:date_jour_5:>', '<:date_jour_6:>', '<:date_jour_7:>');
5
6[$date_ev = '(#ENV{date_ev}|texte_script)';]
7if (!isset($date_ev) || $date_ev == '') $date_ev = date('Y-m-d');
8
9ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", $date_ev, $regs);
10$cal_day = mktime(0, 0, 0, $regs[2], $regs[3], $regs[1]);
11
12$D = date('d', $cal_day);
13$M = date('m', $cal_day);
14$Y = date('Y', $cal_day);
15
16[$genre = '(#ENV{genre}|texte_script)';]
17if (!isset($genre)) $genre = "<:pyrat:tout:>";
18
19$titrePage = '<:pyrat:agenda|texte_script:> - '.$months[intval($M)].' '.$Y;
20
21// Liste des rubriques de l agenda
22$branche = array();
23<BOUCLE_courante(RUBRIQUES){id_rubrique}>
24        <BOUCLE_branche(RUBRIQUES){branche}>
25                $branche[] = #ID_RUBRIQUE;
26        </BOUCLE_branche>
27</BOUCLE_courante>
28
29// Construction liste des evenements (1 liste par jour => liste des jours)
30$events = array();
31<BOUCLE_evts_com(EVENEMENTS){statut=publie}{date_debut>(#ENV{date_ev,(#ENV{date})}|affdate{'Y-m-01'}|DateAdd{-6})}{date_debut<(#ENV{date_ev,(#ENV{date})}|affdate{'Y-m-01'}|DateAdd{35})}{par date_debut}><B_EvenementArticle>
32        if ('#DATE_DEBUT' != '' && in_array(#ID_RUBRIQUE, $branche)) {
33                $dateEvt = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_DEBUT');
34                if (!isset($events[$dateEvt])) { $events[$dateEvt] = array(); }
35                $res="";
36                ereg("($genre)", '<BOUCLE_genre(MOTS){id_evenement}>[(#TITRE|texte_script)]</BOUCLE_genre>', $res);
37                if (($genre=='<:pyrat:tout:>') || ($genre==$res[1])) {
38                        <BOUCLE_EvenementArticle(ARTICLES){id_article}>$events[$dateEvt][] = array('rub' => #ID_RUBRIQUE, 'link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)][&nbsp;: (#_evts_com:TITRE|=={#TITRE}|?{'',[(#_evts_com:TITRE|texte_script)]})]', 'logo' => '<BOUCLE_TitreRubrique(RUBRIQUES){id_rubrique}>[<img src="/(#LOGO_ARTICLE_RUBRIQUE||image_reduire{32,32}|extraire_attribut{src})" class="logo_agenda" alt="[(#TITRE|attribut_html|texte_script)]" title="[(#TITRE|attribut_html|texte_script)]" />]</BOUCLE_TitreRubrique>', 'genres' => '<B_Genres><em>(<BOUCLE_Genres(MOTS){id_evenement}{", "}><a href="#URL_MOT" rel="tag" title="<:pyrat:savoirpluscritere:>: [(#TITRE|attribut_html|texte_script)]">[(#TITRE|texte_script)]</a></BOUCLE_Genres>)</em></B_Genres>', 'titre_rub' => '<B_TitreRub><strong<BOUCLE_CouleurRub(MOTS){id_rubrique}{type=_CouleurRubrique}> style="background-color:#[(#TEXTE|couleur_eclaircir)];"</BOUCLE_CouleurRub>><BOUCLE_TitreRub(RUBRIQUES){id_rubrique}>[(#TITRE|attribut_html|texte_script)</strong>&nbsp;: ]</BOUCLE_TitreRub>');</BOUCLE_EvenementArticle>
39                }
40        }
41</B_EvenementArticle></BOUCLE_evts_com>
42
43?>
44<BOUCLE_rubrique_principal(RUBRIQUES) {id_rubrique}>
45<?php $jp_rubrique = [(#ID_RUBRIQUE|texte_script)]; ?>
46<?php $titre = '[(#TITRE|attribut_html|texte_script)] - '.$months[intval($M)].' '.$Y; ?>
47<?php $titretop = '[(#TITRE|attribut_html|nettoyer_marqueur|texte_script)]'; ?>
48<INCLURE{fond=header}>
49        <div id="miettesdepain">
50        <ul>
51        <li><a href="#URL_SITE_SPIP"><:pyrat:accueil:></a></li>
52        <BOUCLE_plan(HIERARCHIE){id_rubrique}><li><a href="#URL_PAGE{agenda}&amp;id_rubrique=#ID_RUBRIQUE&amp;date_ev=[(#ENV{date_ev,[(#ENV{date})]}|annee)]-[(#ENV{date_ev,[(#ENV{date})]}|mois)]-01[&amp;genre=(#ENV{genre,''}|urlencode)]"[ title="(#DESCRIPTIF|attribut_html)"]>[(#TITRE)]</a></li>
53        </BOUCLE_plan>
54        <li>[(#TITRE)]</li>
55        </ul>
56        </div>
57
58<div class="texte">
59<!-- Une : contenu de la rubrique -->
60<div class="cartouche">
61<h1>[(#SET{lelogo,[(#MODELE{rubrique_logo}{mode=normal}|image_reduire{64,64})]})][<img class="logo_rubrique" src="/(#GET{lelogo}|extraire_attribut{src})" width="[(#GET{lelogo}|extraire_attribut{width})]" height="[(#GET{lelogo}|extraire_attribut{height})]" alt="[(#TITRE|texte_script|supprimer_tags|entites_html) (logo)]" />]
62[(#TITRE)]<?php echo ' - '.$months[intval($M)].' '.$Y; ?></h1>
63</div>
64
65<B_themes>
66<div id="artrecents" class="flottant">
67<h2><:pyrat:themes:></h2>
68<BOUCLE_themes(RUBRIQUES){racine}{id_secteur}><B_sous_rubriques1>
69<!-- Les themes avec recursivite -->
70        <ul>
71                <BOUCLE_sous_rubriques1(RUBRIQUES){id_parent}{par titre}>
72                        <li[ style="list-style-image: url(/(#MODELE{rubrique_logo}{mode=normal}|image_reduire{9,9}|extraire_attribut{src}));"]>
73                        <?php if ($jp_rubrique != [(#ID_RUBRIQUE|texte_script)]) { ?>
74                        <a href="#URL_PAGE{agenda}&amp;id_rubrique=#ID_RUBRIQUE&amp;date_ev=[(#ENV{date_ev,[(#ENV{date})]}|annee)]-[(#ENV{date_ev,[(#ENV{date})]}|mois)]-01[&amp;genre=(#ENV{genre,''}|urlencode)]" title="[(#DESCRIPTIF|attribut_html)] ([(#DATE|nom_jour)] [(#DATE|affdate)])"><?php } ?>[(#TITRE)]<?php if ($jp_rubrique != [(#ID_RUBRIQUE|texte_script)]) { ?></a><?php } ?>
75                        <BOUCLE_RecursionRubriques(BOUCLE_sous_rubriques1)></BOUCLE_RecursionRubriques>
76                        </li>
77                </BOUCLE_sous_rubriques1>
78        </ul>
79</B_sous_rubriques1></BOUCLE_themes>
80</div></B_themes>
81
82        <div id="letexte">
83[<div class="descriptif">(#DESCRIPTIF)</div>]
84[(#TEXTE)]
85
86<!-- Fabrication du tableau : l'en tete -->
87
88                <form id="frmnavigation" method="get" action="#SELF"><fieldset><legend><:pyrat:precisezrecherche:></legend>
89                <BOUCLE_PremiereAnnee(EVENEMENTS){statut=publie}{branche}{par date_debut}{0,1}>
90                <?php if (!([(#DATE_DEBUT|annee)]==[(#ENV{date_ev,[(#ENV{date})]}|annee)] && [(#ENV{date_ev,[(#ENV{date})]}|mois)]==01)) { ?>
91                <a href="#URL_SITE_SPIP/spip.php?page=agenda&amp;id_rubrique=#_rubrique_principal:ID_RUBRIQUE&amp;date_ev=<?php echo (($M - 1 > 0) ? $Y : ($Y - 1)); ?>-<?php printf('%02d', ($M - 1) > 0 ? ($M - 1) : 12); ?>-01[&amp;genre=(#ENV{genre,''}|urlencode)]"><img src="/#CHEMIN{images/prev.gif}" title="<:precedent:>" alt="<:precedent:>" /></a>
92                <?php } ?>
93                </BOUCLE_PremiereAnnee>
94                <select id="var_nav_month">
95                <?php
96                for($i = 1; $i < 13; $i++) {
97                        echo '<option value="'.sprintf('%02d', $i).'"'.($i == $M ? ' selected="selected" ' : '').'>'.$months[$i].'</option>';
98                }
99                ?>
100                </select>
101                <select id="var_nav_year">
102                <BOUCLE_Annees(EVENEMENTS){statut=publie}{branche}{par date_debut}>[
103                <option value="[(#DATE_DEBUT|annee)]"[(#ENV{date_ev,[(#ENV{date})]}|annee|=={[(#DATE_DEBUT|annee)]}|?{' selected="selected"',''})]>(#DATE_DEBUT|annee|unique)</option>
104                ]</BOUCLE_Annees>
105                </select>
106
107                <!-- Construction Menu selection -->
108                <BOUCLE_ListMotsClefs(EVENEMENTS){statut=publie}{id_secteur}>
109                <BOUCLE_MotClefAssocie(MOTS){id_evenement}{unique}{doublons listemots} />
110                </BOUCLE_ListMotsClefs>
111
112                <B_ListeMotsClefs>[(#REM) Objectif : n'afficher que les mots clefs effectivement utilise' dans le secteur]
113                <select id="var_nav_cle">
114                <option value=""[(#ENV{genre,''}|=={''}|?{' selected="selected"',''})]><:pyrat:tout:></option>
115                <BOUCLE_ListeMotsClefs(MOTS){!doublons listemots}{par titre}>
116                <option value="[(#TITRE|attribut_html)]"[(#ENV{genre}|=={[(#TITRE)]}|?{' selected="selected"',''})]>[(#TITRE)]</option>
117                </BOUCLE_ListeMotsClefs>
118                </select>
119                </B_ListeMotsClefs>
120
121                <input type="button" value="<:pass_ok:>" class="form_submit" onclick="document.location.href='#URL_SITE_SPIP/spip.php?page=agenda&amp;id_rubrique=#_rubrique_principal:ID_RUBRIQUE&amp;date_ev=' + document.getElementById('var_nav_year').value + '-' + document.getElementById('var_nav_month').value + '-01&amp;genre=' + document.getElementById('var_nav_cle').value ; return false;" />
122                <BOUCLE_DerniereAnnee(EVENEMENTS){statut=publie}{branche}{!par date_debut}{0,1}>
123                <?php if (!([(#DATE_DEBUT|annee)]==[(#ENV{date_ev,[(#ENV{date})]}|annee)] && [(#ENV{date_ev,[(#ENV{date})]}|mois)]==12)) { ?>
124                <a href="#URL_SITE_SPIP/spip.php?page=agenda&amp;id_rubrique=#_rubrique_principal:ID_RUBRIQUE&amp;date_ev=<?php echo (($M + 1 < 13) ? $Y : ($Y + 1)); ?>-<?php printf('%02d', ($M + 1) < 13 ? ($M + 1) : 1); ?>-01[&amp;genre=(#ENV{genre,''}|urlencode)]"><img src="/#CHEMIN{images/next.gif}" title="<:suivant:>" alt="<:suivant:>" /></a>
125                <?php } ?>
126                </BOUCLE_DerniereAnnee>
127                <?php if ( ([(#ENV{date}|annee)] != [(#ENV{date_ev,[(#ENV{date})]}|annee)]) || ([(#ENV{date}|mois)] != [(#ENV{date_ev,[(#ENV{date})]}|mois)]) ) { ?>
128                <input type="button" value="Aujourd'hui" onclick="document.location.href='#URL_SITE_SPIP/spip.php?page=agenda&amp;id_rubrique=#_rubrique_principal:ID_RUBRIQUE&amp;date_ev=<?php echo (date('Y-m-d')); ?>&amp;genre=<?php echo $genre ?>'; return false;" />
129                <?php } ?>
130                </fieldset>
131                </form>
132
133<h2>[(#TITRE)]</h2>
134<table class="agenda" summary="<:pyrat:agendamoisde:> <?php echo $months[intval($M)].'&nbsp;'.$Y;?>">
135<caption>
136                <?php
137                                echo $months[intval($M)].'&nbsp;';
138                ?>
139                <a href="#URL_RUBRIQUE?date_ev=[(#ENV{date}|annee)]-01-01&amp;genre=<?php echo urlencode((($genre=='<:pyrat:tout:>')?'':$genre)); ?>&amp;calendrier=1" title="<:pyrat:voirdetailannee:> [(#ENV{date}|annee)]">[(#ENV{date}|annee)]</a>
140</caption>
141<!-- Fabrication du tableau : les donnees -->
142<tr>
143        <?php
144        for($i = 1; $i < 8; $i++) {
145                echo '<th class="agendahead" scope="col">'.$days[$i%7].'</th>';
146        }
147        $TempD = 1;
148        if(date('w', mktime(0, 0, 0, $M, 1, $Y)) != 1) {
149                echo '</tr><tr>';
150                $tmp = '';
151                while(date('w', mktime(0, 0, 0, $M, $TempD, $Y)) != 1) {
152                        $TempD--;
153                        $case = '<td valign="top" class="agendanotthismonth">';
154                        $case .= date('j', mktime(0, 0, 0, $M, $TempD, $Y));
155                        $date_ev = date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y));
156                        if (isset($events[$date_ev])) {
157                                $countev = $TempD;
158                                while (list(, $event) = each($events[$date_ev])) {
159                                        $case .= ((($countev % 2)==0) ? '<div >' : '<div class="odd">').$event['logo'].(($event['logo'] == '') ? $event['titre_rub'] : '').'<a href="'.$event['link'].'">'.$event['title'].'</a> '.$event['genres'].'</div>';
160                                        $countev++;
161                                }
162                        }
163                        $case .= '</td>';
164                        $tmp = $case.$tmp;
165                }
166                echo $tmp;
167        }
168        $TempD = 1;
169        while((date('m', mktime(0, 0, 0, $M, $TempD, $Y)) == $M) || (date('w', mktime(0, 0, 0, $M, $TempD, $Y)) != 1)) {
170                if(date('w', mktime(0, 0, 0, $M, $TempD, $Y)) == 1) {
171                        echo '</tr><tr>';
172                }
173                $date_ev = date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y));
174                echo '<td valign="top" class="agenda'.(date('m', mktime(0, 0, 0, $M, $TempD, $Y)) != $M ? 'not' : '').'this'.(date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y)) == date('Ymd') ? 'day' : 'month').(isset($events[$date_ev]) ? ' event' : '').'">';
175                echo date('j', mktime(0, 0, 0, $M, $TempD, $Y));
176                if (isset($events[$date_ev])) {
177                        $countev = $TempD;
178                        while (list(, $event) = each($events[$date_ev])) {
179                                echo ((($countev % 2)==0) ? '<div >' : '<div class="odd">').$event['logo'].(($event['logo'] == '') ? $event['titre_rub'] : '').'<a href="'.$event['link'].'">'.$event['title'].'</a> '.$event['genres'].'</div>';
180                                $countev++;
181                        }
182                }
183                echo '</td>';
184                $TempD++;
185        }
186        ?>
187</tr>
188</table>
189<p>&nbsp;</p>
190[<div class="notes">(#NOTES)</div>]
191        </div><!-- Fin de #LeTexte -->
192</div><!-- Fin de .texte -->
193
194</BOUCLE_rubrique_principal>
195</B_rubrique_principal>
196<?php $titre = '<:pyrat:erreur|texte_script:>'; ?>
197<?php $titretop = '<:pyrat:erreur|nettoyer_marqueur|texte_script:>'; ?>
198<INCLURE{fond=header}{connexion}>
199<:pyrat:erreur_rubriqueexistepas:>
200<//B_rubrique_principal>
201[(#FORMULAIRE_ADMIN)]
202<INCLURE{fond=footer}>
Note: See TracBrowser for help on using the repository browser.