function search_title() { global $typdoc; global $charset; $search_title = new searcher_title(stripslashes($this->user_query)); $notices = $search_title->get_result(); $nb_result_titres = $search_title->get_nb_results(); $l_typdoc = implode(",", $search_title->get_typdocs()); $mode = "title"; //définition du formulaire $form = "<form name=\"search_objects\" action=\"./index.php?lvl=more_results\" method=\"post\">"; if (function_exists("search_other_function_post_values")) { $form .= search_other_function_post_values(); } $form .= "\n\t\t \t<input type=\"hidden\" name=\"mode\" value=\"title\">\n\t\t \t<input type=\"hidden\" name=\"search_type_asked\" value=\"simple_search\">\n\t\t \t<input type=\"hidden\" name=\"typdoc\" value=\"" . $typdoc . "\">\n\t\t \t<input type=\"hidden\" name=\"count\" value=\"" . $nb_result_titres . "\">\n\t\t \t<input type=\"hidden\" name=\"user_query\" value=\"" . htmlentities(stripslashes($this->user_query), ENT_QUOTES, $charset) . "\">\n\t\t \t<input type=\"hidden\" name=\"l_typdoc\" value=\"" . htmlentities($l_typdoc, ENT_QUOTES, $charset) . "\">\n\t\t \t</form>"; if ($nb_result_titres) { $_SESSION["level1"]["title"]["form"] = $form; $_SESSION["level1"]["title"]["count"] = $nb_result_titres; } return $nb_result_titres; }
$field = "field_0_" . $search[0]; $field_ = array(); $field_[0] = $code; 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_}; } else { searcher_title::convert_simple_multi_unimarc($_SESSION["CURRENT"]); } break; case "1": searcher_subject::convert_simple_multi_unimarc($_SESSION["CURRENT"]); break; case "3": searcher_publisher::convert_simple_multi_unimarc($_SESSION["CURRENT"]); break; } } else { if ($external_env) { $external_env = unserialize(stripslashes($external_env)); foreach ($external_env as $varname => $varvalue) { global ${$varname}; ${$varname} = $varvalue;
function make_unimarc_query() { global $search; //Récupération de la valeur de saisie $valeur_ = "field_" . $this->n_ligne . "_s_" . $this->id; global ${$valeur_}; $valeur = ${$valeur_}; if (!$this->is_empty($valeur)) { //enregistrement de l'environnement courant $this->search->push(); //Récupération et mise en variables globales des valeurs de l'historique if ($_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"]["search"][0]) { $search = $_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"]["search"]; //Pour chaque champ for ($i = 0; $i < count($search); $i++) { //Récupération de l'opérateur $op = "op_" . $i . "_" . $search[$i]; global ${$op}; ${$op} = $_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"][$op]; //Récupération du contenu de la recherche $field_ = "field_" . $i . "_" . $search[$i]; global ${$field_}; ${$field_} = $_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"][$field_]; $field = ${$field_}; //Récupération de l'opérateur inter-champ $inter = "inter_" . $i . "_" . $search[$i]; global ${$inter}; ${$inter} = $_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"][$inter]; //Récupération des variables auxiliaires $fieldvar_ = "fieldvar_" . $i . "_" . $search[$i]; global ${$fieldvar_}; ${$fieldvar_} = $_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"][$fieldvar_]; $fieldvar = ${$fieldvar_}; } } else { if (!$_SESSION["session_history"][$valeur[0]]["NOTI"]["GET"]["idcaddie"]) { switch ($_SESSION["session_history"][$valeur[0]]["NOTI"]["GET"]["mode"]) { case 0: searcher_title::convert_simple_multi($valeur[0]); break; case 1: searcher_subject::convert_simple_multi($valeur[0]); break; case 2: searcher_publisher::convert_simple_multi($valeur[0]); break; } } else { $op_ = "EQ"; $valeur_champ = $_SESSION["session_history"][$valeur[0]]["NOTI"]["GET"]["idcaddie"]; $search[0] = "f_11"; //opérateur $op = "op_0_" . $search[0]; global ${$op}; ${$op} = $op_; //contenu de la recherche $field = "field_0_" . $search[0]; $field_ = array(); $field_[0] = $valeur_champ; 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_}; } } //on instancie la classe search avec le nom de la nouvelle table temporaire if ($_SESSION["session_history"][$valeur[0]]["QUERY"]["POST"]["search"][0]) { $sc = new search(false); } else { $sc = new search(false, "search_simple_fields"); } $mt = $sc->make_unimarc_query(); //restauration de l'environnement courant $this->search->pull(); return $mt; } }
case "tous": $searcher = new searcher_all_fields(stripslashes($user_query)); if (!empty($_SESSION["last_sortnotices"])) { $cart_sort = $_SESSION["last_sortnotices"]; } else { $cart_sort = "default"; } $notices = $searcher->get_sorted_cart_result($cart_sort, 0, $opac_max_cart_items); if (count($notices)) { $notices = implode(",", $notices); } add_notices_to_cart($notices); break; case "title": case "titre": $searcher = new searcher_title(stripslashes($user_query)); if (!empty($_SESSION["last_sortnotices"])) { $cart_sort = $_SESSION["last_sortnotices"]; } else { $cart_sort = "default"; } $notices = $searcher->get_sorted_cart_result($cart_sort, 0, $opac_max_cart_items); if (count($notices)) { $notices = implode(",", $notices); } add_notices_to_cart($notices); break; case "keyword": $searcher = new searcher_keywords(stripslashes($user_query)); if (!empty($_SESSION["last_sortnotices"])) { $cart_sort = $_SESSION["last_sortnotices"];
print pmb_bidi("<h3><span>{$count} {$msg['titles_found']} '" . htmlentities(stripslashes($user_query), ENT_QUOTES, $charset) . "'"); if ($opac_search_other_function) { require_once $include_path . "/" . $opac_search_other_function; print pmb_bidi(" " . search_other_function_human_query($_SESSION["last_query"])); } print "</span>"; print activation_surlignage(); print "</h3>"; //gestion du tri if (isset($_GET["sort"])) { $_SESSION["last_sortnotices"] = $_GET["sort"]; } if ($count > $opac_nb_max_tri) { $_SESSION["last_sortnotices"] = ""; } $searcher = new searcher_title(stripslashes($user_query)); //on récupère le nombre de documents numériques associés si la visionneuse est activée..; if ($opac_visionneuse_allow) { $nbexplnum_to_photo = $searcher->get_nb_explnums(); } if ($count) { if (isset($_SESSION["last_sortnotices"]) && $_SESSION["last_sortnotices"] !== "") { $notices = $searcher->get_sorted_result($_SESSION["last_sortnotices"], $debut, $opac_search_results_per_page); } else { $notices = $searcher->get_sorted_result("default", $debut, $opac_search_results_per_page); } } if (!$opac_allow_affiliate_search) { print "\n\t\t\t</div>"; } print "\n\t\t\t<div id=\"resultatrech_liste\">";
<?php // +-------------------------------------------------+ // © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +-------------------------------------------------+ // $Id: title.inc.php,v 1.40 2013-10-30 15:00:55 dgoron Exp $ if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) { die("no access"); } // premier niveau de recherche OPAC sur titre // inclusion classe pour affichage notices (level 1) require_once $base_path . '/includes/templates/notice.tpl.php'; require_once $base_path . '/classes/notice.class.php'; require_once $class_path . "/searcher.class.php"; $search_title = new searcher_title(stripslashes($user_query)); $notices = $search_title->get_result(); $nb_result_titres = $search_title->get_nb_results(); $l_typdoc = implode(",", $search_title->get_typdocs()); //définition du formulaire $form = "<form name=\"search_objects\" action=\"./index.php?lvl=more_results\" method=\"post\">"; if (function_exists("search_other_function_post_values")) { $form .= search_other_function_post_values(); } $form .= "\n \t<input type=\"hidden\" name=\"mode\" value=\"title\">\n \t<input type=\"hidden\" name=\"typdoc\" value=\"" . $typdoc . "\">\n \t<input type=\"hidden\" name=\"count\" value=\"" . $nb_result_titres . "\">\n \t<input type=\"hidden\" name=\"user_query\" value=\"" . htmlentities(stripslashes($user_query), ENT_QUOTES, $charset) . "\">\n \t<input type=\"hidden\" name=\"l_typdoc\" value=\"" . htmlentities($l_typdoc, ENT_QUOTES, $charset) . "\">\n \t</form>"; if ($opac_allow_affiliate_search) { $search_result_affiliate_all = str_replace("!!mode!!", "title", $search_result_affiliate_lvl1); $search_result_affiliate_all = str_replace("!!search_type!!", "notices", $search_result_affiliate_all); $search_result_affiliate_all = str_replace("!!label!!", $msg['titles'], $search_result_affiliate_all); $search_result_affiliate_all = str_replace("!!nb_result!!", $nb_result_titres, $search_result_affiliate_all); if ($nb_result_titres) { $link = "<a href='#' onclick=\"document.search_objects.action = './index.php?lvl=more_results&tab=catalog'; document.search_objects.submit();return false;\">" . $msg['suite'] . " <img src='./images/search.gif' border='0' align='absmiddle'/></a>";
print pmb_bidi("<h3><span>{$count} {$msg['titles_found']} '" . htmlentities(stripslashes($user_query), ENT_QUOTES, $charset) . "'"); if ($opac_search_other_function) { require_once $include_path . "/" . $opac_search_other_function; print pmb_bidi(" " . search_other_function_human_query($_SESSION["last_query"])); } print "</span>"; print activation_surlignage(); print "</h3>"; //gestion du tri if (isset($_GET["sort"])) { $_SESSION["last_sortnotices"] = $_GET["sort"]; } if ($count > $opac_nb_max_tri) { $_SESSION["last_sortnotices"] = ""; } $searcher = new searcher_title(stripslashes($user_query)); //print $searcher->get_current_search_map(0); //on récupère le nombre de documents numériques associés si la visionneuse est activée..; if ($opac_visionneuse_allow) { $nbexplnum_to_photo = $searcher->get_nb_explnums(); } if ($count) { if (isset($_SESSION["last_sortnotices"]) && $_SESSION["last_sortnotices"] !== "") { $notices = $searcher->get_sorted_result($_SESSION["last_sortnotices"], $debut, $opac_search_results_per_page); } else { $notices = $searcher->get_sorted_result("default", $debut, $opac_search_results_per_page); } if (count($notices)) { $_SESSION['tab_result_current_page'] = implode(",", $notices); } else { $_SESSION['tab_result_current_page'] = "";
$message = $msg["cart_full"]; } } else { if ($lvl) { switch ($lvl) { case "more_results": //changement de plan ! switch ($mode) { case "tous": $searcher = new searcher_all_fields(stripslashes($user_query)); $notices = $searcher->get_result(); add_notices_to_cart($notices); break; case "title": case "titre": $searcher = new searcher_title(stripslashes($user_query)); $notices = $searcher->get_result(); add_notices_to_cart($notices); break; case "keyword": $searcher = new searcher_keywords(stripslashes($user_query)); $notices = $searcher->get_result(); add_notices_to_cart($notices); break; case "abstract": $searcher = new searcher_abstract(stripslashes($user_query)); $notices = $searcher->get_result(); add_notices_to_cart($notices); break; case "extended": $es = new search();