Subversion Repositories Applications.bazar

Rev

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

Rev 10 Rev 14
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.1 2005-09-30 12:34:44 ddelon Exp $
35
// CVS : $Id: bazar.calendrier.php,v 1.2 2005-09-30 14:58:00 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.1 $ $Date: 2005-09-30 12:34:44 $
43
*@version       $Revision: 1.2 $ $Date: 2005-09-30 14:58:00 $
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
Line -... Line 45...
-
 
45
*/
-
 
46
 
-
 
47
// TODO : afficher evenement sur plusieur jours
Line 45... Line 48...
45
*/
48
// TODO : traduction entete mois calendrier
Line 46... Line 49...
46
 
49
// Parametrage EVENEMENT : template 
47
 
50
 
Line 74... Line 77...
74
	$db = &$GLOBALS['_GEN_commun']['pear_db'] ;
77
	$db = &$GLOBALS['_GEN_commun']['pear_db'] ;
75
	$auth = &$GLOBALS['_GEN_commun']['pear_auth'] ;
78
	$auth = &$GLOBALS['_GEN_commun']['pear_auth'] ;
Line 76... Line 79...
76
	
79
	
77
	if (!isset($_GET['y'])) { 
80
	if (!isset($_GET['y'])) { 
78
		$_GET['y'] = date('Y');
-
 
79
		$url->addQueryString ('y', $_GET['y']);
81
		$_GET['y'] = date('Y');
Line 80... Line 82...
80
	}
82
	}
81
	
83
	
82
	if (!isset($_GET['m'])) { 
-
 
83
		$_GET['m'] = date('m');
84
	if (!isset($_GET['m'])) { 
Line 84... Line 85...
84
		$url->addQueryString ('m', $_GET['m']); 
85
		$_GET['m'] = date('m');
85
	}
86
	}
86
	
-
 
87
	if (!isset($_GET['d'])) {
87
	
Line 88... Line -...
88
		$_GET['d'] = date('d');
-
 
89
		$url->addQueryString ('d', $_GET['d']);
-
 
-
 
88
	if (!isset($_GET['d'])) {
-
 
89
		$_GET['d'] = date('d');
Line 90... Line -...
90
	}
-
 
91
 
90
	}
92
 
91
 
93
    
-
 
94
    
92
 
95
 
93
	// 	Construction Mois en Cours 
-
 
94
	$month = new Calendar_Month_Weekdays($_GET['y'],$_GET['m']);
-
 
95
 
96
// Build the month
96
	$curStamp=$month->getTimeStamp();
-
 
97
	
97
$month = new Calendar_Month_Weekdays($_GET['y'],$_GET['m']);
98
	// Navigation 
-
 
99
	$prevStamp = $month->prevMonth(true);
-
 
100
	$url->addQueryString ('y', date('Y',$prevStamp));
98
 
101
	$url->addQueryString ('m', date('n',$prevStamp));
-
 
102
	$url->addQueryString ('d', date('j',$prevStamp));
99
$curStamp=$month->getTimeStamp();
103
	$prev = $url->getUrl();
100
// Create links
104
	$nextStamp = $month->nextMonth(true);
101
$prevStamp = $month->prevMonth(true);
105
	$url->addQueryString ('y', date('Y',$nextStamp));
102
$prev = $_SERVER['PHP_SELF'].'?wiki='.$this->tag.'&amp;y='.date('Y',$prevStamp).'&amp;m='.date('n',$prevStamp).'&amp;d='.date('j',$prevStamp);
106
	$url->addQueryString ('m', date('n',$nextStamp));
103
$nextStamp = $month->nextMonth(true);
107
	$url->addQueryString ('d', date('j',$nextStamp));
104
$next = $_SERVER['PHP_SELF'].'?wiki='.$this->tag.'&amp;y='.date('Y',$nextStamp).'&amp;m='.date('n',$nextStamp).'&amp;d='.date('j',$nextStamp);
108
	$next = $url->getUrl();
105
 
109
 
106
$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");
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");
107
 
111
 
108
 
112
 
