Subversion Repositories Applications.bazar

Rev

Rev 14 | Rev 19 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14 Rev 17
Line 30... Line 30...
30
 
30
 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
31
// Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
32
// pris connaissance de la licence CeCILL, et que vous en avez accepté les
33
// termes.
33
// termes.
34
// ----
34
// ----
35
// CVS : $Id: bazar.calendrier.php,v 1.2 2005-09-30 14:58:00 ddelon Exp $
35
// CVS : $Id: bazar.calendrier.php,v 1.3 2005-09-30 23:04:31 ddelon Exp $
36
/**
36
/**
37
* bazar_calendrier : programme affichant les evenements du bazar sous forme de Calendrier
37
* bazar_calendrier : programme affichant les evenements du bazar sous forme de Calendrier
38
*
38
*
39
*
39
*
40
*@package Bazar
40
*@package Bazar
41
//Auteur original :
41
//Auteur original :
42
*@author        David DELON <david.delon@clapas.net>
42
*@author        David DELON <david.delon@clapas.net>
43
*@version       $Revision: 1.2 $ $Date: 2005-09-30 14:58:00 $
43
*@version       $Revision: 1.3 $ $Date: 2005-09-30 23:04:31 $
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
Line 45... Line 45...
45
*/
45
*/
46
 
46
 
Line 52... Line 52...
52
 
52
 
53
require_once 'Calendar/Month/Weekdays.php';
53
require_once 'Calendar/Month/Weekdays.php';
54
require_once 'Calendar/Day.php';
54
require_once 'Calendar/Day.php';
Line -... Line 55...
-
 
55
require_once 'Calendar/Decorator.php'; 
-
 
56
 
-
 
57
define ('BAZ_VOIR_FICHE', 8) ;
-
 
58
include_once 'configuration/baz_config.inc.php'; //fichier de configuration de Bazar
-
 
59
include_once 'bibliotheque/bazar.fonct.php'; //fichier des fonctions de Bazar
Line 55... Line 60...
55
require_once 'Calendar/Decorator.php'; 
60
 
Line 56... Line 61...
56
 
61
 
57
 
62
 
58
// Classe Utilitaire pour Calendrier
63
// Classe Utilitaire pour Calendrier
59
 
64
 
