Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1104 Rev 1138
Line 233... Line 233...
233
						$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
233
						$where[] = ' '.$this->creerFiltreMasqueGeneral($valeurMasque);
234
					break;
234
					break;
235
					case 'type' :
235
					case 'type' :
236
						//TODO : en discussion doit faire ressortir les observations qui ont plusieurs propositions de nom OU celle qui ont plus de N commentaires
236
						//TODO : en discussion doit faire ressortir les observations qui ont plusieurs propositions de nom OU celle qui ont plus de N commentaires
237
						$tableauTypes = explode(';', $valeurMasque);
237
						$tableauTypes = explode(';', $valeurMasque);
-
 
238
						$requeteType = array();
Line 238... Line 239...
238
						
239
						
239
						if (in_array('adeterminer', $tableauTypes)) {
240
						if (in_array('adeterminer', $tableauTypes)) {
240
							//On récupère toutes les observations qui on le tag "aDeterminer" ou qui n'ont pas de nom d'espèce
241
							//On récupère toutes les observations qui on le tag "aDeterminer" ou qui n'ont pas de nom d'espèce
-
 
242
							$requeteType[] = '(dob.mots_cles_texte = '.$this->proteger($this->conteneur->getParametre('tag_adeterminer')).' OR nom_sel IS NULL) ';
-
 
243
						}
241
							$where[] = '(dob.mots_cles_texte = '.$this->proteger($this->conteneur->getParametre('tag_adeterminer')).' OR nom_sel IS NULL) ';
244
 
242
						} else if (in_array('aconfirmer', $tableauTypes)) {
245
						if (in_array('aconfirmer', $tableauTypes)) {
243
							//On récupère toutes les observations qui ne sont pas "aDeterminer" et qui ont un nom d'espèce
246
							//On récupère toutes les observations qui ne sont pas "aDeterminer" et qui ont un nom d'espèce
244
							$where[] = 'nom_sel is not null AND dob.mots_cles_texte NOT LIKE '.$this->proteger($this->conteneur->getParametre('tag_adeterminer'));
247
							$requeteType[] = '(nom_sel is not null AND dob.mots_cles_texte NOT LIKE '.$this->proteger($this->conteneur->getParametre('tag_adeterminer')).') ';
Line 245... Line 248...
245
						}
248
						}
246
						
249
						
247
						if (in_array('endiscussion', $tableauTypes)) {
250
						if (in_array('endiscussion', $tableauTypes)) {
-
 
251
							//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
248
							//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
252
							$idsObservations = $this->chargerIdsObservationsParNbCommentaires();
-
 
253
							if(!empty($idsObservations)) {
-
 
254
								$requeteType[] = 'dob.id_observation IN ('.$idsObservations.') ';
-
 
255
							} else {
-
 
256
								$requeteType[] = 'dob.id_observation IN (NULL) ';
-
 
257
							}
-
 
258
						}
249
							$idsObservations = $this->chargerIdsObservationsParNbCommentaires();
259
						if($valeurMasque != '') {
250
							$where[] = ' dob.id_observation IN ('.$idsObservations.')';
260
						  $where[] = implode(' OR ', $requeteType);
251
						}
261
						}
252
					break;
262
					break;
253
					default:
263
					default:
Line 423... Line 433...
423
						   'ON di.id_image = doi.id_image ';
433
						   'ON di.id_image = doi.id_image ';
424
		$requeteLiaisons .= $this->chargerClauseWhere();
434
		$requeteLiaisons .= $this->chargerClauseWhere();
425
		$requeteLiaisons .= ' GROUP BY doi.id_observation';
435
		$requeteLiaisons .= ' GROUP BY doi.id_observation';
426
		$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' ';
436
		$requeteLiaisons .= ' ORDER BY '.$this->tri.' '.$this->directionTri.' ';
427
		$requeteLiaisons .= $this->gestionBdd->getLimitSql();
437
		$requeteLiaisons .= $this->gestionBdd->getLimitSql();
-
 
438
		//echo $requeteLiaisons;exit;
428
		return $this->bdd->recupererTous($requeteLiaisons);
439
		return $this->bdd->recupererTous($requeteLiaisons);
429
	}
440
	}
Line 430... Line 441...
430
	
441
	
431
	/**
442
	/**
Line 512... Line 523...
512
		$requeteNbCommentaires = 'SELECT ce_commentaire_parent, ce_proposition, count( id_commentaire ) AS nb '.
523
		$requeteNbCommentaires = 'SELECT ce_commentaire_parent, ce_proposition, count( id_commentaire ) AS nb '.
513
								 'FROM del_commentaire '.
524
								 'FROM del_commentaire '.
514
								 'WHERE ce_proposition IN ( '.implode(', ', $ids_proposition).') '.
525
								 'WHERE ce_proposition IN ( '.implode(', ', $ids_proposition).') '.
515
								 'GROUP BY ce_proposition';
526
								 'GROUP BY ce_proposition';
Line 516... Line -...
516
 
-
 
517
/*SELECT ce_commentaire_parent, COUNT(id_commentaire) as nb '.
-
 
518
									'FROM del_commentaire '.
-
 
519
									'WHERE ce_commentaire_parent IN ('.implode(', ', $ids_proposition).')';*/
-
 
520
		
-
 
521
		//echo $requeteNbCommentaires;
527
 
Line 522... Line 528...
522
		$listeCommentaires = $this->bdd->recupererTous($requeteNbCommentaires);
528
		$listeCommentaires = $this->bdd->recupererTous($requeteNbCommentaires);
523
		
529
		
524
		foreach ($listeCommentaires as $ligneProposition) {
530
		foreach ($listeCommentaires as $ligneProposition) {