Subversion Repositories Sites.obs-saisons.fr

Rev

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

Rev 262 Rev 284
Line 186... Line 186...
186
		return $contenu;
186
		return $contenu;
187
	}
187
	}
Line 188... Line 188...
188
	
188
	
189
	private function getServiceParDefaut() {
189
	private function getServiceParDefaut() {
190
		// Construction de la requête
190
		// Construction de la requête
191
		$requete = 	'SELECT * '.
191
		$requete = 	'SELECT oo.* '.
-
 
192
			'FROM ods_observations oo '.
-
 
193
			'INNER JOIN ods_individus oi '.
-
 
194
			'ON oo.oo_ce_individu = oi.oi_id_individu '.
-
 
195
			'INNER JOIN ods_especes oe '.
-
 
196
			'ON oe.oe_espece_active = 1 '.
192
			'FROM ods_observations '.
197
			'AND oi.oi_ce_espece = oe.oe_id_espece '.
193
			'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_demo'].' '.
198
			'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_demo'].' '.
194
			'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_admin'].' '.
199
			'AND oo_ce_participant != '.$this->config['appli']['id_participant_admin'].' '.
195
			'AND DAY(oo_date) != "00" '.
200
			'AND DAY(oo_date) != "00" '.
196
			'ORDER BY oo_date_modification DESC '.
201
			'ORDER BY oo_date_modification DESC '.
Line 197... Line 202...
197
			"LIMIT $this->start,$this->limit ";
202
			"LIMIT $this->start,$this->limit ";
Line 207... Line 212...
207
		
212
		
Line 208... Line 213...
208
		$this->mode = 'admin';
213
		$this->mode = 'admin';
209
		
214
		
210
		// Construction de la requête
215
		// Construction de la requête
211
		$requete = 	'SELECT * '.
216
		$requete = 	'SELECT * '.
212
			'FROM ods_observations '.
217
			'FROM ods_observations oo '.
-
 
218
			'INNER JOIN ods_individus oi '.
-
 
219
			'ON oo.oo_ce_individu = oi.oi_id_individu '.
-
 
220
			'INNER JOIN ods_especes oe '.
213
			'LEFT JOIN ods_individus '.
221
			'ON oe.oe_espece_active = 1 '.
214
			'ON ods_observations.oo_ce_individu = ods_individus.oi_id_individu '.
222
			'AND oi.oi_ce_espece = oe.oe_id_espece '.
215
			'LEFT JOIN ods_stations '.
223
			'LEFT JOIN ods_stations os '.
216
			'ON ods_individus.oi_ce_station = ods_stations.os_id_station '.
224
			'ON oi.oi_ce_station = os.os_id_station '.
217
			'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_demo'].' '.
225
			'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_demo'].' '.
218
			'WHERE oo_ce_participant != '.$this->config['appli']['id_participant_admin'].' '.
226
			'AND oo_ce_participant != '.$this->config['appli']['id_participant_admin'].' '.
219
			'AND oo_date_saisie != oo_date_modification '.
227
			'AND oo_date_saisie != oo_date_modification '.
220
			'ORDER BY oo_date_modification DESC '.
228
			'ORDER BY oo_date_modification DESC '.
221
			"LIMIT $this->start,$this->limit ";
229
			"LIMIT $this->start,$this->limit ";
Line 222... Line 230...
222
		
230
 
223
		$elements = $this->executerRequete($requete);
231
		$elements = $this->executerRequete($requete);
224
		
232
		
Line 246... Line 254...
246
	}
254
	}
Line 247... Line 255...
247
	
255
	
248
	private function construireDonneesCommunesAuFlux($observations) {
256
	private function construireDonneesCommunesAuFlux($observations) {
249
		$donnees = $this->getFlux($this->service);
257
		$donnees = $this->getFlux($this->service);
-
 
258
		$donnees['guid'] = $this->getUrlServiceBase();
-
 
259
		$donnees['titre'] = $this->creerTitreService();
250
		$donnees['guid'] = $this->getUrlServiceBase();
260
		$donnees['description'] = $this->creerDescriptionService();
251
		$donnees['lien_service'] = $this->creerUrlService();
261
		$donnees['lien_service'] = $this->creerUrlService();
252
		$donnees['lien_ods'] = $this->config['settings']['odsSaisieUrlAbsolu'];
262
		$donnees['lien_ods'] = $this->config['settings']['odsSaisieUrlAbsolu'];
253
		$donnees['editeur'] = $this->config['settings']['editeur'];
263
		$donnees['editeur'] = $this->config['settings']['editeur'];
254
		$derniere_info_en_date = reset($observations);
264
		$derniere_info_en_date = reset($observations);
Line 257... Line 267...
257
		$donnees['date_maj_ATOM'] = date(DATE_ATOM, $date_modification_timestamp);
267
		$donnees['date_maj_ATOM'] = date(DATE_ATOM, $date_modification_timestamp);
258
		$donnees['date_maj_W3C'] = date(DATE_W3C, $date_modification_timestamp);
268
		$donnees['date_maj_W3C'] = date(DATE_W3C, $date_modification_timestamp);
259
		$donnees['annee_courante'] = date('Y');
269
		$donnees['annee_courante'] = date('Y');
260
		$donnees['generateur'] = 'ODS - Jrest - OdsSyndicationObservation';
270
		$donnees['generateur'] = 'ODS - Jrest - OdsSyndicationObservation';
261
		preg_match('/([0-9]+)/', '$Revision$', $match);
271
		preg_match('/([0-9]+)/', '$Revision$', $match);
262
		$donnees['generateur_version'] = $match[1];
272
		$donnees['generateur_version'] = isset($match[1]) ? $match[1] : 'Inconnue';
263
		return $donnees; 
273
		return $donnees; 
264
	}
274
	}
