/trunk/bibliotheque/dao/RechercheDao.php |
---|
43,7 → 43,7 |
private function construireUrlRecherche($type, $parametres, $limitation = true) { |
$url = $this->url_jrest.self::SERVICE.'/'.$type; |
$params_a_passer = array('ref', 'mots', 'sg', 'gen', 'sp', 'ssp', 'au', 'an', 'nn', 'bib', 'nr', 'tax'); |
$params_a_passer = array('ref', 'mots', 'sg', 'gen', 'sp', 'ssp', 'au', 'an', 'nn', 'bib', 'nr', 'tax', 'pre', 'taxref'); |
foreach ($params_a_passer as $param_cle) { |
if (isset($parametres[$param_cle]) && $parametres[$param_cle] != '') { |
$valeur = urlencode(trim($parametres[$param_cle])); |
/trunk/interfaces/squelettes/moteur.tpl.html |
---|
129,6 → 129,21 |
suivi de ces synonymes)</td> |
<td><a href="<?=Recherche::getUrlRecherche('gen:scirpus tax:1', $url_referentiel)?>">gen:scirpus tax:1</a></td> |
</tr> |
<tr> |
<td>pre:[0|1]</td> |
<td>Prend pour valeur 0 ou 1.<br />Si 1, renvoie la liste des noms signalés présent en France</td> |
<td><a href="<?=Recherche::getUrlRecherche('pre:1', $url_referentiel)?>">pre:1</a> ,<br /> |
<a href="<?=Recherche::getUrlRecherche('acer pre:1', $url_referentiel)?>">acer pre:1</a> |
</td> |
</tr> |
<tr> |
<td>tax:[0|1]</td> |
<td>Prend pour valeur 0 ou 1.<br />Si 1, renvoie la liste des noms envoyés à taxref. |
Si 0, renvoie la liste des noms non envoyés à taxref</td> |
<td><a href="<?=Recherche::getUrlRecherche('taxref:1', $url_referentiel)?>">taxref:1</a> ,<br /> |
<a href="<?=Recherche::getUrlRecherche('acer taxref:0', $url_referentiel)?>">acer taxref:0</a> |
</td> |
</tr> |
</tbody> |
</table> |
<p> |
/trunk/interfaces/controleurs/Recherche.php |
---|
192,7 → 192,7 |
$parametres = array('mots' => ''); |
$cle_precedente = null; |
foreach ($mots as $mot) { |
if (preg_match('/^(sg|gen|sp|ssp|au|an|nn|bib|nr|tax):(.*)$/', $mot, $match)) { |
if (preg_match('/^(sg|gen|sp|ssp|au|an|nn|bib|nr|tax|pre|taxref):(.*)$/', $mot, $match)) { |
$cle = $match[1]; |
$cle_precedente = $cle; |
$valeur = $match[2]; |
/trunk/services/modules/Recherche.php |
---|
60,12 → 60,12 |
try { |
$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
$this->messages[] = "La requête a retourné aucun résultat : $requete"; |
} else { |
$info = $donnees['nbre']; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete; |
} |
return $info; |
95,12 → 95,12 |
try { |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
$this->messages[] = "La requête a retourné aucun résultat : $requete"; |
} else { |
$info = $donnees; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete; |
} |
return $info; |
} |
220,7 → 220,9 |
'nn' => 'int', |
'bib' => 'str', |
'nr' => 'bool', |
'tax' => 'bool'); |
'tax' => 'bool', |
'pre' => 'bool', |
'taxref' => 'bool'); |
$p = $this->traiterParametresUrl(array_keys($params_passes), $param, false); |
//$this->debug[] = $param; |
359,6 → 361,13 |
if (isset($p['nr']) && $p['nr'] == true) { |
$where .= "AND num_nom_retenu = num_nom "; |
} |
if (isset($p['pre']) && $p['pre'] == true) { |
$where .= "AND presence = 'P' "; |
} |
if (isset($p['taxref'])) { |
$where .= "AND exclure_taxref ="; |
$where .= ($p['taxref'] == true) ? " 0 " : " 1 "; |
} |
$where = str_replace('WHERE AND', ' WHERE ', $where); |