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; |
} |
|
} |
?> |