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,10 → 382,14 |
|
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(); |
$this->ajouterContrainteType(); |
463,11 → 467,9 |
); |
} |
|
if ($this->etreAppliImg()) { |
$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) '); |
$this->ajouterJoinObsSiNecessaire(); |
} |
} |
} |
|
private function getSousRequeteSommeVotesPropositions() { |
// ATTENTION : un vote identifié compte 3 votes anonymes (dans les deux sens) |
496,11 → 498,9 |
$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(); |
} |
} |
} |
|
private function ajouterContrainteTri() { |
if (isset($this->parametres['tri'])) { |
557,11 → 557,9 |
$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(); |
} |
} |
} |
|
/** |
* Plusieurs solutions sont disponibles dans les anciennes versions (voir DelTk et l'historique SVN de ce fichier). |
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 |
// 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 '. |