Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1894 Rev 1901
Line 165... Line 165...
165
 
165
 
166
	/**
166
	/**
167
	 * Retrouver les derniers votes image
167
	 * Retrouver les derniers votes image
168
	 * */
168
	 * */
169
	private function getDerniersVotesImage() {
169
	private function getDerniersVotesImage() {
-
 
170
		$idsTags = $this->getIdsDerniersVotesImage();
170
		$clauseWhere = $this->chargerClauseWhere();
171
		$idsTagsConcat = implode(', ', $idsTags);
171
		$requete = 'SELECT DISTINCT id_tag, tag, date, '.
172
		$requete = 'SELECT id_tag, tag, date, '.
172
				'	do.id_observation, do.nom_sel, do.zone_geo, do.date_observation, di.id_image, '.
173
				'	do.id_observation, do.nom_sel, do.zone_geo, do.date_observation, di.id_image, '.
173
				'	duo.prenom AS auteur_prenom, duo.nom AS auteur_nom, duo.courriel AS auteur_courriel, '.
174
				'	duo.prenom AS auteur_prenom, duo.nom AS auteur_nom, duo.courriel AS auteur_courriel, '.
174
				'	du.prenom AS tagueur_prenom, du.nom AS tagueur_nom, du.courriel AS tagueur_courriel '.
175
				'	du.prenom AS tagueur_prenom, du.nom AS tagueur_nom, du.courriel AS tagueur_courriel '.
175
				'FROM del_image_tag AS dit '.
176
				'FROM del_image_tag AS dit '.
Line 181... Line 182...
181
				'		ON do.ce_utilisateur = duo.id_utilisateur '.
182
				'		ON do.ce_utilisateur = duo.id_utilisateur '.
182
				'	LEFT JOIN del_utilisateur AS du '.
183
				'	LEFT JOIN del_utilisateur AS du '.
183
				'		ON if((CHAR_LENGTH(dit.ce_utilisateur) <> 32),CAST(dit.ce_utilisateur AS unsigned),0) '.
184
				'		ON if((CHAR_LENGTH(dit.ce_utilisateur) <> 32),CAST(dit.ce_utilisateur AS unsigned),0) '.
184
				'			= du.id_utilisateur '.
185
				'			= du.id_utilisateur '.
185
				'WHERE actif = 1 '.
186
				'WHERE actif = 1 '.
186
				($clauseWhere != '' ? "AND $clauseWhere " : '').
187
				"	AND id_tag IN ($idsTagsConcat) ".
187
				'ORDER BY date DESC '.
188
				'ORDER BY date DESC '.
188
				'LIMIT '.$this->navigation->getDepart().','.$this->navigation->getLimite().' '.
189
				'LIMIT '.$this->navigation->getDepart().','.$this->navigation->getLimite().' '.
189
				' -- '.__FILE__.' : '.__LINE__;
190
				' -- '.__FILE__.' : '.__LINE__;
190
		$elements = $this->bdd->recupererTous($requete);
191
		$elements = $this->bdd->recupererTous($requete);
191
		return $elements;
192
		return $elements;
192
	}
193
	}
Line -... Line 194...
-
 
194
 
-
 
195
	/**
-
 
196
	 * Retrouver les ids des derniers votes image
193
 
197
	 * */
194
	private function chargerClauseWhere() {
198
	private function getIdsDerniersVotesImage() {
195
		$where = array();
199
		$requete = 'SELECT DISTINCT id_tag '.
196
		$filtres = $this->navigation->getFiltre();
200
				'FROM del_image_tag '.
197
		if (!empty($filtres)) {
201
				'WHERE actif = 1 '.
198
			$filtrePossibles = $this->conteneur->getParametreTableau('syndication.tag_filtres');
202
				// Pas de filtre pour ce service. Utiliser le principe des autres ws de syndication si on devait en rajouter.
199
			foreach ($filtres as $cleFiltre => $valeur) {
203
				'ORDER BY date DESC '.
200
				if (in_array($cleFiltre, $filtrePossibles)) {
204
				'LIMIT '.$this->navigation->getDepart().','.$this->navigation->getLimite().' '.
201
					$champ = $this->mapping[$cleFiltre];
205
				' -- '.__FILE__.' : '.__LINE__;
202
					$valeurP = $this->bdd->proteger($valeur);
206
		$elements = $this->bdd->recupererTous($requete);
203
					$where[] = " $champ = $valeurP ";
-
 
204
				}
-
 
205
			}
-
 
206
		}
-
 
207
 
-
 
208
		return (!empty($where)) ? implode('AND', $where) : '';
207
		return $elements;
209
	}
208
	}
210
}
209
}