60
class DiaryEvent extends Calendar_Decorator {
65
class DiaryEvent extends Calendar_Decorator {
61
	var $entry;
66
	var $entry=array();
62
	function DiaryEvent($calendar) {
67
	function DiaryEvent($calendar) {
-
 
68
		Calendar_Decorator::Calendar_Decorator($calendar);
63
		Calendar_Decorator::Calendar_Decorator($calendar);
69
	}
64
	}
70
	function setEntry($entry) {
65
	function setEntry($entry) {
71
		$this->entry[]=$entry;
66
		$this->entry = $entry;
72
		
67
	}
73
	}
Line 68... Line 74...
68
	function getEntry() {
74
	function getEntry() {
-
 
75
		return $this->entry;
-
 
76
	}
-
 
77
} 
-
 
78
 
-
 
79
 
Line 69... Line 80...
69
		return $this->entry;
80
function afficherContenuCorps() {
70
	}
81
	
71
} 
82
		// Ajout d'une feuille de style externe
Line 83... Line 94...
83
	
94
	
84
	if (!isset($_GET['m'])) { 
95
	if (!isset($_GET['m'])) { 
85
		$_GET['m'] = date('m');
96
		$_GET['m'] = date('m');
Line 86... Line -...
86
	}
-
 
87
	
-
 
88
	if (!isset($_GET['d'])) {
-
 
89
		$_GET['d'] = date('d');
97
	}
90
	}
-
 
91
 
98
	
92
 
99
	
Line 93... Line 100...
93
	// 	Construction Mois en Cours 
100
	// 	Construction Mois en Cours 
-
 
101
	$month = new Calendar_Month_Weekdays($_GET['y'],$_GET['m']);
-
 
102
 
-
 
103
	$curStamp=$month->getTimeStamp();
-
 
104
	$url->addQueryString ('y', date('Y',$curStamp));
Line 94... Line 105...
94
	$month = new Calendar_Month_Weekdays($_GET['y'],$_GET['m']);
105
	$url->addQueryString ('m', date('n',$curStamp));
95
 
106
	$url->addQueryString ('d', date('j',$curStamp));
96
	$curStamp=$month->getTimeStamp();
107
	$cur = $url->getUrl();
97
	
108
	
Line 105... Line 116...
105
	$url->addQueryString ('y', date('Y',$nextStamp));
116
	$url->addQueryString ('y', date('Y',$nextStamp));
106
	$url->addQueryString ('m', date('n',$nextStamp));
117
	$url->addQueryString ('m', date('n',$nextStamp));
107
	$url->addQueryString ('d', date('j',$nextStamp));
118
	$url->addQueryString ('d', date('j',$nextStamp));
108
	$next = $url->getUrl();
119
	$next = $url->getUrl();
Line 109... Line 120...
109
 
120
 
110
	$fr_month=array("1"=>"Janvier","2"=>"Fevrier","3"=>"Mars","4"=>"Avril","5"=>"Mai","6"=>"Juin","7"=>"Juillet","8"=>"Aout","9"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"Decembre");
-
 
111
 
-
 
112
 
-
 
113
	echo "<div class=\"navi\">";
-
 
114
	echo "<a href=\"".$prev."\"> &lt;&lt; </a>"; 
-
 
115
 
-
 
116
	echo $fr_month[(date('n',$curStamp))]; 
-
 
117
	echo "&nbsp;";
-
 
118
	echo (date('Y',$curStamp));
-
 
119
 
-
 
120
	echo "<a href=\"".$next."\"> &gt;&gt; </a>";
-
 
121
 
-
 
Line -... Line 121...
-
 
121
	$fr_month=array("1"=>BAZ_JANVIER,"2"=>BAZ_FEVRIER,"3"=>BAZ_MARS,"4"=>BAZ_AVRIL,"5"=>BAZ_MAI,"6"=>BAZ_JUIN,"7"=>BAZ_JUILLET,"8"=>BAZ_AOUT,"9"=>BAZ_SEPTEMBRE,"10"=>BAZ_OCTOBRE,"11"=>BAZ_NOVEMBRE,"12"=>BAZ_DECEMBRE);
-
 
122
 
Line -... Line 123...
-
 
123
	$retour.= "<div class=\"navi\">";
-
 
124
	$retour.= "<a href=\"".$prev."\"> &lt;&lt; </a>"; 
-
 
125
 
122
	echo "</div>";
126
	$retour.= "&nbsp;&nbsp;";
-
 
127
	$retour.= "<a href=\"".$cur;
-
 
128
	$retour.= "\"> ";
-
 
129
	$retour.= $fr_month[(date('n',$curStamp))]; 
-
 
130
	$retour.= "&nbsp;";
-
 
131
	$retour.= (date('Y',$curStamp));
Line 123... Line 132...
123
 
132
	$retour.= "</a>";
Line 124... Line -...
124
 
-
 
125
	// Recherche evenement de la periode selectionnée 
-
 
126
 
-
 
127
	$EvenementSelection=$this->tag.date('Y',$curStamp).date('m',$curStamp);
-
 
128
 
-
 
129
	$selection = array();
133
	$retour.= "&nbsp;&nbsp;";
130
 
-
 
131
 
-
 
132
 	// TODO : Selectionner element du mois en cours 
-
 
133
 	
-
 
134
    $requete_evenements = "SELECT DISTINCT bf_id_fiche, bf_titre, bf_lieu_evenement, bf_date_debut_evenement, bf_date_fin_evenement, bf_description FROM bazar_fiche, bazar_nature where bf_date_debut_evenement=".$EvenementSelection." and bf_ce_nature=bn_id_nature and bn_label_nature='Évènements'";
-
 
135
            
-
 
136
            
-
 
Line 137... Line 134...
137
   	$resultat_evenement = $db->query($requete_evenements);
134
	$retour.= "<a href=\"".$next."\"> &gt;&gt; </a>";
-
 
135
 
138
   	
136
	$retour.= "</div>";
139
    (DB::isError($resultat_evenement))
137
 
Line -... Line 138...
-
 
138
	$retour.="<br></br>";
-
 
139
 
140
    ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_evenement->getMessage(), $requete_evenements))
