1 [(#REM) L'appel depuis un article se fait par < fullcalendarXX
>, alors id_fullcalendar=XX
2 ou par un modele CROCHET(# MODELE{fullcalendar}{id_fullcalendar=XX})CROCHET , alors id_fullcalendar=XX
7 $id = '[(#ENV{id_fullcalendar,
0}|texte_script)]';
9 # Quelle source de donnée ?
11 $req = sql_select('type', 'spip_fullcalendar_main', 'id_fullcalendar='.intval($id));
12 $num_calendar = sql_count($req);
14 if(!$num_calendar) return; # il n'y as pas de gabonnais au numéro demandé...
22 # AGENDA D'UNE RUBRIQUE
25 # Récupère l'id de la rubrique pour cet agenda ...
26 $result = sql_select('lien', 'spip_fullcalendar_events', 'id_fullcalendar='.intval($id));
27 $row = sql_fetch($result);
28 if(!$row['lien']) return;
30 # Récupère les article liés à cette rubrique
41 "spip_rubriques AS R" ),
43 "A.id_rubrique='".intval($row['lien']).
"'",
45 "A.id_rubrique=R.id_rubrique" ),
48 $num_events = sql_count($req);
50 while ($row = sql_fetch($req)) {
52 $date = explode('-',substr($row['date'],
0,
10));
53 $date_fin = explode('-',substr($row['date_redac'],
0,
10));
54 $start = explode(':',substr($row['date'],
11,
5));
55 $end = explode(':',substr($row['date_redac'],
11,
5));
57 $
url=
"url:'spip.php?article".$row['id_article'].
"',";
58 if($date!='
0000-
00-
00'&&$date_fin!='
0000-
00-
00')
59 $events.=
"{title: '".texte_script(supprimer_numero($row['titre'])).
"',start:new Date(parseInt('".$date[
0].
"',10) , parseInt('".($date[
1]-
1).
"',10) , parseInt('".$date[
2].
"',10), parseInt('".$start[
0].
"',10) , parseInt('".$start[
1].
"',10)),end: new Date(parseInt('".$date_fin[
0].
"',10), parseInt('".($date_fin[
1]-
1).
"',10), parseInt('".$date_fin[
2].
"',10), parseInt('".$end[
0].
"',10), parseInt('".$end[
1].
"',10)),$url allDay: false},";
62 $events=substr($events,
0,strlen($events)-
1);
67 # AGENDA BASE SUR LES ARTICLES
71 # Récupère l'id du mot clé de cet agenda ...
72 $result = sql_select('lien', 'spip_fullcalendar_events', 'id_fullcalendar='.intval($id));
73 $row = sql_fetch($result);
74 if(!$row['lien']) return;
76 # Récupère les article liés à ce mot clé
87 "spip_mots_articles AS M" ),
89 "M.id_mot='".intval($row['lien']).
"'",
91 "A.id_article=M.id_article" ),
95 $num_events = sql_count($req);
97 while ($row = sql_fetch($req)) {
99 $date = explode('-',substr($row['date'],
0,
10));
100 $date_fin = explode('-',substr($row['date_redac'],
0,
10));
101 $start = explode(':',substr($row['date'],
11,
5));
102 $end = explode(':',substr($row['date_redac'],
11,
5));
104 $
url=
"url:'spip.php?article".$row['id_article'].
"',";
105 if($date!='
0000-
00-
00'&&$date_fin!='
0000-
00-
00')
106 $events.=
"{title: '".texte_script(supprimer_numero($row['titre'])).
"',start:new Date(parseInt('".$date[
0].
"',10) , parseInt('".($date[
1]-
1).
"',10) , parseInt('".$date[
2].
"',10), parseInt('".$start[
0].
"',10) , parseInt('".$start[
1].
"',10)),end: new Date(parseInt('".$date_fin[
0].
"',10), parseInt('".($date_fin[
1]-
1).
"',10), parseInt('".$date_fin[
2].
"',10), parseInt('".$end[
0].
"',10), parseInt('".$end[
1].
"',10)),$url allDay: false},";
108 $events=substr($events,
0,strlen($events)-
1);
117 # Récupère les style css
119 $result = sql_select(array('id_style', 'bgcolor', 'textcolor', 'bordercolor'), 'spip_fullcalendar_styles', 'id_style', '', '');
120 while ( $row = sql_fetch($result)){
121 $style[$row['id_style']]['back'] = $row['bgcolor'];
122 $style[$row['id_style']]['text'] = $row['textcolor'];
123 $style[$row['id_style']]['bord'] = $row['bordercolor'];
129 $result = sql_select(array('titre', 'start', 'end', 'lien', 'id_style'), 'spip_fullcalendar_events', 'id_fullcalendar='.intval($id), '', 'start ASC');
130 while ( $row = sql_fetch($result)){
132 $date = explode('-',substr($row['start'],
0,
10));
133 $date_fin = explode('-',substr($row['end'],
0,
10));
134 $start = explode(':',substr($row['start'],
11,
5));
135 $end = explode(':',substr($row['end'],
11,
5));
137 if(strlen(trim($row['lien'])))
138 $
url=
"url:'".trim($row['lien']).
"',";
142 if($row['id_style']
>0){
143 $
class=
",backgroundColor: '".$style[$row['id_style']]['back'].
"', textColor: '".$style[$row['id_style']]['text'].
"', borderColor: '".$style[$row['id_style']]['bord'].
"'";
146 $events.=
"{title: '".texte_script($row['titre']).
"',start: new Date(parseInt('".$date[
0].
"',10), parseInt('".($date[
1]-
1).
"',10), parseInt('".$date[
2].
"',10), parseInt('".$start[
0].
"',10), parseInt('".$start[
1].
"',10)),end: new Date(parseInt('".$date_fin[
0].
"',10), parseInt('".($date_fin[
1]-
1).
"',10), parseInt('".$date_fin[
2].
"',10), parseInt('".$end[
0].
"',10), parseInt('".$end[
1].
"',10)), $url allDay: false $class},";
149 $events=substr($events,
0,strlen($events)-
1);
157 # Choppe la clé Google dans le seul évènement de cet agenda ...
158 $result = sql_select('lien', 'spip_fullcalendar_events', 'id_fullcalendar='.intval($id));
159 $row = sql_fetch($result);
160 if(!strlen($row['lien'])) return;
162 $URL_AGENDA =
"http://www.google.com/calendar/feeds/".$row['lien'].
"/public/basic";
164 $events =
"events: $.fullCalendar.gcalFeed('".$URL_AGENDA.
"'),
166 eventClick: function(event) {
167 // opens events in a popup window
168 window.open(event.url, 'gcalevent', 'width=700,height=600');
172 loading: function(bool) {
174 $('#loading').show();
176 $('#loading').hide();
185 # Récupère les variable Paramètres / CFG
187 $aspectRatio =
"[(#ENV{aspectRatio,#CONFIG{fullcalendar/aspectRatio,'1.35'}}|texte_script)]";
188 $useTheme =
"[(#ENV{useTheme,#CONFIG{fullcalendar/useTheme,true}}|texte_script)]";
189 $useTheme = ($useTheme=='true')? 'theme: true,' : '' ;
190 $weekends =
"[(#ENV{weekends,#CONFIG{fullcalendar/weekends,true}}|texte_script)]";
191 $defaultView =
"[(#ENV{defaultView,#CONFIG{fullcalendar/defaultView,month}}|texte_script)]";
193 $headerLeft =
"[(#CONFIG{fullcalendar/headerLeft, 'prev,next'}|texte_script)]";
194 $headerCenter =
"[(#CONFIG{fullcalendar/headerCenter, 'title'}|texte_script)]";
195 $headerRight =
"[(#CONFIG{fullcalendar/headerRight, 'month,agendaWeek,agendaDay'}|texte_script)]";
196 $firstDay =
"[(#CONFIG{fullcalendar/firstDay, '1'}|texte_script)]";
197 $month_titleFormat =
"[(#CONFIG{fullcalendar/month_titleFormat, 'MMMM yyyy'}|texte_script)]";
198 $month_columnFormat =
"[(#CONFIG{fullcalendar/month_columnFormat, 'dddd'}|texte_script)]";
199 $month_timeFormat =
"[(#CONFIG{fullcalendar/month_timeFormat, ''}|texte_script)]";
200 #$week_titleFormat =
"[(#CONFIG{fullcalendar/week_titleFormat, 'd [(#VAL{91}|chr)]MMMM[(#VAL{93}|chr)] [(#VAL{91}|chr)] yyyy[(#VAL{93}|chr)][(#VAL{123}|chr)] - d MMMM yyyy[(#VAL{125}|chr)]' }|texte_script)]";
201 $week_titleFormat =
"[(#CONFIG{fullcalendar/week_titleFormat, 'd MMMM yyyy{ - d MMMM yyyy}'}|texte_script)]";
202 $week_columnFormat =
"[(#CONFIG{fullcalendar/week_columnFormat, 'dddd d'}|texte_script)]";
203 $week_timeFormat_basic =
"[(#CONFIG{fullcalendar/week_timeFormat_basic, 'H(:mm)'}|texte_script)]";
204 $week_timeFormat_agenda =
"[(#CONFIG{fullcalendar/week_timeFormat_agenda, 'H(:mm)'}|texte_script)]";
205 $day_titleFormat =
"[(#CONFIG{fullcalendar/day_titleFormat, 'dddd d MMMM yyyy'}|texte_script)]";
206 $day_columnFormat =
"[(#CONFIG{fullcalendar/day_columnFormat, 'dddd d MMMM'}|texte_script)]";
207 $day_timeFormat_basic =
"[(#CONFIG{fullcalendar/day_timeFormat_basic, 'H:mm{ - H:mm}'}|texte_script)]";
208 $day_timeFormat_agenda =
"[(#CONFIG{fullcalendar/day_timeFormat_agenda, 'H:mm{ - H:mm}'}|texte_script)]";
210 $rand = rand(
0,
1000);
212 # Génère le fullcalendar avec tous ses paramètres ...
214 <script type='text/javascript'>
215 $(document).ready(function() {
216 if( ! $('#calendar".$rand.
"').data('fullcalendar_set') ) {
217 $('#calendar".$rand.
"').fullCalendar({
219 firstDay: ".$firstDay.
",
220 defaultView: '".$defaultView.
"',
221 aspectRatio: ".$aspectRatio.
",
222 header: { left: '".$headerLeft.
"', center: '".$headerCenter.
"', right: '".$headerRight.
"' },
224 allDayText: 'Journée',
226 weekends: ".$weekends.
",
228 month: '".$month_titleFormat.
"',
229 week: \"".$week_titleFormat."\
",
230 day: '".$day_titleFormat.
"'
233 month: '".$month_columnFormat.
"',
234 week: '".$week_columnFormat.
"',
235 day: '".$day_columnFormat.
"'
238 month: \"".$month_timeFormat."\
",
239 agendaDay: \"".$day_timeFormat_agenda."\
",
240 agendaWeek: \"".$week_timeFormat_agenda."\
",
241 basicWeek: \"".$week_timeFormat_basic."\
",
242 basicDay: \"".$day_timeFormat_basic."\
",
247 $('#calendar".$rand.
"').data('fullcalendar_set', 1);
251 <div id='calendar".$rand.
"'></div>