Ejemplo n.º 1
0
 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;
     }
 }
Ejemplo n.º 2
0
 function make_unimarc_query()
 {
     //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();
         //on instancie la classe search avec le nom de la nouvelle table temporaire
         switch ($_SESSION["search_type" . $valeur[0]]) {
             case 'simple_search':
                 global $search;
                 switch ($_SESSION["notice_view" . $valeur[0]]["search_mod"]) {
                     case 'title':
                         $search[0] = "f_6";
                         $op_ = "BOOLEAN";
                         $valeur_champ = $_SESSION["user_query" . $valeur[0]];
                         break;
                     case 'all':
                         $search[0] = "f_7";
                         $op_ = "BOOLEAN";
                         $valeur_champ = $_SESSION["user_query" . $valeur[0]];
                         break;
                     case 'abstract':
                         $search[0] = "f_13";
                         $op_ = "BOOLEAN";
                         $valeur_champ = $_SESSION["user_query" . $valeur[0]];
                         break;
                     case 'keyword':
                         $search[0] = "f_12";
                         $op_ = "BOOLEAN";
                         $valeur_champ = $_SESSION["user_query" . $valeur[0]];
                         break;
                     case 'author_see':
                         $search[0] = "f_8";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                     case 'categ_see':
                         $search[0] = "f_1";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                     case 'indexint_see':
                         $search[0] = "f_2";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                     case 'coll_see':
                         $search[0] = "f_4";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                     case 'publisher_see':
                         $search[0] = "f_3";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                     case 'subcoll_see':
                         $search[0] = "f_5";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                     case 'titre_uniforme_see':
                         $search[0] = "f_6";
                         $op_ = "EQ";
                         $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                         break;
                 }
                 //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_};
                 $es = new search("search_simple_fields");
                 break;
             case 'extended_search':
                 get_history($valeur[0]);
                 $es = new search();
                 break;
             case 'term_search':
                 global $search;
                 $search[0] = "f_1";
                 $op_ = "EQ";
                 $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                 //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_};
                 $es = new search("search_simple_fields");
                 break;
             case 'module':
                 global $search;
                 switch ($_SESSION["notice_view" . $valeur[0]]["search_mod"]) {
                     case 'categ_see':
                         $search[0] = "f_1";
                         break;
                     case 'indexint_see':
                         $search[0] = "f_2";
                         break;
                     case 'etagere_see':
                         $search[0] = "f_14";
                         break;
                     case 'section_see':
                         $search[0] = "f_15";
                         global $search_localisation;
                         $search_localisation = $_SESSION["notice_view" . $valeur[0]]["search_location"];
                         break;
                 }
                 $op_ = "EQ";
                 $valeur_champ = $_SESSION["notice_view" . $valeur[0]]["search_id"];
                 //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 attention pour la section
                 ${$fieldvar_} = "";
                 $fieldvar = ${$fieldvar_};
                 $es = new search("search_simple_fields");
                 break;
         }
         $mt = $es->make_unimarc_query();
         //restauration de l'environnement courant
         $this->search->pull();
     }
     return $mt;
 }