140
		// Vue Mois 
-
 
141
	if (!isset($_GET['id_fiche'])) {
-
 
142
			
-
 
143
		// Recherche evenement de la periode selectionnée 
-
 
144
		
-
 
145
	 	// TODO : Selectionner element du mois en cours 
-
 
146
	 	
-
 
147
	    $requete_evenements = "SELECT DISTINCT bf_id_fiche, bf_titre, bf_lieu_evenement, day(bf_date_debut_evenement) as bf_jour_debut_evenement , bf_date_fin_evenement, bf_description FROM bazar_fiche, bazar_nature where year(bf_date_debut_evenement) =".date('Y',$curStamp)." and month(bf_date_debut_evenement)=".date('m',$curStamp)." and bf_ce_nature=bn_id_nature and bn_label_nature='Évènements'";
Line -... Line 148...
-
 
148
	            
-
 
149
	            
-
 
150
	   	$resultat_evenement = $db->query($requete_evenements);
-
 
151
	   	
-
 
152
	    (DB::isError($resultat_evenement))
-
 
153
	    ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_evenement->getMessage(), $requete_evenements))
-
 
154
	    : '';
-
 
155
	
-
 
156
		$calcom="";
-
 
157
		
-
 
158
		$selection=array();
-
 
159
		$evenements=array();
141
    : '';
160
		 
-
 
161
		$prev_curday_ymd=0;
-
 
162
		
-
 
163
	    while ($ligne_evenements = $resultat_evenement->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
164
	    	
-
 
165
			$curday_ymd=date('Ym',$curStamp).$ligne_evenements->bf_jour_debut_evenement;
-
 
166
			if ($curday_ymd!=$prev_curday_ymd) {
-
 
167
				$Day = new Calendar_Day(date('Y',$curStamp),date('m',$curStamp), $ligne_evenements->bf_jour_debut_evenement);
Line 142... Line 168...
142
 
168
				$DiaryEvent = new DiaryEvent($Day);
143
	$calcom="";
-
 
144
	 
-
 
145
    while ($ligne_evenements = $resultat_evenement->fetchRow(DB_FETCHMODE_OBJECT)) {
-
 
-
 
169
				$prev_curday_ymd=$curday_ymd;
146
		
170
			}
Line 147... Line -...
147
		$Day = new Calendar_Day(date('Y',$curStamp),date('m',$curStamp), substr($page ['tag'], -2));
-
 
148
	
-
 
149
		$DiaryEvent = new DiaryEvent($Day);
-
 
150
				
171
			
Line 151... Line 172...
151
		$dayStamp = $Day->thisDay(true);
172
			$DiaryEvent->setEntry($ligne_evenements);
152
		$url->addQueryString ('y', date('Y',$dayStamp));
173
			
Line 153... Line -...
153
		$url->addQueryString ('m', date('n',$dayStamp));
-
 
154
		$url->addQueryString ('d', date('j',$dayStamp));
-
 
155
		$ref = $url->getUrl();
-
 
156
		
-
 
157
		
-
 
158
		$calcom="</br>".$ligne_evenements->bf_titre.$calcom;
-
 
159
 
-
 
160
		// Attach the payload
-
 
161
		$DiaryEvent->setEntry($calcom);
-
 
162
	
-
 
163
		// Add the decorator to the selection
-
 
164
		$selection[] = $DiaryEvent;
-
 
165
		
-
 
166
	}
-
 
167
 
174
			// Add the decorator to the selection
168
	// Affichage Calendrier
175
			$selection[] = $DiaryEvent;
169
	
176
				
170
	
177
		}
171
	$month->build($selection);
178
			
172
	
-
 
173
	echo ( "<tr>\n" );
179
		// Affichage Calendrier
174
	echo ( "<td>\n" );
180
		
175
	
181
		
176
 
182
		$month->build($selection);
177
	echo "<table class=\"calendar\">
183
	
178
	 <tr>
