115,7 → 115,7 |
$sousRequete = 'di.ce_observation IN '. |
"(SELECT id_observation FROM del_observation AS do WHERE $clauseWhereSousRequete ) "; |
$this->requete['where']['OR'][] = "( $sousRequete )"; |
unset($this->requete['join']['LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ']); |
unset($this->requete['join'][$this->getSqlJointureObs()]); |
} |
|
if (isset($this->requete['where']['OR']) && count($this->requete['where']['OR']) > 0) { |
382,9 → 382,13 |
|
private function ajouterJoinObsSiNecessaire() { |
if ($this->etreAppliImg()) { |
$this->addJoin('INNER JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '); |
$this->addJoin($this->getSqlJointureObs()); |
} |
} |
|
private function getSqlJointureObs() { |
return 'INNER JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '; |
} |
|
public function ajouterConstrainteAppliObs() { |
$this->ajouterContrainteTagCel(); |
463,9 → 467,7 |
); |
} |
|
if ($this->etreAppliImg()) { |
$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '); |
} |
$this->ajouterJoinObsSiNecessaire(); |
} |
} |
|
496,9 → 498,7 |
$milieuMotif = $this->bdd->proteger("%$milieu%"); |
$this->addWhere('masque.milieu', "do.milieu LIKE $milieuMotif"); |
|
if ($this->etreAppliImg()) { |
$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '); |
} |
$this->ajouterJoinObsSiNecessaire(); |
} |
} |
|
557,9 → 557,7 |
$this->addJoin('LEFT JOIN del_image AS di ON (di.ce_observation = do.id_observation) '); |
} |
} |
if ($this->etreAppliImg()) { |
$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '); |
} |
$this->ajouterJoinObsSiNecessaire(); |
} |
} |
|
579,8 → 577,16 |
"HAVING GROUP_CONCAT(DISTINCT tag_normalise ORDER BY tag_normalise) REGEXP $tagsMotif "; |
} |
} else { |
// Si un seul tag est demandé il se trouve dans le OR |
$tag = $this->parametres['masque.tag_del']['OR'][0]; |
// Si un seul tag est demandé il se trouve dans le OR dans le cas de la recherche |
// spécifique et dans le AND dans le cas de la recherche générale |
// WTF? |
$tag = ""; |
if(isset($this->parametres['masque.tag_del']['OR'][0])) { |
$tag = $this->parametres['masque.tag_del']['OR'][0]; |
} else if(isset($this->parametres['masque.tag_del']['AND'][0])) { |
$tag = $this->parametres['masque.tag_del']['AND'][0]; |
} |
|
$sousRequete = 'SELECT ce_image '. |
'FROM del_image_tag '. |
'WHERE actif = 1 '. |