Пример #1
0
<?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";
    }
Пример #2
0
 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;
             }
         }
     }
 }