Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1063 Rev 1097
Line 229... Line 229...
229
					case 'commune' :
229
					case 'commune' :
230
						$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger(str_replace(array('-',' '), '_', $valeurMasque).'%');
230
						$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger(str_replace(array('-',' '), '_', $valeurMasque).'%');
231
					break;
231
					break;
232
					case 'masque' :
232
					case 'masque' :
233
						$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
233
						$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
234
						break;
234
					break;
-
 
235
					case 'type' :
-
 
236
						if ($valeurMasque == 'adeterminer') {
-
 
237
							//On récupère toutes les observations qui on le tag "aDeterminer" ou qui n'ont pas de nom d'espèce
-
 
238
							$where[] = '(dob.mots_cles_texte = '.$this->proteger($this->conteneur->getParametre('tag_adeterminer')).' OR nom_sel IS NULL) ';
-
 
239
						} else if ($valeurMasque == 'aconfirmer') {
-
 
240
							//On récupère toutes les observations qui ne sont pas "aDeterminer" et qui ont un nom d'espèce
-
 
241
							$where[] = 'nom_sel is not null AND dob.mots_cles_texte NOT LIKE '.$this->proteger(self::tag_adeterminer);
-
 
242
						} else if ($valeurMasque == 'endiscussion') {
-
 
243
							//Si on veut les observations en discussion, on va récupérer les ids des observations dont le nombre de commentaire est supérieur à N
-
 
244
							$idsObservations = $this->chargerIdsObservationsParNbCommentaires();
-
 
245
							$where[] = 'dob.id_observation IN ('.$idsObservations.')';
-
 
246
						}
-
 
247
					break;
235
					default:
248
					default:
236
						$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque);
249
						$where[] = ' '.$this->mappingFiltre[$idMasque].' = '.$this->proteger($valeurMasque);
237
					break;
250
					break;
238
				}
251
				}
239
			}	
252
			}	
Line 244... Line 257...
244
		} else {
257
		} else {
245
			return;
258
			return;
246
		}
259
		}
247
	}
260
	}
Line -... Line 261...
-
 
261
	
-
 
262
	public function chargerIdsObservationsParNbCommentaires() {
-
 
263
		$requeteIdsObservations = 'SELECT ce_observation FROM `del_commentaire` GROUP BY ce_observation HAVING count(id_commentaire) > '.$this->conteneur->getParametre('nb_commentaires_discussion');
-
 
264
		$listeIdsObservations = $this->bdd->recupererTous($requeteIdsObservations);
-
 
265
		$idsObservations = '';
-
 
266
		foreach ($listeIdsObservations as $idObservation) {
-
 
267
			$idsObservations .= $idObservation['ce_observation'].',';
-
 
268
		
-
 
269
		}
-
 
270
		$idsObservations = rtrim($idsObservations, ',');
-
 
271
		return $idsObservations;
-
 
272
	}
248
	
273
	
249
	private function creerFiltreMasqueGeneral($valeurMasque) {
274
	private function creerFiltreMasqueGeneral($valeurMasque) {
250
		//TODO: affecter d'aborder les variables, puis les tester pour les
275
		//TODO: affecter d'aborder les variables, puis les tester pour les
251
		// ajouter à la chaine
276
		// ajouter à la chaine
252
		$whereAuteur = $this->creerFiltreAuteur($valeurMasque);
277
		$whereAuteur = $this->creerFiltreAuteur($valeurMasque);
Line 393... Line 418...
393
						   'ON di.id_image = doi.id_image ';
418
						   'ON di.id_image = doi.id_image ';
394
		$requeteLiaisons .= $this->chargerClauseWhere();
419
		$requeteLiaisons .= $this->chargerClauseWhere();
395
		$requeteLiaisons .= ' GROUP BY doi.id_observation';
420
		$requeteLiaisons .= ' GROUP BY doi.id_observation';
396
		$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' ';
421
		$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' ';
397
		$requeteLiaisons .= $this->gestionBdd->getLimitSql();
422
		$requeteLiaisons .= $this->gestionBdd->getLimitSql();
398
		
-
 
399
		return $this->bdd->recupererTous($requeteLiaisons);
423
		return $this->bdd->recupererTous($requeteLiaisons);
400
	}
424
	}
Line 401... Line 425...
401
	
425
	
402
	/**
426
	/**