Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1477 Rev 1550
Line 257... Line 257...
257
	}
257
	}
Line 258... Line 258...
258
 
258
 
259
	private function getServiceMultiCriteres() {
259
	private function getServiceMultiCriteres() {
260
		$contenu = '';
260
		$contenu = '';
261
		if (isset($_GET['debut'])) $this->start = $_GET['debut'];
261
		if (isset($_GET['debut'])) $this->start = $_GET['debut'];
-
 
262
		if (isset($_GET['limite'])) $this->limit = $_GET['limite'];
-
 
263
		
Line 262... Line 264...
262
		if (isset($_GET['limite'])) $this->limite = $_GET['limite'];
264
		$this->limit = ($this->limit < 1000) ? $this->limit : 1000;// Pour éviter les abus !
263
 
265
 
264
		// Construction de la requête
266
		// Construction de la requête
265
		$requete = (isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
267
		$requete = (isset($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
Line 277... Line 279...
277
		}
279
		}
278
		$requete = rtrim($requete, 'AND ');
280
		$requete = rtrim($requete, 'AND ');
279
		$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  :
281
		$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  :
280
			'date_modification DESC, zone_geo ASC').' '.
282
			'date_modification DESC, zone_geo ASC').' '.
281
				"LIMIT $this->start,$this->limit ";
283
				"LIMIT $this->start,$this->limit ";
282
 
284
		
283
		$elements = $this->executerRequete($requete);
285
		$elements = $this->executerRequete($requete);
Line 284... Line 286...
284
 
286
 
285
		// Création du contenu
287
		// Création du contenu
286
		if ($elements != false && count($elements) > 0) {
288
		if ($elements != false && count($elements) > 0) {
Line 296... Line 298...
296
		$requete = '';
298
		$requete = '';
297
		foreach ($criteres as $pair) {
299
		foreach ($criteres as $pair) {
298
			$nom_valeur = explode("=",$pair);
300
			$nom_valeur = explode("=",$pair);
299
			if (sizeof($nom_valeur) != 0) {
301
			if (sizeof($nom_valeur) != 0) {
300
				switch ($nom_valeur[0]) {
302
				switch ($nom_valeur[0]) {
301
					case "ci_limite" : $this->limite = $this->bdd->quote($nom_valeur[1]); break;
303
					case "ci_limite" : $this->limit = $this->bdd->quote($nom_valeur[1]); break;
302
					case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
304
					case "commentaire" : $mots_comment_liste = explode(" " , $nom_valeur[1]);
303
						foreach($mots_comment_liste as $mot_comment) {
305
						foreach($mots_comment_liste as $mot_comment) {
304
							$mot_comment = trim($mot_comment) ;
306
							$mot_comment = trim($mot_comment) ;
305
							$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND ';
307
							$requete .= $nom_valeur[0].' LIKE '.$this->bdd->quote('%'.$mot_comment.'%').' AND ';
306
						}
308
						}
Line 411... Line 413...
411
	private function executerService($elements) {
413
	private function executerService($elements) {
412
		$contenu = '';
414
		$contenu = '';
413
		if (is_array($elements)) {
415
		if (is_array($elements)) {
414
			// Prétraitement des données
416
			// Prétraitement des données
415
			$donnees = $this->construireDonneesCommunesAuFlux($elements);
417
			$donnees = $this->construireDonneesCommunesAuFlux($elements);
-
 
418
			$ids_observations = array();
416
			foreach ($elements as $element) {
419
			foreach ($elements as $element) {
417
				$identifiants[$element['courriel_utilisateur']] = $element['courriel_utilisateur'];
420
				$identifiants[$element['courriel_utilisateur']] = $element['courriel_utilisateur'];
-
 
421
				$ids_observations[] = $element['id_observation'];
418
			}
422
			}
-
 
423
			$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs');
-
 
424
			$champs_etendus = $gestion_champs_etendus->obtenirChampsEtendusPourElementsMultiples($ids_observations);
419
			$this->auteurs = $this->creerAuteurs($identifiants);
425
			$this->auteurs = $this->creerAuteurs($identifiants);
420
			foreach ($elements as $element) {
426
			foreach ($elements as $element) {
-
 
427
				$element['obs_etendue'] = isset($champs_etendus[$element['id_observation']]) ? $champs_etendus[$element['id_observation']] : array();
421
				$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
428
				$donnees['items'][] = $this->construireDonneesCommunesAuxItems($element);
422
			}
429
			}
Line 423... Line 430...
423
 
430
 
424
			// Création du contenu à partir d'un template PHP
431
			// Création du contenu à partir d'un template PHP
Line 522... Line 529...
522
			'<li>Modifiée le : '.$date_modification.'</li>'.
529
			'<li>Modifiée le : '.$date_modification.'</li>'.
523
			'<li>Créée le : '.$date_creation.'</li>'.
530
			'<li>Créée le : '.$date_creation.'</li>'.
524
			'<li>'.'Par : '.
531
			'<li>'.'Par : '.
525
				(($this->etreFluxAdmin()) ? '<a href="mailto:'.$auteur_mail.'">'.$auteur.'</a>' : $auteur).
532
				(($this->etreFluxAdmin()) ? '<a href="mailto:'.$auteur_mail.'">'.$auteur.'</a>' : $auteur).
526
			'</li>'.
533
			'</li>'.
-
 
534
			$this->creerDescriptionChampsEtendus($obs, $item).
527
			(($this->etreFluxAdmin()) ? '<li><a href="'.$lien_correction.'">Corriger cette observation</a></li>' : '').
535
			(($this->etreFluxAdmin()) ? '<li><a href="'.$lien_correction.'">Corriger cette observation</a></li>' : '').
528
			'</ul>';
536
			'</ul>';
529
		$description = $this->nettoyerTexte($description);
537
		$description = $this->nettoyerTexte($description);
530
		return $description;
538
		return $description;
531
	}
539
	}
-
 
540
	
-
 
541
	private function creerDescriptionChampsEtendus($obs, $item) {
-
 
542
		$champs_etendus = '';
-
 
543
		foreach($obs['obs_etendue'] as $cle => $valeur) {
-
 
544
			$champs_etendus .= '<li>'.$cle.' : '.$valeur.' </li>';
-
 
545
		}
-
 
546
		return $champs_etendus;
-
 
547
	}
Line 532... Line 548...
532
 
548
 
533
	private function creerCategorie($element) {
549
	private function creerCategorie($element) {
534
		$categorie = '';
550
		$categorie = '';
535
		$categorie = 'Observation';
551
		$categorie = 'Observation';