Ejemplo n.º 1
0
function simple_search_content($value = '', $css)
{
    global $dbh;
    global $msg;
    global $charset;
    global $lang;
    global $css;
    global $search_type;
    global $class_path;
    global $es;
    global $lvl;
    global $include_path;
    global $opac_allow_extended_search, $opac_allow_term_search, $opac_allow_external_search;
    global $typdoc;
    global $opac_search_other_function, $opac_search_show_typdoc;
    global $opac_thesaurus;
    global $id_thes;
    global $base_path;
    global $opac_allow_tags_search;
    global $opac_show_onglet_empr;
    global $external_env;
    global $user_query;
    global $source;
    global $opac_recherches_pliables;
    global $opac_show_help;
    global $onglet_persopac, $opac_allow_personal_search;
    global $search_form_perso, $search_form, $search_form_perso_limitsearch, $limitsearch;
    global $opac_show_onglet_help;
    global $search_in_perio;
    global $get_query;
    global $opac_show_onglet_perio_a2z, $opac_autolevel2;
    global $opac_simple_search_suggestions;
    include $include_path . "/templates/simple_search.tpl.php";
    if ($opac_search_other_function) {
        require_once $include_path . "/" . $opac_search_other_function;
    }
    // pour la DSI
    global $opac_allow_bannette_priv;
    // bannettes privees autorisees ?
    global $bt_cree_bannette_priv;
    if ($opac_allow_bannette_priv && ($bt_cree_bannette_priv || $_SESSION['abon_cree_bannette_priv'] == 1)) {
        $_SESSION['abon_cree_bannette_priv'] = 1;
    } else {
        $_SESSION['abon_cree_bannette_priv'] = 0;
    }
    global $script_test_form;
    switch ($opac_show_onglet_empr) {
        case 1:
            $empr_link_onglet = "./index.php?search_type_asked=connect_empr";
            break;
        case 2:
            $empr_link_onglet = "./empr.php";
            break;
    }
    $search_p = new search_persopac();
    $onglets_search_perso = $search_p->directlink_user;
    $onglets_search_perso_form = $search_p->directlink_user_form;
    switch ($search_type) {
        case "simple_search":
            // les tests de formulaire
            $result = $script_test_form;
            $tests = test_field("search_input", "query", "recherche");
            $result = str_replace("!!tests!!", $tests, $result);
            // les typ_doc
            if ($opac_search_show_typdoc) {
                $query = "SELECT typdoc FROM notices where typdoc!='' GROUP BY typdoc";
                $result2 = mysql_query($query, $dbh);
                $toprint_typdocfield = " <select name='typdoc'>";
                $toprint_typdocfield .= "  <option ";
                $toprint_typdocfield .= " value=''";
                if ($typdoc == '') {
                    $toprint_typdocfield .= " selected";
                }
                $toprint_typdocfield .= ">" . $msg["simple_search_all_doc_type"] . "</option>\n";
                $doctype = new marc_list('doctype');
                while ($rt = mysql_fetch_row($result2)) {
                    $obj[$rt[0]] = 1;
                }
                foreach ($doctype->table as $key => $libelle) {
                    if ($obj[$key] == 1) {
                        $toprint_typdocfield .= "  <option ";
                        $toprint_typdocfield .= " value='{$key}'";
                        if ($typdoc == $key) {
                            $toprint_typdocfield .= " selected";
                        }
                        $toprint_typdocfield .= ">" . htmlentities($libelle, ENT_QUOTES, $charset) . "</option>\n";
                    }
                }
                $toprint_typdocfield .= "</select>";
            } else {
                $toprint_typdocfield = "";
            }
            if ($opac_search_other_function) {
                $toprint_typdocfield .= search_other_function_filters();
            }
            $toprint_typdocfield .= "<br />";
            // 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("<!--!!typdoc_field!!-->", $toprint_typdocfield, $result);
            if ($opac_autolevel2) {
                $result = str_replace("!!action_simple_search!!", "./index.php?lvl=more_results&autolevel1=1", $result);
            } else {
                $result = str_replace("!!action_simple_search!!", "./index.php?lvl=search_result", $result);
            }
            if (!$opac_recherches_pliables) {
                $ou_chercher = "<div id='simple_search_zone'>" . do_ou_chercher() . "</div>";
            } elseif ($opac_recherches_pliables == 1) {
                $ou_chercher = "<div id='simple_search_zone'>" . gen_plus_form("zsimples", $msg["rechercher_dans"], do_ou_chercher(), false) . "</div>";
            } elseif ($opac_recherches_pliables == 2) {
                $ou_chercher = "<div id='simple_search_zone'>" . gen_plus_form("zsimples", $msg["rechercher_dans"], do_ou_chercher(), true) . "</div>";
            } elseif ($opac_recherches_pliables == 3) {
                // les options de recherches sont invisibles, pas dépliables.
                $ou_chercher = "\n" . do_ou_chercher_hidden() . "\n";
            }
            $result = str_replace("<!--!!ou_chercher!!-->", $ou_chercher, $result);
            // on se place dans le bon champ
            // $result .= form_focus("search_input", "query");
            $others = "";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            if ($opac_allow_term_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>";
            }
            if ($opac_allow_tags_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            if ($opac_allow_external_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $result = str_replace("!!others!!", $others, $result);
            $result .= $onglets_search_perso_form;
            break;
            //Recherche avancee
        //Recherche avancee
        case "extended_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->name . " " . $ourIndexint->comment . "'";
                            break;
                        case 'section_see':
                            $resultat = mysql_query("select location_libelle from docs_location where idlocation='" . addslashes($_SESSION["last_module_search"]["search_location"]) . "'");
                            $j = mysql_fetch_array($resultat);
                            $localisation_ = $j["location_libelle"];
                            mysql_free_result($resultat);
                            $resultat = mysql_query("select section_libelle from docs_section where idsection='" . addslashes($_SESSION["last_module_search"]["search_id"]) . "'");
                            $j = mysql_fetch_array($resultat);
                            $section_ = $j["section_libelle"];
                            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"];
                        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) {
                    search::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"]) {
                        search::unserialize_search($_SESSION["lq_facette_search"]["lq_search"]);
                    } else {
                        get_history($get_query);
                    }
                }
            }
            $es = new search();
            if ($onglet_persopac) {
                $search_form = $search_form_perso;
                global $search;
                if (!$search) {
                    $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();
            }
            $result = $es->show_form("./index.php?lvl={$lvl}&search_type_asked=extended_search", "./index.php?lvl=search_result&search_type_asked=extended_search");
            $others = "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>\n";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_term_search) {
                $others2 = "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>\n";
            } else {
                $others2 = "";
            }
            if ($opac_allow_tags_search) {
                $others2 .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others2 .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others2 .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others2 .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            if ($opac_allow_external_search) {
                $others2 .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $result = str_replace("!!others!!", $others, $result);
            $result = str_replace("!!others2!!", $others2, $result);
            $result = "<div id='search'>" . $result . "</div>";
            $result .= $onglets_search_perso_form;
            break;
            //Recherche avancee
        //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 = mysql_query("select location_libelle from docs_location where idlocation='" . addslashes($_SESSION["last_module_search"]["search_location"]) . "'");
                            $j = mysql_fetch_array($resultat);
                            $localisation_ = $j["location_libelle"];
                            mysql_free_result($resultat);
                            $resultat = mysql_query("select section_libelle from docs_section where idsection='" . addslashes($_SESSION["last_module_search"]["search_id"]) . "'");
                            $j = mysql_fetch_array($resultat);
                            $section_ = $j["section_libelle"];
                            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 < count($search); $i++) {
                        if ($search[$i] == "s_2") {
                            $flag_found = true;
                            break;
                        }
                    }
                    if (!$flag_found) {
                        //Pas trouve, on decale tout !!
                        for ($i = count($search) - 1; $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("<!--!!ou_chercher!!-->", do_ou_chercher(), $result);
                $result = str_replace("<!--!!sources!!-->", do_sources(), $result);
            }
            $others = "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>\n";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            if ($opac_allow_term_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>\n";
            }
            if ($opac_allow_tags_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            $others2 = "";
            $result = str_replace("!!others!!", $others, $result);
            $result = str_replace("!!others2!!", $others2, $result);
            $result = "<div id='search'>" . $result . "</div>";
            $result .= $onglets_search_perso_form;
            break;
            //Recherche par termes
        //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 = "\n\t\t\t<div id='search'>\n\t\t\t<ul class='search_tabs'>!!others!!" . ($opac_show_onglet_help ? "<li><a href=\"./index.php?lvl=infopages&pagesid={$opac_show_onglet_help}\">" . $msg["search_help"] . "</a></li>" : '') . "\n\t\t\t</ul>\n\t\t\t<div id='search_crl'></div>\n\t\t\t<form class='form-{$current_module}' name='term_search_form' method='post' action='./index.php?lvl={$lvl}&search_type_asked=term_search'>\n\t\t\t\t<div class='form-contenu'>\n\t\t\t\t<!-- sel_thesaurus -->\n\t\t\t\t\t\t\t<span class='libSearchTermes'>" . $msg["term_search_search_for"] . "</span><input type='text' class='saisie-50em' name='search_term' value='" . htmlentities(stripslashes($search_term), ENT_QUOTES, $charset) . "'>\n\t\t\t\t\t<!--\tBouton Rechercher -->\n\t\t\t\t\t\t<input type='submit' class='boutonrechercher' value='{$msg['142']}' onClick=\"this.form.page_search.value=''; this.form.term_click.value='';\"/>\n";
            if ($opac_show_help) {
                $search_form_term .= "<input type='submit' class='bouton' value='{$msg['search_help']}' onClick='window.open(\"help.php?whatis=search_terms\", \"search_help\", \"scrollbars=yes, toolbar=no, dependent=yes, width=400, height=400, resizable=yes\"); return false' />\n";
            }
            $search_form_term .= "<input type='hidden' name='term_click' value='" . htmlentities(stripslashes($term_click), ENT_QUOTES, $charset) . "'/>\n\t\t\t\t<input type='hidden' name='page_search' value='" . $page_search . "'/>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t\t<script type='text/javascript'>\n\t\t\t\tdocument.forms['term_search_form'].elements['search_term'].focus();\n\t\t\t\t</script>\n\t\t\t</div>\n\t\t\t";
            //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 = "<select class='saisie-30em' id='id_thes' name='id_thes' ";
                $sel_thesaurus .= "onchange = \"document.location = './index.php?lvl=index&search_type_asked=term_search&id_thes='+document.getElementById('id_thes').value; \">";
                foreach ($liste_thesaurus as $id_thesaurus => $libelle_thesaurus) {
                    $sel_thesaurus .= "<option value='" . $id_thesaurus . "' ";
                    if ($id_thesaurus == $id_thes) {
                        $sel_thesaurus .= " selected";
                    }
                    $sel_thesaurus .= ">" . htmlentities($libelle_thesaurus, ENT_QUOTES, $charset) . "</option>";
                }
                $sel_thesaurus .= "<option value=-1 ";
                if ($id_thes == -1) {
                    $sel_thesaurus .= "selected ";
                }
                $sel_thesaurus .= ">" . htmlentities($msg['thes_all'], ENT_QUOTES, $charset) . "</option>";
                $sel_thesaurus .= "</select>&nbsp;";
                $lien_thesaurus = "<a href='./autorites.php?categ=categories&sub=thes'>" . $msg[thes_lien] . "</a>";
            }
            $search_form_term = str_replace("<!-- sel_thesaurus -->", $sel_thesaurus, $search_form_term);
            $search_form_term = str_replace("<!-- lien_thesaurus -->", $lien_thesaurus, $search_form_term);
            $result = $search_form_term;
            $others = "";
            $others .= "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            $others .= "<li id='current'>" . $msg["search_by_terms"] . "</li>";
            if ($opac_allow_tags_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            if ($opac_allow_external_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $result = str_replace("!!others!!", $others, $result);
            $result .= "\n\t\t\t<a name='search_frame'/>\n\t\t\t<iframe style='border: solid 1px black;' name='term_search' class='frame_term_search' src='" . $base_path . "/term_browse.php?search_term=" . rawurlencode(stripslashes($search_term)) . "&term_click=" . rawurlencode(stripslashes($term_click)) . "&page_search={$page_search}&id_thes={$id_thes}' width='100%' height='" . $height . "'></iframe>\n\t\t\t<br /><br />";
            $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("<!--!!typdoc_field!!-->", "", $result);
            $result = str_replace("<!--!!ou_chercher!!-->", "", $result);
            // on se place dans le bon champ
            // $result .= form_focus("search_input", "query");
            $others = "";
            $others = "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>\n";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            if ($opac_allow_term_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>";
            }
            if ($opac_allow_tags_search) {
                $others .= "<li id='current'>" . $msg["tags_search"] . "</li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            if ($opac_allow_external_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $result = str_replace("!!others!!", $others, $result);
            // Ajout de la liste des tags
            if ($user_query == "") {
                $result .= "<h3><span>{$msg['search_result_for']}<b>" . htmlentities(stripslashes($user_query), ENT_QUOTES, $charset) . "</b></span></h3>";
                $tag = new tags();
                $result .= $tag->listeAlphabetique();
            }
            $result .= $onglets_search_perso_form;
            break;
            // *****************
            // Pour affichage compte emprunteur en onglet
        // *****************
        // Pour affichage compte emprunteur en onglet
        case "connect_empr":
            // les tests de formulaire
            $result = $search_input;
            $others = "";
            $others = "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>\n";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            if ($opac_allow_term_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>";
            }
            if ($opac_allow_tags_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li id='current'>" . $msg["onglet_empr_connect"] . "</li>";
                } else {
                    $others .= "<li id='current'>" . $msg["onglet_empr_compte"] . "</li>";
                }
            }
            if ($opac_allow_external_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $result = str_replace("!!account_or_form_empr_connect!!", affichage_onglet_compte_empr(), $result);
            $result = str_replace("!!others!!", $others, $result);
            $result .= $onglets_search_perso_form;
            break;
        case "search_perso":
            // les tests de formulaire
            $result = $search_input;
            $others = "";
            $others = "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>\n";
            if ($opac_allow_personal_search) {
                $others .= "<li id='current'>" . $msg["search_perso_menu"] . "</li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            if ($opac_allow_term_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>";
            }
            if ($opac_allow_tags_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li><a href=\"./index.php?search_type_asked=perio_a2z\">" . $msg["a2z_onglet"] . "</a></li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            if ($opac_allow_external_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $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 .= "<li><a href=\"./index.php?search_type_asked=simple_search\">" . $msg["simple_search"] . "</a></li>\n";
            if ($opac_allow_personal_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=search_perso\">" . $msg["search_perso_menu"] . "</a></li>";
            }
            $others .= $onglets_search_perso;
            if ($opac_allow_extended_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=extended_search\">" . $msg["extended_search"] . "</a></li>";
            }
            if ($opac_allow_term_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=term_search\">" . $msg["term_search"] . "</a></li>";
            }
            if ($opac_allow_tags_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=tags_search\">" . $msg["tags_search"] . "</a></li>";
            }
            if ($opac_show_onglet_perio_a2z) {
                $others .= "<li id='current'>" . $msg["a2z_onglet"] . "</li>";
            }
            if ($opac_show_onglet_empr == 1 || $opac_show_onglet_empr == 2 && $_SESSION["user_code"]) {
                if (!$_SESSION["user_code"]) {
                    $others .= "<li><a href=\"./index.php?search_type_asked=connect_empr\">" . $msg["onglet_empr_connect"] . "</a></li>";
                } else {
                    $others .= "<li><a href=\"{$empr_link_onglet}\">" . $msg["onglet_empr_compte"] . "</a></li>";
                }
            }
            if ($opac_allow_external_search) {
                $others .= "<li><a href=\"./index.php?search_type_asked=external_search&external_type=simple\">" . $msg["connecteurs_external_search"] . "</a></li>";
            }
            $result = str_replace("!!others!!", $others, $result);
            // affichage des _perio_a2z
            $a2z = new perio_a2z(0, $opac_perio_a2z_abc_search, $opac_perio_a2z_max_per_onglet);
            $a2z_form = $a2z->get_form();
            $a2z_form .= $onglets_search_perso_form;
            $result = str_replace("!!contenu!!", $a2z_form, $result);
            break;
    }
    return $result;
}
Ejemplo n.º 2
0
                $flag_found = true;
                break;
            }
        }
        if ($flag_found) {
            $source = $field_0_s_2;
            //On décale tout !!
            for ($i = 0; $i < count($search) - 1; $i++) {
                $search[$i] = $search[$i + 1];
                decale("field_" . ($i + 1) . "_" . $search[$i], "field_" . $i . "_" . $search[$i]);
                decale("op_" . ($i + 1) . "_" . $search[$i], "op_" . $i . "_" . $search[$i]);
                decale("inter_" . ($i + 1) . "_" . $search[$i], "inter_" . $i . "_" . $search[$i]);
                decale("fieldvar_" . ($i + 1) . "_" . $search[$i], "fieldvar_" . $i . "_" . $search[$i]);
            }
            //On efface le dernier
            unset($search[$i]);
        }
    }
    $sources = do_sources();
}
if (isset($notice_id)) {
    $notice_id_info = "&notice_id=" . $notice_id;
} else {
    $notice_id_info = "";
}
$form_to_show = $sc->show_form("./catalog.php?categ=search&mode=7" . $notice_id_info, "./catalog.php?categ=search&mode=7&sub=launch" . $notice_id_info);
if ($_SESSION["ext_type"] == "simple") {
    $form_to_show = str_replace("<!--!!precise_h3!!-->", "<div class='right' style='font-size:0.8em'>" . sprintf($msg["connecteurs_search_multi"], "catalog.php?categ=search&mode=7&external_type=multi" . $notice_id_info) . "</div>", $form_to_show);
    $form_to_show = str_replace("<!--!!before_form!!-->", "<h3>" . $msg["connecteurs_source_label"] . "</h3>\n" . $sources . "<h3>" . $msg["connecteurs_external_criterias"] . "</h3>", $form_to_show);
}
print $form_to_show;