Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 741 Rev 742
Line 92... Line 92...
92
	private function chargerListeDesFlux() {
92
	private function chargerListeDesFlux() {
93
		$this->setFlux('simple', 'Nouvelles images liées à une observation dans le CEL', 
93
		$this->setFlux('simple', 'Nouvelles images liées à une observation dans le CEL', 
94
			"Ce flux fournit l'url des nouvelles images du CEL liées à une observation.");
94
			"Ce flux fournit l'url des nouvelles images du CEL liées à une observation.");
95
		$this->setFlux('complet', 'Nouvelles images liées à une observation dans le CEL (détails)', 
95
		$this->setFlux('complet', 'Nouvelles images liées à une observation dans le CEL (détails)', 
96
			"Ce flux fournit les informations sur les nouvelles images du CEL liées à une observation.");
96
			"Ce flux fournit les informations sur les nouvelles images du CEL liées à une observation.");
97
		$this->setFlux('par-mots-cles', 'Flux de syndication des nouvelles images liées à une observation publique du CEL ".
97
		$this->setFlux('par-mots-cles', 'Flux de syndication obsolète',
98
			"filtrées par mots clés',
-
 
99
			"Ce flux fournit des informations sur les nouvelles images du CEL liées à une observation du CEL filtrées par ".
98
			"Ce flux est désormais accessible via le flux multicriteres/atom/M?tag='mot-cle'.");
100
			"mots-clés. Il nécessite d'être paramétré en indiquant en dernier position de l'url le mot-clé à rechercher.");
-
 
101
		$this->setFlux('par-commune','Flux de syndication des nouvelles images liées à une observation publique du CEL ".
99
		$this->setFlux('par-commune','Flux de syndication obsolète',
102
			"filtrées par commune',
-
 
103
			"Ce flux fournit des informations sur les nouvelles images liées à une observation du CEL filtrées par commune. ".
100
			"Ce flux  est désormais accessible via le flux multicriteres/atom/M?commune='commune'.");
104
			"Il nécessite d'être paramétré en indiquant en dernier position de l'url le nom de la commune à rechercher.");
-
 
105
		$this->setFlux('multicriteres','Flux de syndication des nouvelles images liées à une observation publique du CEL '.
101
		$this->setFlux('multicriteres','Flux de syndication des nouvelles images liées à une observation publique du CEL '.
106
			'filtrées par un ou plusieurs critères',
102
			'filtrées par un ou plusieurs critères',
107
			"Ce flux fournit des informations sur les nouvelles images liées à une observation du CEL filtrées par ".
103
			"Ce flux fournit des informations sur les nouvelles images liées à une observation du CEL filtrées par ".
108
			"auteur (mail), commune (nom), departement (code postal), taxon (nom scientifique), commentaire, mots-clés ".
104
			"auteur (mail), commune (nom), departement (code postal), taxon (nom scientifique), commentaire, tag ".
109
			"et/ou date. Il nécessite d'être 
105
			"et/ou date.");
110
			paramétré en indiquant en dernier position de l'url le nom de la commune à rechercher.");
-
 
111
	}
106
	}
Line 112... Line 107...
112
	
107
	
113
	private function setFlux($nom, $titre, $description) {
108
	private function setFlux($nom, $titre, $description) {
114
		$url_base = $this->config['settings']['baseURLAbsoluDyn'].'CelSyndicationImage/';
109
		$url_base = $this->config['settings']['baseURLAbsoluDyn'].'CelSyndicationImage/';
Line 635... Line 630...
635
		$description = $this->nettoyerTexte($description);
630
		$description = $this->nettoyerTexte($description);
636
		return $description;
631
		return $description;
637
	}
632
	}
Line 638... Line 633...
638
	
633
	
639
	private function getServiceParMotsCles() {
634
	private function getServiceParMotsCles() {
640
		$contenu = '';
-
 
641
		$mot_cle = $this->parametres[0];
-
 
642
 
635
		$infos=array();
643
		if (isset($mot_cle)) {
-
 
644
			$mot_cle_encode = $this->bdd->quote($this->encoderMotCle($mot_cle));
-
 
645
 
-
 
646
			// Construction de la requête
-
 
647
			$requete = 	'SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire '.
-
 
648
				'FROM cel_mots_cles_images '.
636
		$infos[0]['num_nom_sel'] = '';
649
				"WHERE cmc_id_mot_cle_general = $mot_cle_encode ";
637
		$infos[0]['ci_meta_date_ajout'] = '2011-06-28';
650
			$elements = $this->executerRequete($requete);
-
 
651
			
-
 
652
			if ($elements != false && count($elements) > 0) {
-
 
653
				// Pré-construction du where de la requête
-
 
654
				$tpl_where = '(ci_meta_mots_cles LIKE "%%%s%%" AND ci_ce_utilisateur = %s )';
-
 
655
				$requete_where = array();
638
		$donnees = $this->construireDonneesCommunesAuFlux($infos);
656
				foreach ($elements as $occurence) {
-
 
657
					$requete_where[] = sprintf($tpl_where, $occurence['cmc_id_mot_cle_utilisateur'], $this->bdd->quote($occurence['cmc_id_proprietaire']));
-
 
658
				}
-
 
659
				
-
 
660
				// Construction de la requête
-
 
661
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
-
 
662
					'	ci_id_image, ci_ce_utilisateur, ci_nom_original, ci_meta_date_ajout, ci_meta_mots_cles, ci_meta_comment, ci_note_image '.
-
 
663
					'FROM cel_images AS cim '.
-
 
664
					'	LEFT JOIN cel_obs_images AS coi '.
-
 
665
					'		ON (coi.coi_ce_image = cim.ci_id_image AND coi.coi_ce_utilisateur = cim.ci_ce_utilisateur) '.
-
 
666
					'	LEFT JOIN cel_inventory AS ci '.
639
		$donnees['items'][0]['guid'] = 0;
667
					'		ON (coi.coi_ce_observation = ci.ordre AND coi.coi_ce_utilisateur = ci.identifiant) '.
-
 
668
					'WHERE '.implode(" \nOR ", $requete_where).' '.
-
 
669
					'	'.(($this->etreFluxAdmin()) ? '' : 'AND ci.transmission = 1').' '.
640
		$donnees['items'][0]['description'] =  'Ce flux est devenu obsolète. Veuillez utiliser le flux '.
670
					'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'ci_meta_date_ajout DESC').' '.
641
			'<b>http://www.tela-botanica.org/eflore/cel2/jrest/CelSyndicationImage/multicriteres/atom?tag=';
671
					"LIMIT $this->start, $this->limit ";
-
 
672
				$elements = $this->executerRequete($requete);
-
 
673
				
-
 
674
				// Création du contenu
-
 
675
				$contenu = $this->executerService($elements);
-
 
676
			} else {
642
		if (isset($this->parametres[0])) {
677
				$this->messages[] = "Aucune image ne correspond à ce mot clé.";
-
 
678
			}
643
			$donnees['items'][0]['description'] .= $this->parametres[0].'</b>';
679
		} else {
644
		} else {
680
			$this->messages[] = "Le service demandé nécessite d'indiquer un mot-clé en dernier paramêtre.";
645
			$donnees['items'][0]['description'] .= '</b>';	
-
 
646
		}
-
 
647
		$donnees['items'][0]['titre'] = '';
681
		}
648
		$contenu = Cel::traiterSquelettePhp($this->squelette, $donnees);
682
		return $contenu;
649
		return $contenu;
Line 683... Line 650...
683
	}
650
	}
684
	
651
	
685
	private function getServiceParCommune() {
-
 
686
		$contenu = '';
652
	private function getServiceParCommune() {
687
		$commune = $this->parametres[0];
653
		$infos=array();
688
		if (isset($commune)) {
-
 
689
			$commune = $this->bdd->quote($commune);
-
 
690
			
654
		$infos[0]['num_nom_sel'] = '';
691
			// Construction de la requête
-
 
692
			$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' ci.*, '.
-
 
693
			'	ci_id_image, ci_ce_utilisateur, ci_nom_original, ci_meta_date_ajout, ci_meta_mots_cles, ci_meta_comment, ci_note_image '.
655
		$infos[0]['ci_meta_date_ajout'] = '2011-06-28';
694
			'FROM cel_images AS cim '.
-
 
695
			'	LEFT JOIN cel_obs_images AS coi '.
-
 
696
			'		ON (coi.coi_ce_image = cim.ci_id_image AND coi.coi_ce_utilisateur = cim.ci_ce_utilisateur) '.
656
		$donnees = $this->construireDonneesCommunesAuFlux($infos);
697
			'	LEFT JOIN cel_inventory AS ci '.
-
 
698
			'		ON (coi.coi_ce_observation = ci.ordre AND coi.coi_ce_utilisateur = ci.identifiant) '.
-
 
699
			"WHERE ci.location = $commune ".	
657
		$donnees['items'][0]['guid'] = 0;
700
			'	'.(($this->etreFluxAdmin()) ? '' : 'AND ci.transmission = 1').' '.
658
		$donnees['items'][0]['description'] = 'Ce flux est devenu obsolète. Veuillez utiliser le flux '.
701
			'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'ci_meta_date_ajout DESC').' '.
-
 
702
			"LIMIT $this->start,$this->limit ";
-
 
703
			$elements = $this->executerRequete($requete);
-
 
704
			
-
 
705
			// Création du contenu
-
 
706
			if ($elements != false && count($elements) > 0) {
-
 
707
				$contenu = $this->executerService($elements);
659
			'<b>http://www.tela-botanica.org/eflore/cel2/jrest/CelSyndicationImage/multicriteres/atom?commune=';
708
			} else {
-
 
709
				$this->messages[] = "Aucune image ne correspond à cette commune.";
660
		if (isset($this->parametres[0])) {
710
			}
661
			$donnees['items'][0]['description'] .= $this->parametres[0].'</b>';
711
		} else {
662
		} else {
-
 
663
			$donnees['items'][0]['description'] .= '</b>';	
-
 
664
		}
712
			$this->messages[] = "Le service demandé nécessite d'indiquer une nom de commune en dernier paramêtre.";
665
		$donnees['items'][0]['titre'] = '';
713
		}
666
		$contenu = Cel::traiterSquelettePhp($this->squelette, $donnees);
714
		return $contenu;
667
		return $contenu;
715
	}
668
	}