Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 234 → Rev 235

/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>
135,8 → 150,8
Si vous souhaitez utiliser deux opérateurs à la suite, ou un terme et un opérateur, pour
faire une recherche croisée, séparez-les uniquement par un espace.<br />
<em>Exemples&nbsp;:</em>
<a href="<?=Recherche::getUrlRecherche('l. gen:aba', $url_referentiel)?>">"l. gen:aba"</a>&nbsp;=>172 résultats;&nbsp;
<a href="<?=Recherche::getUrlRecherche('au:l. gen:aba', $url_referentiel)?>">"au:l. gen:aba"</a>&nbsp;=> 25 résultats.
<a href="<?=Recherche::getUrlRecherche('l. gen:aba', $url_referentiel)?>">"l. gen:aba"</a>&nbsp; =>172 résultats;&nbsp;
<a href="<?=Recherche::getUrlRecherche('au:l. gen:aba', $url_referentiel)?>">"au:l. gen:aba"</a>&nbsp; => 25 résultats.
<br /><br />
Des "jokers" permettent d'élargir la recherche.
</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);
/trunk/bibliotheque/dao/RechercheDao.php
34,9 → 34,9
*/
public function chercher($type, $parametres) {
$this->ordre['nom_sci'] = 'ASC';
$url = $this->construireUrlRecherche($type, $parametres);
$url = $this->construireUrlRecherche($type, $parametres);
$json = $this->envoyerRequeteConsultation($url);
$donnees = json_decode($json, true);
$donnees = json_decode($json, true);
return $donnees;
}
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]));