";
$result=str_replace("!!others!!",$others,$result);
$result.=$onglets_search_perso_form;
break;
//Recherche avancee
case "extended_search":
$es=new search();
global $mode_aff;
if ($mode_aff) {
if ($mode_aff=="aff_module") {
//ajout de la recherche dans l'historique
$_SESSION["nb_queries"]=$_SESSION["nb_queries"]+1;
$n=$_SESSION["nb_queries"];
$_SESSION["notice_view".$n]=$_SESSION["last_module_search"];
switch ($_SESSION["last_module_search"]["search_mod"]) {
case 'etagere_see':
//appel de la fonction tableau_etagere du fichier etagere_func.inc.php
$r1 = $msg["etagere_query"];
$t=array();
$t=tableau_etagere($_SESSION["last_module_search"]["search_id"]);
$r=$r1." '".$t[0]["nometagere"]."'";
break;
case 'categ_see':
// instanciation de la categorie
$ourCateg = new categorie($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg["category"];
$r=$r1." '".$ourCateg->libelle."'";
break;
case 'indexint_see':
// instanciation de la classe indexation
$r1= $msg["indexint_search"];
$ourIndexint = new indexint($_SESSION["last_module_search"]["search_id"]);
$r=$r1." '".$ourIndexint->get_isbd()."'";
break;
case 'section_see':
$resultat=pmb_mysql_query("select location_libelle from docs_location where idlocation='".addslashes($_SESSION["last_module_search"]["search_location"])."'");
$j=pmb_mysql_fetch_array($resultat);
$localisation_=$j["location_libelle"];
pmb_mysql_free_result($resultat);
$resultat=pmb_mysql_query("select section_libelle from docs_section where idsection='".addslashes($_SESSION["last_module_search"]["search_id"])."'");
$j=pmb_mysql_fetch_array($resultat);
$section_=$j["section_libelle"];
pmb_mysql_free_result($resultat);
$r1 = $localisation_." => ".$msg["section"];
$r=$r1." '".$section_."'";
break;
case "author_see" :
$ourAuthor = new auteur($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['author'];
$r = $r1." '".$ourAuthor->get_isbd()."'";
break;
case "coll_see" :
$ourColl = new collection($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['coll_search'];
$r = $r1." '".$ourColl->get_isbd()."'";
break;
case "subcoll_see" :
$ourSubcoll = new subcollection($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['subcoll_search'];
$r = $r1." '".$ourSubcoll->get_isbd()."'";
break;
case "titre_uniforme_see" :
$ourTu = new titre_uniforme($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['titre_uniforme_search'];
$r = $r1." '".$ourTu->get_isbd()."'";
break;
case "publisher_see" :
$ourPub = new publisher($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['publisher_search'];
$r = $r1." '".$ourPub->get_isbd()."'";
break;
case "serie_see" :
$ourSerie = new serie($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['serie_query'];
$r = $r1." '".$ourSerie->get_isbd()."'";
break;
case "concept_see" :
$ourConcept = new skos_concept($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg['skos_concept'];
$r = $r1." '".$ourConcept->get_display_label()."'";
break;
case "authperso_see" :
$ourAuth = new authperso_authority($_SESSION["last_module_search"]["search_id"]);
$r1 = $ourAuth->info['authperso']['name'];
$r = $r1." '".$ourAuth->info['isbd']."'";
break;
}
$_SESSION["human_query".$n]=$r;
$_SESSION["search_type".$n]="module";
} else {
if ($_SESSION["last_query"]) {
$n=$_SESSION["last_query"];
if ($_SESSION["lq_facette"]) $facette=true;
} else {
$n=$_SESSION["nb_queries"];
}
}
//générer les critères de la multi_critères
//Attention ! si on est déjà dans une facette !
if ($facette)
$es->unserialize_search($_SESSION["lq_facette_search"]["lq_search"]);
else {
global $search;
$search[0]="s_1";
$op_="EQ";
//operateur
$op="op_0_".$search[0];
global ${$op};
${$op}=$op_;
//contenu de la recherche
$field="field_0_".$search[0];
$field_=array();
$field_[0]=$n;
global ${$field};
${$field}=$field_;
//opérateur inter-champ
$inter="inter_0_".$search[0];
global ${$inter};
${$inter}="";
//variables auxiliaires
$fieldvar_="fieldvar_0_".$search[0];
global ${$fieldvar_};
${$fieldvar_}="";
$fieldvar=${$fieldvar_};
}
}
if($search_in_perio){
global $search;
$search[0]="f_34";
//opérateur
$op="op_0_".$search[0];
global ${$op};
$op_ ="EQ";
${$op}=$op_;
//contenu de la recherche
$field="field_0_".$search[0];
$field_=array();
$field_[0]=$search_in_perio;
global ${$field};
${$field}=$field_;
$search[1]="f_42";
//opérateur
$op="op_1_".$search[0];
global ${$op};
$op_ ="BOOLEAN";
${$op}=$op_;
} else {
if ($get_query) {
if (($_SESSION["last_query"]==$get_query)&&($_SESSION["lq_facette_test"])) {
$es->unserialize_search($_SESSION["lq_facette_search"]["lq_search"]);
} else get_history($get_query);
}
}
if($onglet_persopac){
$search_form=$search_form_perso;
global $search;
if (!$search && ($_GET['onglet_persopac'] || $_SERVER['REQUEST_METHOD'] == "GET")) {
//On ne charge les champs de la prédéfinie que si l'on vient de cliquer sur le lien
//EDIT 13/12/17 - AR : ou si on y accède pas via un formulaire (utilisation du paramètres first_page_params)
$search_p_direct= new search_persopac($onglet_persopac);
$es->unserialize_search($search_p_direct->query);
}
}
if($limitsearch){
$search_form=$search_form_perso_limitsearch;
}
if (($onglet_persopac)&&($lvl=="search_result")) $es->reduct_search();
if($opac_autolevel2==2){
$result=$es->show_form("./index.php?lvl=$lvl&search_type_asked=extended_search","./index.php?lvl=more_results&mode=extended");
}else{
$result=$es->show_form("./index.php?lvl=$lvl&search_type_asked=extended_search","./index.php?lvl=search_result&search_type_asked=extended_search");
}
$others="
";
$result.=$onglets_search_perso_form;
break;
//Recherche avancee
case "external_search":
//Si c'est une multi-critere, on l'affiche telle quelle
global $external_type;
if ($external_type) $_SESSION["ext_type"]=$external_type;
global $mode_aff;
//Affinage
if ($mode_aff) {
if ($mode_aff=="aff_module") {
//ajout de la recherche dans l'historique
$_SESSION["nb_queries"]=$_SESSION["nb_queries"]+1;
$n=$_SESSION["nb_queries"];
$_SESSION["notice_view".$n]=$_SESSION["last_module_search"];
switch ($_SESSION["last_module_search"]["search_mod"]) {
case 'etagere_see':
//appel de la fonction tableau_etagere du fichier etagere_func.inc.php
$r1 = $msg["etagere_query"];
$t=array();
$t=tableau_etagere($_SESSION["last_module_search"]["search_id"]);
$r=$r1." '".$t[0]["nometagere"]."'";
break;
case 'categ_see':
// instanciation de la catégorie
$ourCateg = new categorie($_SESSION["last_module_search"]["search_id"]);
$r1 = $msg["category"];
$r=$r1." '".$ourCateg->libelle."'";
break;
case 'indexint_see':
// instanciation de la classe indexation
$r1= $msg["indexint_search"];
$ourIndexint = new indexint($_SESSION["last_module_search"]["search_id"]);
$r=$r1." '".$ourIndexint->name." ".$ourIndexint->comment."'";
break;
case 'section_see':
$resultat=pmb_mysql_query("select location_libelle from docs_location where idlocation='".addslashes($_SESSION["last_module_search"]["search_location"])."'");
$j=pmb_mysql_fetch_array($resultat);
$localisation_=$j["location_libelle"];
pmb_mysql_free_result($resultat);
$resultat=pmb_mysql_query("select section_libelle from docs_section where idsection='".addslashes($_SESSION["last_module_search"]["search_id"])."'");
$j=pmb_mysql_fetch_array($resultat);
$section_=$j["section_libelle"];
pmb_mysql_free_result($resultat);
$r1 = $localisation_." => ".$msg["section"];
$r=$r1." '".$section_."'";
break;
}
$_SESSION["human_query".$n]=$r;
$_SESSION["search_type".$n]="module";
} else {
if ($_SESSION["last_query"]) {
$n=$_SESSION["last_query"];
} else {
$n=$_SESSION["nb_queries"];
}
}
}
if ($_SESSION["ext_type"]=="multi") {
global $search;
if (!$search) {
$search[0]="s_2";
$op_0_s_2="EQ";
$field_0_s_2=array();
} else {
//Recherche du champp source, s'il n'est pas present, on decale tout et on l'ajoute
$flag_found=false;
for ($i=0; $i=0; $i--) {
$search[$i+1]=$search[$i];
decale("field_".$i."_".$search[$i],"field_".($i+1)."_".$search[$i]);
decale("op_".$i."_".$search[$i],"op_".($i+1)."_".$search[$i]);
decale("inter_".$i."_".$search[$i],"inter_".($i+1)."_".$search[$i]);
decale("fieldvar_".$i."_".$search[$i],"fieldvar_".($i+1)."_".$search[$i]);
}
$search[0]="s_2";
$op_0_s_2="EQ";
$field_0_s_2=array();
}
}
if ($mode_aff) {
//générer les critères de la multi_critères
$search[1]="s_1";
$op_="EQ";
//opérateur
$op="op_1_".$search[1];
global ${$op};
${$op}=$op_;
//contenu de la recherche
$field="field_1_".$search[1];
$field_=array();
$field_[0]=$n;
global ${$field};
${$field}=$field_;
//opérateur inter-champ
$inter="inter_1_".$search[1];
global ${$inter};
${$inter}="and";
//variables auxiliaires
$fieldvar_="fieldvar_1_".$search[1];
global ${$fieldvar_};
${$fieldvar_}="";
$fieldvar=${$fieldvar_};
}
$es=new search("search_fields_unimarc");
$result=$es->show_form("./index.php?lvl=$lvl&search_type_asked=external_search","./index.php?lvl=search_result&search_type_asked=external_search");
} else {
global $mode_aff;
//Si il y a une mode d'affichage demandé, on construit l'écran correspondant
if ($mode_aff) {
$f=get_field_text($n);
$user_query=$f[0];
$look=$f[1];
global ${$look};
${$look}=1;
global $look_FIRSTACCESS;
$look_FIRSTACCESS=1;
} else {
if ($external_env) {
$external_env=unserialize(stripslashes($external_env));
foreach ($external_env as $varname=>$varvalue) {
global ${$varname};
${$varname}=$varvalue;
}
}
}
$result=$search_input;
$result=str_replace("!!user_query!!",htmlentities(stripslashes($user_query),ENT_QUOTES,$charset),$result);
$result = str_replace("", do_ou_chercher(), $result);
$result = str_replace("", do_sources(), $result);
}
$others="
";
$result.=$onglets_search_perso_form;
break;
//Recherche par termes
case "term_search":
global $search_term;
global $term_click;
global $page_search;
global $opac_term_search_height;
global $opac_show_help;
if (!$opac_term_search_height) $height=300;
else $height=$opac_term_search_height;
$search_form_term = "
";
//recuperation du thesaurus session
if(!$id_thes) $id_thes = thesaurus::getSessionThesaurusId();
else thesaurus::setSessionThesaurusId($id_thes);
//affichage du selectionneur de thesaurus et du lien vers les thesaurus
$liste_thesaurus = thesaurus::getThesaurusList();
$sel_thesaurus = '';
$lien_thesaurus = '';
if ($opac_thesaurus != 0) { //la liste des thesaurus n'est pas affichée en mode monothesaurus
$sel_thesaurus = " ";
$lien_thesaurus = "".$msg['thes_lien']."";
}
$search_form_term=str_replace("",$sel_thesaurus,$search_form_term);
$search_form_term=str_replace("",$lien_thesaurus,$search_form_term);
$result=$search_form_term;
$others="";
$others.="
";
$result.=$onglets_search_perso_form;
break;
case "tags_search":
// les tests de formulaire
$result = $script_test_form;
$tests = test_field("search_input", "query", "recherche");
$result = str_replace("!!tests!!", $tests, $result);
if ($opac_search_other_function) $toprint_typdocfield.=search_other_function_filters();
// le contenu
$result .= $search_input;
// on met la valeur a jour
$result = str_replace("!!user_query!!", htmlentities($value,ENT_QUOTES,$charset), $result);
$result = str_replace("", "", $result);
$result = str_replace("","" , $result);
// on se place dans le bon champ
// $result .= form_focus("search_input", "query");
$others="";
$others="
";
$tag = new tags();
$result.= $tag->listeAlphabetique();
}
$result.=$onglets_search_perso_form;
break;
// *****************
// Pour affichage compte emprunteur en onglet
case "connect_empr":
// les tests de formulaire
$result = $search_input;
$others="";
$others="
";
$search_p= new search_persopac();
$result=str_replace("!!contenu!!",$search_p->do_list(),$result);
$result=str_replace("!!others!!",$others,$result);
break;
case "perio_a2z":
global $opac_perio_a2z_abc_search;
global $opac_perio_a2z_max_per_onglet;
$result=$search_input;
$others="";
$others.="
";
$result=str_replace("!!others!!",$others,$result);
// affichage page géolocalisation
global $msg;
global $dbh;
global $charset,$lang;
global $all_query,$typdoc_query, $statut_query, $docnum_query, $pmb_indexation_docnum_allfields, $pmb_indexation_docnum;
global $categ_query,$thesaurus_auto_postage_search,$auto_postage_query;
global $thesaurus_concepts_active,$concept_query;
global $map_echelle_query,$map_projection_query,$map_ref_query,$map_equinoxe_query;
global $opac_map_size_search_edition;
global $opac_map_base_layer_type;
global $opac_map_base_layer_params;
global $map_emprises_query;
// on commence par créer le champ de sélection de document
// récupération des types de documents utilisés.
$query = "SELECT count(typdoc), typdoc ";
$query .= "FROM notices where typdoc!='' GROUP BY typdoc";
$res = @pmb_mysql_query($query, $dbh);
$toprint_typdocfield .= " \n";
$doctype = new marc_list('doctype');
while (($rt = pmb_mysql_fetch_row($res))) {
$obj[$rt[1]]=1;
$qte[$rt[1]]=$rt[0];
}
foreach ($doctype->table as $key=>$libelle){
if ($obj[$key]==1){
$toprint_typdocfield .= " \n";
while ($obj = @pmb_mysql_fetch_row($res)) {
$toprint_statutfield .= "