Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3928 → Rev 3929

/trunk/jrest/bibliotheque/RechercheImage.php
187,6 → 187,9
case "mots_cles";
$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
break;
case "projet"; // mot clé des observations
$sous_requete .= $this->creerSousRequeteProjet($valeur);
break;
case "id_mots_cles";
$liste_mc = '"'.str_replace(';','","',$valeur).'"';
$tpl_sous_requete = GestionMotsClesChemin::obtenirTemplateRequeteMotsClesIds('images');
236,6 → 239,13
$sous_requete .= 'co.nom_sel LIKE '.Cel::db()->proteger($valeur.'%') ;
$sous_requete .= ') AND ' ;
break;
case "num_nom":
$sous_requete .= ' (';
$sous_requete .= 'co.nom_ret_nn = '.Cel::db()->proteger($valeur) ;
$sous_requete .= ' OR ' ;
$sous_requete .= 'co.nom_sel_nn = '.Cel::db()->proteger($valeur) ;
$sous_requete .= ') AND ' ;
break;
case "auteur":
if (is_numeric($valeur)) {
$sous_requete .= 'co.ce_utilisateur = '.Cel::db()->proteger($valeur).' AND ';
347,6 → 357,29
return $requete;
}
 
private function creerSousRequeteProjet($mot_cle) {
//TODO: une requête plus efficace serait possible en utilisant
// les vraies tables de mots clés et en faisant disparaitre ce champ maudit
$requete = '';
if (preg_match('/.*OU.*/', $mot_cle)) {
$mots_cles_tab = explode('OU',$mot_cle);
foreach ($mots_cles_tab as $mot_cle_item) {
$requete .= '(co.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') OR ';
}
$requete = '('.rtrim($requete,'OR ').')';
} else if (preg_match('/.*ET.*/', $mot_cle)) {
$mots_cles_tab = explode('ET',$mot_cle);
foreach ($mots_cles_tab as $mot_cle_item) {
$requete .= '(co.mots_cles_texte LIKE '.Cel::db()->proteger('%'.$mot_cle_item.'%').') AND ';
}
$requete = '('.rtrim($requete, 'AND ').') ';
} else {
$requete = "(co.mots_cles_texte LIKE ".Cel::db()->proteger('%'.$mot_cle.'%').') ';
}
$requete .= ' AND ';
return $requete;
}
public function formaterPourEnvoiCel(&$tableau_images) {
foreach ($tableau_images as &$image) {
$ids_mots_cles = $this->getIdsMotsClesImage($image['id_image']);