Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 900 → Rev 901

/trunk/modules/recherche/Recherche.php
45,11 → 45,12
//+---------------------------------------------recherche avancee-------------------------------------+
public function executerRechercheAvancee() {
$this->param = $this->nettoyerParametresDefautRechercheAvancee($this->param);
$donnees['param'] = $this->param;
$presence = $this->rechercherCriteresDemandes();
if (empty($presence) && !empty($this->param)) {
$donnees['message_av']['attention'] = 'info_res_vide';
}
if (empty($presence) && !empty($this->param)) {
$donnees['message_av']['attention'] = 'info_res_vide';
}
$this->executerAccueil($donnees);
if (Registre::get('resultats')) {
$_GET['resultat'] = $this->type_resultat;
56,6 → 57,16
$this->executerAction('Resultat', 'executerResultat');
}
}
 
private function nettoyerParametresDefautRechercheAvancee($params) {
$params_nettoyes = array();
foreach ($params as $cle => $param) {
if(!preg_match("#^\(.*\)$#", $param)) {
$params_nettoyes[$cle] = $param;
}
}
return $params_nettoyes;
}
public function rechercherCriteresDemandes() {
$noms = new Noms(Registre::get('parametres.referentiel'));
167,22 → 178,22
private function capturerParametres() {
if (isset($_REQUEST['nom'])) {
$this->nom = trim($_REQUEST['nom']);
$this->nom = $this->convertirEncodageEntree(urldecode($_REQUEST['nom']));
}
if (isset($_GET['type_nom'])) {
$this->type_nom = $_GET['type_nom'];
$this->type_nom = $this->convertirEncodageEntree(urldecode($_GET['type_nom']));
}
if (isset($_GET['submit'])) {
$this->submit = urldecode($_GET['submit']);
$this->submit = $this->convertirEncodageEntree(urldecode($_GET['submit']));
}
if(isset($_GET['acces_fiche'])) {
$this->acces_fiche = true;
}
if (isset($_GET['niveau'])) {
Registre::set('parametres.niveau', $_GET['niveau']);
Registre::set('parametres.niveau', $this->convertirEncodageEntree($_GET['niveau']));
}
if (isset($_GET['resultat'])) {
$this->type_resultat = urldecode($_GET['resultat']);
$this->type_resultat = $this->convertirEncodageEntree(urldecode($_GET['resultat']));
} else {
$onglet_resultat = $this->recupererTableauConfig('affich_resultats');
$this->type_resultat = $onglet_resultat[Registre::get('parametres.niveau').'_'.$this->type_nom];
191,56 → 202,56
private function capturerParametresAvances() {
if (isset($_GET['gen']) && $_GET['gen'] != '') {
$this->param['gen'] = urldecode($_GET['gen']);
$this->param['gen'] = $this->convertirEncodageEntree(urldecode($_GET['gen']));
}
if (isset($_GET['fam']) && $_GET['fam'] != '') {
$this->param['fam'] = urldecode($_GET['fam']);
$this->param['fam'] = $this->convertirEncodageEntree(urldecode($_GET['fam']));
}
if (isset($_GET['au']) && $_GET['au'] != ''
&& $_GET['au'] != urlencode($this->i18n['valeur-form-auteur'])) {
$this->param['au'] = urldecode($_GET['au']);
&& $_GET['au'] != $this->convertirEncodageEntree(urlencode($this->i18n['valeur-form-auteur']))) {
$this->param['au'] = $this->convertirEncodageEntree(urldecode($_GET['au']));
}
if (isset($_GET['bib']) && $_GET['bib'] != ''
&& $_GET['bib'] != urlencode($this->i18n['valeur-form-bib'])) {
$this->param['bib'] = urldecode($_GET['bib']);
&& $_GET['bib'] != $this->convertirEncodageEntree(urlencode($this->i18n['valeur-form-bib']))) {
$this->param['bib'] = $this->convertirEncodageEntree(urldecode($_GET['bib']));
}
if (isset($_GET['nn']) && $_GET['nn'] != '') {
$this->param['nn'] = urldecode($_GET['nn']);
$this->param['nn'] = $this->convertirEncodageEntree(urldecode($_GET['nn']));
}
if (isset($_GET['nt']) && $_GET['nt'] != '') {
$this->param['nt'] = urldecode($_GET['nt']);
$this->param['nt'] = $this->convertirEncodageEntree(urldecode($_GET['nt']));
}
if (isset($_GET['sp']) && $_GET['sp'] != '') {
$this->param['sp'] = urldecode($_GET['sp']);
$this->param['sp'] = $this->convertirEncodageEntree(urldecode($_GET['sp']));
}
if (isset($_GET['ssp']) && $_GET['ssp'] != '') {
$this->param['ssp'] = urldecode($_GET['ssp']);
$this->param['ssp'] = $this->convertirEncodageEntree(urldecode($_GET['ssp']));
}
if (isset($_GET['type']) && $_GET['type'] != '') {
$this->param['type'] = urldecode($_GET['type']);
$this->param['type'] = $this->convertirEncodageEntree(urldecode($_GET['type']));
}
if (isset($_GET['and']) && $_GET['and'] != ''
&& $_GET['and'] != urlencode($this->i18n['valeur-form-date'])) {
$this->param['and'] = urldecode($_GET['and']);
&& $_GET['and'] != $this->convertirEncodageEntree(urlencode($this->i18n['valeur-form-date']))) {
$this->param['and'] = $this->convertirEncodageEntree(urldecode($_GET['and']));
}
if (isset($_GET['anf']) && $_GET['anf'] != ''
&& $_GET['anf'] != urlencode($this->i18n['valeur-form-date'])) {
$this->param['anf'] = urldecode($_GET['anf']);
&& $_GET['anf'] != $this->convertirEncodageEntree(urlencode($this->i18n['valeur-form-date']))) {
$this->param['anf'] = $this->convertirEncodageEntree(urldecode($_GET['anf']));
}
if (isset($_GET['prga']) && $_GET['prga'] != '') {
$this->param['prga'] = urldecode($_GET['prga']);
$this->param['prga'] = $this->convertirEncodageEntree(urldecode($_GET['prga']));
}
if (isset($_GET['prco']) && $_GET['prco'] != '') {
$this->param['prco'] = urldecode($_GET['prco']);
$this->param['prco'] = $this->convertirEncodageEntree(urldecode($_GET['prco']));
}
if (isset($_GET['sto']) && $_GET['sto'] != '') {
$this->param['sto'] = urldecode($_GET['sto']);
$this->param['sto'] = $this->convertirEncodageEntree(urldecode($_GET['sto']));
}
if (isset($_GET['sti']) && $_GET['sti'] != '') {
$this->param['sti'] = urldecode($_GET['sti']);
$this->param['sti'] = $this->convertirEncodageEntree(urldecode($_GET['sti']));
}
if (isset($_GET['stc']) && $_GET['stc'] != '') {
$this->param['stc'] = urldecode($_GET['stc']);
$this->param['stc'] = $this->convertirEncodageEntree(urldecode($_GET['stc']));
}
}
258,6 → 269,20
}
return $tableau;
}
 
 
/**
* Convertion des valeurs de requête dans l'encodage de l'application (voir fichier config.ini : appli_encodage),
* A cause d'un bug en cours d'investigation, celle ci utilise des paramètres différents de la fonction de conversion
* D'encodage de sortie
* Cette convertion a lieu seulement si les formats sont différents.
*/
private function convertirEncodageEntree($contenu) {
if (Config::get('sortie_encodage') != Config::get('appli_encodage')) {
$contenu = mb_convert_encoding($contenu, Config::get('appli_encodage'), Config::get('sortie_encodage'));
}
return $contenu;
}
}
?>