source: spip-zone/_squelettes_/eva-web/4_0/eva_mini_calendrier/mini_calendrier.html @ 48167

Last change on this file since 48167 was 48167, checked in by olivier.gautier@…, 9 years ago

Correction sur la date générée en marge du mois suivant

File size: 8.3 KB
Line 
1#CACHE{0}
2#SET{calendrier_mois_eva,#EVAL{$_GET['calendrier_mois']}}
3#SET{calendrier_annee_eva,#EVAL{$_GET['calendrier_annee']}}
4<?php
5       
6    $calendrier_mois='[(#GET{calendrier_mois_eva}|texte_script)]';
7    $calendrier_annee='[(#GET{calendrier_annee_eva}|texte_script)]';
8?>
9<div class="bloc">
10<h3 class="titre"><:agenda:></h3>
11
12                                          <?php
13$months = array('', '<:m1:>', '<:m2:>', '<:m3:>', '<:m4:>', '<:m5:>', '<:m6:>', '<:m7:>', '<:m8:>', '<:m9:>', '<:m10:>', '<:m11:>', '<:m12:>');
14$days = array('<:j7:>', '<:j1:>', '<:j2:>', '<:j3:>', '<:j4:>', '<:j5:>', '<:j6:>');
15
16if ($test_mini_agenda_deja_present!=1) {
17function mkdate($month, $day, $year)
18{
19        return mktime(0, 0, 0, $month, $day, $year);
20}
21}
22if(isset($GLOBALS['var_nav_month'])) {
23        $cal_day = mkdate($GLOBALS['var_nav_month'], 1, $GLOBALS['var_nav_year']);
24} else {
25        $cal_day = time();
26}
27
28$D = intval(date('d', $cal_day));
29if ($calendrier_mois) {
30$M = $calendrier_mois;
31} else {$M = intval(date('m', $cal_day));}
32if ($calendrier_annee) {
33$Y = $calendrier_annee;
34} else {$Y = intval(date('Y', $cal_day));}
35$events = array();
36$test_mini_agenda_deja_present = 1;
37?>
38
39<BOUCLE_evenements_rubrique(RUBRIQUES){titre_mot=mini-calendrier}{lang}>
40<BOUCLE_evenements_rub_art(ARTICLES){id_rubrique}{annee_redac!=0000}>
41        <?php
42   
43        $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
44        if ($date > date("Ymd", mkdate($M, $D - 31, $Y)) && $date < date("Ymd", mkdate($M, $D + 31, $Y))) {
45                if (!isset($events[$date])) {
46                        $events[$date] = array();
47                }
48                $events[$date] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|supprimer_numero|textebrut|texte_script)]', 'logo' => "");
49        }
50        ?>
51</BOUCLE_evenements_rub_art>
52</BOUCLE_evenements_rubrique>
53
54<BOUCLE_evenements(ARTICLES){titre_mot="mini-calendrier"}{lang}{annee_redac!=0000}>
55        <?php
56   
57        $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
58        if ($date > date("Ymd", mkdate($M, $D - 31, $Y)) && $date < date("Ymd", mkdate($M, $D + 31, $Y))) {
59                if (!isset($events[$date])) {
60                        $events[$date] = array();
61                }
62                $events[$date] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|supprimer_numero|textebrut|texte_script)]', 'logo' => "");
63        }
64        ?>
65</BOUCLE_evenements>
66
67                <?php
68        $mes = $months [$M];
69        if ($M==1){
70            $calendrier_mois_moins=12;
71            $calendrier_annee_moins=$Y-1;}
72        else {
73            $calendrier_mois_moins=$M-1;
74            $calendrier_annee_moins=$Y;}
75        if ($M==12){
76            $calendrier_mois_plus=1;
77            $calendrier_annee_plus=$Y+1;}
78        else {
79            $calendrier_mois_plus=$M+1;
80            $calendrier_annee_plus=$Y;}
81            $Ymoins=$Y-1;
82            $Yplus=$Y+1;
83            ?>
84           
85           
86        [(#GET{calendrier_mois_eva}|?{#SET{calendrier_mois_eva,#GET{calendrier_mois_eva}},#SET{calendrier_mois_eva,#EVAL{intval(date('m'))}}})]
87        [(#GET{calendrier_annee_eva}|?{#SET{calendrier_annee_eva,#GET{calendrier_annee_eva}},#SET{calendrier_annee_eva,#EVAL{intval(date('Y'))}}})]
88       
89        [(#GET{calendrier_mois_eva}|<{2}|?{#SET{calendrier_mois_moins,12},#SET{calendrier_mois_moins,#GET{calendrier_mois_eva}|moins{1}}})]
90        [(#GET{calendrier_mois_eva}|<{2}|?{#SET{calendrier_annee_moins,#GET{calendrier_annee_eva}|moins{1}},#SET{calendrier_annee_moins,#GET{calendrier_annee_eva}}})]
91       
92        [(#GET{calendrier_mois_eva}|=={12}|?{#SET{calendrier_mois_plus,1},#SET{calendrier_mois_plus,#GET{calendrier_mois_eva}|plus{1}}})]
93        [(#GET{calendrier_mois_eva}|=={12}|?{#SET{calendrier_annee_plus,#GET{calendrier_annee_eva}|plus{1}},#SET{calendrier_annee_plus,#GET{calendrier_annee_eva}}})]
94
95        <ul><li class='un'><div style='text-align:center;'>
96        <a href='[(#ENV{url}|parametre_url{'calendrier_mois',#GET{calendrier_mois_eva}}|parametre_url{'calendrier_annee',#GET{calendrier_annee_eva}|moins{1}})]' title='Ann&eacute;e pr&eacute;c&eacute;dente' class='ajax'>&lt;&lt;</a>
97        &nbsp;
98        <a href='[(#ENV{url}|parametre_url{'calendrier_mois',#GET{calendrier_mois_moins}}|parametre_url{'calendrier_annee',#GET{calendrier_annee_moins}})]' title='Mois pr&eacute;c&eacute;dent' class='ajax'>&lt;</a>
99        &nbsp;
100        <?php echo $mes." ".$Y; ?>
101        &nbsp;
102        <a href='[(#ENV{url}|parametre_url{'calendrier_mois',#GET{calendrier_mois_plus}}|parametre_url{'calendrier_annee',#GET{calendrier_annee_plus}})]' title='Mois suivant' class='ajax'>&gt;</a>
103        &nbsp;
104        <a href='[(#ENV{url}|parametre_url{'calendrier_mois',#GET{calendrier_mois_eva}}|parametre_url{'calendrier_annee',#GET{calendrier_annee_eva}|plus{1}})]' title='Ann&eacute;e suivante' class='ajax'>&gt;&gt;</a>
105       
106        </div></li>
107
108<li class="deux"><div style="text-align:center;"><table width="100%" cellpadding="1" cellspacing="0">
109
110<tr align="center"> 
111        <?php
112       
113        for($i = 1; $i < 8; $i++) {
114                echo '<th style="width:14%;">'.$days[$i%7].'</th>';
115        }       
116        $TempD = 1;
117        if(date('w', mkdate($M, 1, $Y)) != 1) {
118                echo '</tr><tr align="center">';
119                $tmp = '';
120                while(date('w', mkdate($M, $TempD, $Y)) != 1) {
121                        $TempD--;
122                        $case = '<td valign="top" style="font-size:80%;">';
123                        $case .= date('j', mkdate($M, $TempD, $Y));
124                        $date = date('Ymd', mkdate($M, $TempD, $Y));
125                        $case .= '</td>';
126                        $tmp = $case.$tmp;
127                }
128                echo $tmp;
129        }
130        $TempD = 1;
131        while((date('m', mkdate($M, $TempD, $Y)) == $M) || (date('w', mkdate($M, $TempD, $Y)) != 1)) {
132                if(date('w', mkdate($M, $TempD, $Y)) == 1) {
133                        echo '</tr><tr align="center">';
134                }
135                echo '<td  valign="top" style="'.(date('Ymd', mkdate($M, $TempD, $Y)) == date('Ymd') ? 'text-decoration:underline;' : '').' font-size:80%;">';
136                $date = date('Ymd', mkdate($M, $TempD, $Y));
137                if (isset($events[$date])) {
138               
139                                echo '<a href="spip.php?page=mini_calendrier_ce_jour&amp;calend_annee_mini='.$Y.'&amp;calend_mois_mini='.date('m', mkdate($M, $TempD, $Y)).'&amp;calend_jour_mini='.date('j', mkdate($M, $TempD, $Y)).'&amp;lang=#LANG'.'"
140                                title="Voir les &eacute;v&egrave;nements du '.date('j', mkdate($M, $TempD, $Y)).' ';
141                                if (date('m', mkdate($M, $TempD, $Y))<10) echo $months[substr(date('m', mkdate($M, $TempD, $Y)),1,1)];
142                                else echo $months[date('m', mkdate($M, $TempD, $Y))];
143                                echo ' '.$Y.'">'.date('j', mkdate($M, $TempD, $Y)).'</a>';
144                }
145                else {
146                echo date('j', mkdate($M, $TempD, $Y));
147                }               
148                echo '</td>';
149                $TempD++;
150        }
151        ?>
152</tr>
153</table>
154</div></li>
155<li class="un">
156
157<?php
158$evenements_dates= array();
159$test_presence=0;
160?>
161<BOUCLE_preparation_rubrique(RUBRIQUES){titre_mot=mini-calendrier}{lang}>
162        <BOUCLE_preparation_rubrique_article(ARTICLES){id_rubrique}{annee_redac!=0000}>
163        <?php
164        $moisE = (int) '[(#DATE_REDAC|mois)]';
165        $anneeE = (int) '[(#DATE_REDAC|annee)]';
166        $jourE = (int) '[(#DATE_REDAC|jour)]';
167        IF (($M==$moisE) AND ($Y==$anneeE) AND ($jourE!=0)) {
168                $evenements_dates [$jourE][#ID_ARTICLE]=array('[(#TITRE|supprimer_numero|texte_script)]','#URL_ARTICLE','[(#INTRODUCTION|textebrut|couper{80}|texte_script)]');
169                $test_jour[$jourE]=1;
170        $test_presence=1;
171        }
172        ?>
173        </BOUCLE_preparation_rubrique_article>
174</BOUCLE_preparation_rubrique>
175
176<BOUCLE_preparation_article(ARTICLES){titre_mot=mini-calendrier}{lang}{annee_redac!=0000}>
177        <?php
178        $moisE = (int) '[(#DATE_REDAC|mois)]';
179        $anneeE = (int) '[(#DATE_REDAC|annee)]';
180        $jourE = (int) '[(#DATE_REDAC|jour)]';
181        IF (($M==$moisE) AND ($Y==$anneeE) AND ($jourE!=0)) {
182                $evenements_dates [$jourE][#ID_ARTICLE]=array('[(#TITRE|supprimer_numero|texte_script)]','#URL_ARTICLE','[(#INTRODUCTION|textebrut|couper{80}|texte_script)]');
183        $test_presence=1;
184        $test_jour[$jourE]=1;
185        }
186        ?>
187</BOUCLE_preparation_article>
188
189
190<?php
191if ($test_presence==1) {
192        echo '<table width="100%"  border="0" cellspacing="0" cellpadding="2"><tr>
193        <td><table width="90%" border="0" cellpadding="0" cellspacing="0" style="font-size:80%;">';
194       
195        for ($i=1;$i<=31;$i++) {
196                if ($test_jour[$i]==1) {
197                        foreach ($evenements_dates[$i] as $cle2=>$tab2) {
198                        echo '<tr>
199                        <td> '.$i;
200                        if ($i=='1') {echo 'er';}
201                        echo ' - '.$M.'&nbsp;:&nbsp;
202                        <a href="'.$evenements_dates[$i][$cle2][1].'" title="'.$evenements_dates[$i][$cle2][2].'">'.$evenements_dates[$i][$cle2][0].'</a><br />
203                        </td>
204                        </tr>';
205                        }
206                }
207        }
208        echo "</table></td></tr></table></li></ul></div>";
209}
210else {
211        echo '<table width="100%"  border="0" cellspacing="0" cellpadding="1"><tr>
212        <td style="text-align:middle; font-size:80%;">';
213        echo "<:aucun_evenement:></td></tr></table></li></ul></div>";
214}
215?>
Note: See TracBrowser for help on using the repository browser.