184
		$retour.= "<table class=\"calendar\">
-
 
185
		 <tr>
-
 
186
		
Line -... Line 187...
-
 
187
		  <th> ". BAZ_LUNDI ."</th>
-
 
188
		  <th> ". BAZ_MARDI ."</th>
-
 
189
		  <th> ". BAZ_MERCREDI ."</th>
179
	
190
		  <th> ". BAZ_JEUDI ."</th>
180
	  <th> Lundi </th>
191
		  <th> ". BAZ_VENDREDI ."</th>
181
	  <th> Mardi </th>
192
		  <th> ". BAZ_SAMEDI ."</th>
-
 
193
		  <th> ". BAZ_DIMANCHE ."</th>
182
	  <th> Mercredi </th>
194
		 </tr>
183
	  <th> Jeudi </th>
195
		 ";
184
	  <th> Vendredi </th>
196
		
185
	
-
 
186
	  <th> Samedi </th>
-
 
187
	  <th> Dimanche </th>
-
 
188
	 </tr>
-
 
189
	 ";
197
		$todayStamp=time();
190
	
198
		
-
 
199
		$today_ymd=date('Ymd',$todayStamp);
-
 
200
	
-
 
201
		// Other month : mois 
-
 
202
		//
191
	$todayStamp=time();
203
		
-
 
204
		while ($day = $month->fetch() ) {
192
	
205
				
193
	while ( $day = $month->fetch() ) {
-
 
194
			
-
 
195
			$dayStamp = $day->thisDay(true);
-
 
196
			
-
 
197
			if ( $day->isEmpty() ) {
-
 
198
					$class = "other_month";
-
 
199
			}
-
 
200
			else {
-
 
201
				if ($todayStamp>$dayStamp) {
-
 
Line -... Line 206...
-
 
206
				$dayStamp = $day->thisDay(true);
202
					$class="previous_month";
207
				$day_ymd=date('Ymd',$dayStamp);
-
 
208
				
-
 
209
				if ( $day->isEmpty() ) {
-
 
210
						$class = "other_month";
Line -... Line 211...
-
 
211
				}
-
 
212
				else {
-
 
213
					if (($day_ymd < $today_ymd)) {
-
 
214
						$class="previous_month";
-
 
215
					}
-
 
216
					else {
203
				}
217
						$class="current_month";
-
 
218
					}
-
 
219
				}
-
 
220
				
-
 
221
				$url->addQueryString ('y', date('Y',$dayStamp));
-
 
222
				$url->addQueryString ('m', date('n',$dayStamp));
-
 
223
				$url->addQueryString ('d', date('j',$dayStamp));
-
 
224
				
-
 
225
				$link = $url->getUrl();
Line 204... Line 226...
204
				else {
226
			
Line -... Line 227...
-
 
227
				// isFirst() to find start of week
-
 
228
				if ($day->isFirst())
-
 
229
					$retour.= ( "<tr>\n" );
205
					$class="current_month";
230
				
-
 
231
				$retour.= ( "<td class=\"".$class."\"><a href=\"".$link."\">".$day->thisDay()."</a>\n" );
206
				}
232
				
Line 207... Line 233...
207
			}
233
				if ($day->isSelected() ) {
-
 
234
					$evenements=$day->getEntry();
-
 
235
					while ($ligne_evenement=array_pop($evenements)) {
-
 
236
						$url->addQueryString ('id_fiche',$ligne_evenement->bf_id_fiche);
-
 
237
						$link = $url->getUrl();
208
			
238
						$retour.= ( "<a href=\"".$link."\">".$ligne_evenement->bf_titre."</a>\n" );
209
			$link =
239
					}
-
 
240
					
210
			$_SERVER['PHP_SELF'].'?wiki='.$this->tag.date('Y',$dayStamp).date('m',$dayStamp).date('d',$dayStamp);
241
				}
211
			
-
 
212
			// isFirst() to find start of week
-
 
213
			if ( $day->isFirst() )
-
 
214
			echo ( "<tr>\n" );
242
				
Line 215... Line 243...
215
			
243
				$retour.= ( "</td>\n" );