<?php // +-------------------------------------------------+ // © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +-------------------------------------------------+ // $Id: alert_see.inc.php,v 1.4 2015-04-03 11:16:17 jpermanne Exp $ if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) { die("no access"); } // fonctions de conversion simple2mc require_once $include_path . "/search_queries/specials/combine/search.class.php"; // Gestion des alertes à partir de la recherche simple $mc = combine_search::simple2mc($_SESSION['last_query']); $field_0_s_4[] = serialize(array('serialized_search' => $mc['serialized_search'], 'search_type' => $mc['search_type'])); unset($search); $op_0_s_4 = "EQ"; $inter_0_s_4 = ""; $search[0] = "s_4"; if ($_SESSION['opac_view']) { $query = "select opac_view_query from opac_views where opac_view_id = " . $_SESSION['opac_view']; $result = pmb_mysql_query($query, $dbh); if ($result && pmb_mysql_num_rows($result)) { $row = pmb_mysql_fetch_object($result); $serialized = $row->opac_view_query; } if ($serialized) { $field_1_s_4[] = serialize(array('serialized_search' => $serialized, 'search_type' => "search_fields")); $op_1_s_4 = "EQ"; $inter_1_s_4 = "and"; $search[1] = "s_4"; }
function unhistorize_search() { global $include_path, $search; $es = new search(); $trouveHistoriqueDansCriteres = true; while ($trouveHistoriqueDansCriteres) { $trouveHistoriqueDansCriteres = false; for ($i = 0; $i < count($search); $i++) { $s = explode("_", $search[$i]); $sf = $es->specialfields[$s[1]]; if ($s[0] == "s" && $sf["TYPE"] == "combine") { $trouveHistoriqueDansCriteres = true; require_once $include_path . "/search_queries/specials/combine/search.class.php"; $sf = $es->specialfields[$s[1]]; $specialclass = new combine_search($s[1], $i, $sf, $es); $specialSearch = unserialize($specialclass->serialize_search()); $maxX = count($specialSearch["SEARCH"]) - 1; for ($x = $maxX; $x >= 0; $x--) { if ($x != $maxX) { $maxY = count($search) - 1; for ($y = $maxY; $y >= $i; $y--) { $search[$y + 1] = $search[$y]; $newField = "field_" . ($y + 1) . "_" . $search[$i]; $oldField = "field_" . $y . "_" . $search[$i]; $newOp = "op_" . ($y + 1) . "_" . $search[$i]; $oldOp = "op_" . $y . "_" . $search[$i]; $newFieldvar = "fieldvar_" . ($y + 1) . "_" . $search[$i]; $oldFieldvar = "fieldvar_" . $y . "_" . $search[$i]; $newInter = "inter_" . ($y + 1) . "_" . $search[$i]; $oldInter = "inter_" . $y . "_" . $search[$i]; global ${$oldField}, ${$oldOp}, ${$oldFieldvar}, ${$oldInter}; global ${$newField}, ${$newOp}, ${$newFieldvar}, ${$newInter}; ${$newField} = ${$oldField}; ${$newOp} = ${$oldOp}; ${$newFieldvar} = ${$oldFieldvar}; ${$newInter} = ${$oldInter}; } } $search[$i] = $specialSearch["SEARCH"][$x]; $field = "field_" . $i . "_" . $specialSearch["SEARCH"][$x]; $op = "op_" . $i . "_" . $specialSearch["SEARCH"][$x]; $var = "var_" . $i . "_" . $specialSearch["SEARCH"][$x]; $inter = "inter_" . $i . "_" . $specialSearch["SEARCH"][$x]; global ${$field}, ${$op}, ${$var}, ${$inter}; ${$field} = $specialSearch[$x]["FIELD"]; $s = explode("_", $search[$i]); $sf = $es->specialfields[$s[1]]; if ($s[0] == "s" && $sf["TYPE"] == "facette") { ${$field} = array(serialize(${$field})); } ${$op} = $specialSearch[$x]["OP"]; ${$fieldvar} = $specialSearch[$x]["FIELDVAR"]; ${$inter} = $specialSearch[$x]["INTER"]; } break; } } } }