source: spip-zone/_squelettes_/escal/inclusions/inc-calendrier.html @ 49854

Last change on this file since 49854 was 49854, checked in by jcvilleneuve@…, 8 years ago

on supprime les caches deh puisque c'est la valeur par défaut de spip

File size: 4.0 KB
Line 
1<?php
2  $months = array('', 'Janv', 'Févr', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil', 'Aout', 'Sept', 'Oct', 'Nov', 'Déc');
3  $days = array('dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam');
4  function mkdate($month, $day, $year)
5  {
6        return mktime(0, 0, 0, $month, $day, $year);
7  }
8  if(isset($GLOBALS['var_nav_month'])) {
9      $cal_day = mkdate($GLOBALS['var_nav_month'], 1, $GLOBALS['var_nav_year']);
10    } else {
11          $cal_day = time();
12  }
13
14    $D = intval(date('d', $cal_day));
15    $M = intval(date('m', $cal_day));
16    $Y = intval(date('Y', $cal_day));
17
18    $events = array();
19?>
20
21
22
23
24        <h1 class="cadre">
25                <:escal:calendrier:>
26        </h1>
27
28
29        <div class="texte" >
30       
31        <div id="mois">
32  [(#DATE|affdate_mois_annee)]
33  </div>
34
35<!-- sélection des articles à afficher -->
36<BOUCLE_selection_rubrique(RUBRIQUES){titre_mot=agenda}>
37<BOUCLE_selection_articles1(ARTICLES){branche}{age_redac<=0}{doublons evenements}>
38</BOUCLE_selection_articles1>
39</BOUCLE_selection_rubrique>
40
41<BOUCLE_selection_articles(ARTICLES){titre_mot=agenda}{age_redac<=0}{doublons evenements}>
42</BOUCLE_selection_articles>
43
44
45       
46<!-- affichage du calendrier -->
47
48                <table width="90%" cellpadding="1" cellspacing="0" style="align:center" class="small_mini">
49                <!-- Remplit le tableau "$event" avec les dates des événements du mois -->
50                <BOUCLE_evenements(ARTICLES){!doublons evenements}>
51                        <?php
52                        $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
53                        if ($date > date("Ymd", mkdate($M, $D - 31, $Y)) && $date < date("Ymd", mkdate($M, $D + 31, $Y))) {
54                                if (!isset($events[$date])) {
55                                        $events[$date] = array();
56                                }
57                                $events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]');
58                        }
59                        ?>
60                </BOUCLE_evenements>
61
62                        <!-- Affiche le calendrier avec les dates des événements à venir -->
63                        <?php
64        echo'<tr>';
65                        for($i = 1; $i < 8; $i++) {
66                                echo '<th style="width:14%" class="calendar_head_mini">'.$days[$i%7].'</th>';
67                        }
68
69                        $TempD = 1;
70                        if(date('w', mkdate($M, 1, $Y)) != 1) {
71                                echo '</tr><tr>';
72                                $tmp = '';
73                                while(date('w', mkdate($M, $TempD, $Y)) != 1) {
74                                        $TempD--;
75                                        $case = '<td style="width:14%" valign="top" class="calendar_not_this_month">';
76                                        $case .= date('j', mkdate($M, $TempD, $Y));
77                                        $date = date('Ymd', mkdate($M, $TempD, $Y));
78
79                                        $case .= '</td>';
80                                        $tmp = $case.$tmp;
81                                }
82                                echo $tmp;
83                        }
84                        $TempD = 1;
85                        while((date('m', mkdate($M, $TempD, $Y)) == $M) || (date('w', mkdate($M, $TempD, $Y)) != 1)) {
86                                if(date('w', mkdate($M, $TempD, $Y)) == 1) {
87                                        echo '</tr><tr>';
88                                }
89                                echo '<td style="width:6%" valign="top" class="calendar_'.(date('m', mkdate($M, $TempD, $Y)) != $M ? 'not_' : '').'this_'.(date('Ymd', mkdate($M, $TempD, $Y)) == date('Ymd') ? 'day' : 'month').'">';
90                                $date = date('Ymd', mkdate($M, $TempD, $Y));
91                                if (isset($events[$date])) {
92                                                while (list(, $event) = each($events[$date])) {
93                                                echo '<a href="'.$event['link'].'" class="calendar_mini_event" title="'.$event['title'].'">'. date('j', mkdate($M, $TempD, $Y)) .'</a>';
94                                                }
95                                }
96                                else {
97                                echo date('j', mkdate($M, $TempD, $Y));
98                                }
99
100
101                                echo '</td>';
102                                $TempD++;
103                        }
104        echo'</tr>';
105                        ?>
106                </table>
107
108
109<!-- affichage de la liste des évènements -->
110               
111                <div id="entete-evenement">
112                <:escal:evenements:>
113                </div>
114
115                <BOUCLE_agenda_global (ARTICLES){!doublons evenements}{par date_redac}>
116                        <div class="liste-evenements">
117                        [(#DATE_REDAC|jour)-][(#DATE_REDAC|mois):]
118                        <a href="[(#URL_ARTICLE|parametre_url{lang,#ENV{lang}})]" title="[(#DESCRIPTIF|textebrut)]">#TITRE</a>
119                        </div>
120                </BOUCLE_agenda_global>
121                        <div class="liste-evenements">
122                        <:escal:evenements_non:>Pas d'événement à venir
123                        </div>
124                <//B_agenda_global>
125               
126        <div id="nouvel-evenement">
127         <a href="ecrire/?exec=articles_edit&amp;id_rubrique=9&amp;new=oui" title="R&eacute;serv&eacute; aux r&eacute;dacteurs">
128         <:escal:evenements_ajouter:></a>        </div>
129
130               
131</div><!-- fin texte -->
132
133
134
135
136
Note: See TracBrowser for help on using the repository browser.