109
echo "<div class=\"navi\">";
113
	echo "<div class=\"navi\">";
110
echo "<a href=\"".$prev."\"> &lt;&lt; </a>"; 
114
	echo "<a href=\"".$prev."\"> &lt;&lt; </a>"; 
111
 
115
 
112
echo $fr_month[(date('n',$curStamp))]; 
116
	echo $fr_month[(date('n',$curStamp))]; 
113
echo "&nbsp;";
117
	echo "&nbsp;";
114
echo (date('Y',$curStamp));
-
 
115
 
-
 
116
echo "<a href=\"".$next."\"> &gt;&gt; </a>";
-
 
117
 
118
	echo (date('Y',$curStamp));
118
echo "</div>";
119
 
119
 
120
	echo "<a href=\"".$next."\"> &gt;&gt; </a>";
120
echo "<table class=\"map\">";
121
 
121
echo ( "<tr>\n" );
122
	echo "</div>";
122
echo ( "<td>\n" );
123
 
-
 
124
 
-
 
125
	// Recherche evenement de la periode selectionnée 
-
 
126
 
123
 
127
	$EvenementSelection=$this->tag.date('Y',$curStamp).date('m',$curStamp);
124
// Recherche evenement de la periode selectionnée 
128
 
-
 
129
	$selection = array();
125
 
130
 
126
$pageSelection=$this->tag.date('Y',$curStamp).date('m',$curStamp);
131
 
127
 
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
            
128
$selection = array();
136
            
129
 
137
   	$resultat_evenement = $db->query($requete_evenements);
130
if ($pages = $this->LoadAll("select tag, body from ".$this->config["table_prefix"]."pages where tag like '".mysql_escape_string($pageSelection)."%' and latest = 'Y' and comment_on = '' order by tag ASC, time ASC")) {
138
   	
-
 
139
    (DB::isError($resultat_evenement))
Line 131... Line 140...
131
	$i=0;
140
    ? die(BOG_afficherErreurSql(__FILE__, __LINE__, $resultat_evenement->getMessage(), $requete_evenements))
Line 132... Line -...
132
	foreach ( $pages as $page ) {
-
 
133
		
141
    : '';
134
		//
-
 
135
		// Preparation Calendrier
142
 
136
		//
143
	$calcom="";
137
		
144
	 
138
		$Day = new Calendar_Day(date('Y',$curStamp),date('m',$curStamp), substr($page ['tag'], -2));
145
    while ($ligne_evenements = $resultat_evenement->fetchRow(DB_FETCHMODE_OBJECT)) {
139
	
-
 
-
 
146
		
-
 
147
		$Day = new Calendar_Day(date('Y',$curStamp),date('m',$curStamp), substr($page ['tag'], -2));
Line 140... Line -...
140
		// Create the decorator, passing it the Hour
-
 
Line 141... Line 148...
141
		$DiaryEvent = new DiaryEvent($Day);
148
	
Line 142... Line 149...
142
	
149
		$DiaryEvent = new DiaryEvent($Day);
143
					
150
				
Line 144... Line 151...
144
		$dayStamp = $Day->thisDay(true);
151
		$dayStamp = $Day->thisDay(true);
145
		$ref =
152
		$url->addQueryString ('y', date('Y',$dayStamp));
Line 146... Line 153...
146
		$_SERVER['PHP_SELF'].'?wiki='.$this->tag.date('Y',$dayStamp).date('m',$dayStamp).date('d',$dayStamp);
153
		$url->addQueryString ('m', date('n',$dayStamp));
147
		
-
 
148
		
-
 
149
		}
-
 
150
		
-
 
151
		$calcom="</ul>".$calcom;
-
 
152
 
-
 
153
		// Attach the payload
-
 
Line 154... Line -...
154
		$DiaryEvent->setEntry($calcom);
-
 
155
	
154
		$url->addQueryString ('d', date('j',$dayStamp));
156
		// Add the decorator to the selection
155
		$ref = $url->getUrl();
157
		$selection[] = $DiaryEvent;
156
		
158
		
157
		
159
	}
-
 
160
}
158
		$calcom="</br>".$ligne_evenements->bf_titre.$calcom;