Line 265... Line 275...
265
	
275
	
266
	private function construireDonneesCommunesAuxItems($observation) {
276
	private function construireDonneesCommunesAuxItems($observation) {
Line 279... Line 289...
279
		$item['description_encodee'] = htmlspecialchars($this->creerDescription($observation, $item));
289
		$item['description_encodee'] = htmlspecialchars($this->creerDescription($observation, $item));
280
		$item['modifier_par'] = $this->creerAuteur($observation['oo_ce_participant'], $this->etreFluxAdmin());
290
		$item['modifier_par'] = $this->creerAuteur($observation['oo_ce_participant'], $this->etreFluxAdmin());
281
		return $item;
291
		return $item;
282
	}
292
	}
Line -... Line 293...
-
 
293
	
-
 
294
	private function creerTitreService() {
-
 
295
		$titre = '';
-
 
296
		switch($this->service) {
-
 
297
			case 'modification-observations':
-
 
298
				$titre = 'Flux rss des dernières modifications d\'observations de l\'observatoire des saisons';
-
 
299
			break;
-
 
300
			default:
-
 
301
				$titre = 'Flux rss de l\'observatoire des saisons';
-
 
302
		}
-
 
303
		return $titre;
-
 
304
	}
-
 
305
	
-
 
306
	private function creerDescriptionService() {
-
 
307
		$description = '';
-
 
308
		switch($this->service) {
-
 
309
			case 'modification-observations':
-
 
310
				$description = 'Flux rss des dernières modifications d\'observations de l\'observatoire des saisons';
-
 
311
			break;
-
 
312
			default:
-
 
313
				$description = 'Flux rss de l\'observatoire des saisons';
-
 
314
		}
-
 
315
		return $description;
-
 
316
	}
283
	
317
	
Line 284... Line 318...
284
	private function creerTitre($obs) {
318
	private function creerTitre($obs) {
285
		
319
		
286
		$stade_obs = $this->obtenirValeurTripleParId($obs['oo_ce_evenement']);
320
		$stade_obs = $this->obtenirValeurTripleParId($obs['oo_ce_evenement']);
Line 318... Line 352...
318
	}
352
	}
Line 319... Line 353...
319
	
353
	
Line 320... Line 354...
320
	private function creerAuteur($element) {
354
	private function creerAuteur($element) {
321
		
355
		
322
		//TODO externaliser les champs dans le fichier de config
356
		//TODO externaliser les champs dans le fichier de config
Line 323... Line 357...
323
		$requete_selection_auteur = 'SELECT name FROM drupal_users '.
357
		$requete_selection_auteur = 'SELECT * FROM ods_redesign.drupal_users '.
-
 
358
		'WHERE uid = '.$this->proteger($element);
-
 
359
		
-
 
360
		$resultat_auteur = $this->executerRequete($requete_selection_auteur);
-
 
361
		
324
									'WHERE uid = '.$this->proteger($element);
362
		$nom_auteur = $resultat_auteur[0]['name'];
-
 
363
		
325
		
364
		if($this->mode == 'admin') {
326
		$resultat_auteur = $this->executerRequete($requete_selection_auteur);
365
			$nom_auteur = $resultat_auteur[0]['mail'];
327
		$nom_auteur = $resultat_auteur[0]['mail'];
366
		}
Line 328... Line 367...
328
 
367
		
Line 380... Line 419...
380
		$categorie = $this->nettoyerTexte($categorie);
419
		$categorie = $this->nettoyerTexte($categorie);
381
		return $categorie;
420
		return $categorie;
382
	}
421
	}
Line 383... Line 422...
383
	
422
	
384
	private function etreFluxAdmin() {
423
	private function etreFluxAdmin() {
385
		return ($_GET['admin'] == '1') ? true : false;
424
		return (isset($_GET['admin']) && $_GET['admin'] == '1') ? true : false;
Line 386... Line 425...
386
	}
425
	}
387
	
426
	
388
	private function creerUrlService() {
427
	private function creerUrlService() {