Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2032 → Rev 2033

/trunk/services/bibliotheque/Sql.php
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 '.