161
 
-
 
162
 
-
 
163
// Affichage Calendrier
-
 
164
 
-
 
165
 
159
 
166
$month->build($selection);
-
 
167
 
160
		// Attach the payload
168
echo ( "<tr>\n" );
-
 
169
echo ( "<td>\n" );
-
 
170
 
-
 
171
 
161
		$DiaryEvent->setEntry($calcom);
172
echo "<table class=\"calendar\">
-
 
Line 173... Line 162...
173
 <tr>
162
	
-
 
163
		// Add the decorator to the selection
174
 
164
		$selection[] = $DiaryEvent;
-
 
165
		
-
 
166
	}
-
 
167
 
-
 
168
	// Affichage Calendrier
175
  <th> Lundi </th>
169
	
176
  <th> Mardi </th>
170
	
177
  <th> Mercredi </th>
171
	$month->build($selection);
178
  <th> Jeudi </th>
172
	
-
 
173
	echo ( "<tr>\n" );
179
  <th> Vendredi </th>
174
	echo ( "<td>\n" );
-
 
175
	
180
 
176
 
-
 
177
	echo "<table class=\"calendar\">
-
 
178
	 <tr>
-
 
179
	
-
 
180
	  <th> Lundi </th>
-
 
181
	  <th> Mardi </th>
181
  <th> Samedi </th>
182
	  <th> Mercredi </th>
182
  <th> Dimanche </th>
183
	  <th> Jeudi </th>
183
 </tr>
184
	  <th> Vendredi </th>
184
 ";
185
	
-
 
186
	  <th> Samedi </th>
-
 
187
	  <th> Dimanche </th>
-
 
188
	 </tr>
-
 
189
	 ";
185
 
190
	
-
 
191
	$todayStamp=time();
186
$todayStamp=time();
192
	
187
 
-
 
188
while ( $day = $month->fetch() ) {
-
 
189
		
-
 
190
		$dayStamp = $day->thisDay(true);
-
 
191
		
-
 
192
		if ( $day->isEmpty() ) {
-
 
193
				$class = "other_month";
-
 
194
		}
-
 
195
		else {
-
 
Line -... Line 193...
-
 
193
	while ( $day = $month->fetch() ) {
196
			if ($todayStamp>$dayStamp) {
194
			
197
				$class="previous_month";
-
 
198
			}
-
 
Line -... Line 195...
-
 
195
			$dayStamp = $day->thisDay(true);
-
 
196
			
199
			else {
197
			if ( $day->isEmpty() ) {
Line -... Line 198...
-
 
198
					$class = "other_month";
-
 
199
			}
-
 
200
			else {
-
 
201
				if ($todayStamp>$dayStamp) {
-
 
202
					$class="previous_month";
-
 
203
				}
-
 
204
				else {
-
 
205
					$class="current_month";
-
 
206
				}
-
 
207
			}
-
 
208
			
-
 
209
			$link =
-
 
210
			$_SERVER['PHP_SELF'].'?wiki='.$this->tag.date('Y',$dayStamp).date('m',$dayStamp).date('d',$dayStamp);
200
				$class="current_month";
211
			
201
			}
-
 
202
		}
212
			// isFirst() to find start of week
203
		
-
 
204
		$link =
-
 
205
		$_SERVER['PHP_SELF'].'?wiki='.$this->tag.date('Y',$dayStamp).date('m',$dayStamp).date('d',$dayStamp);
213
			if ( $day->isFirst() )
206
		
-
 
207
		// isFirst() to find start of week
214
			echo ( "<tr>\n" );
208
		if ( $day->isFirst() )
-
 
209
		echo ( "<tr>\n" );
215
			
210
		
-
 
211
			
-
 
212
		echo ( "<td class=\"".$class."\"><a href=\"".$link."\">".$day->thisDay()."</a>\n" );
216
				
213
		
-
 
214
		if ( $day->isSelected() ) {
217
			echo ( "<td class=\"".$class."\"><a href=\"".$link."\">".$day->thisDay()."</a>\n" );