Exemplo n.º 1
0
             $check_facette[] = json_encode(array($name, $value, $champ, $ss_champ));
         }
     } else {
         //le tableau est addslashé automatiquement
         foreach ($check_facette as $k => $v) {
             $check_facette[$k] = stripslashes($v);
         }
     }
     facettes::checked_facette_search($check_facette);
     $_SESSION["lq_facette"] = $_SESSION["facette"];
     $_SESSION["lq_facette_search"]["lq_search"] = search::serialize_search();
 } else {
     if ($from_see == 1 && $filtre_compare == "compare") {
         //from_see est un élément posté dans un formulaire d'une page d'autorité
         //il flage l'origine qui nécessite une reconstruction de l'environnement de la multi-critère pour faire les filtres multiples ou le comparateur
         facettes::make_facette_search_env();
     }
 }
 $lib_recherche = $es->make_human_query();
 $searcher = new searcher_extended();
 if ($opac_visionneuse_allow) {
     $nbexplnum_to_photo = $searcher->get_nb_explnums();
 }
 $count = $searcher->get_nb_results();
 $l_typdoc = implode(",", $searcher->get_typdocs());
 // La variable global $l_typdoc est utilisée pour la photothèque
 //Enregistrement des stats
 if ($pmb_logs_activate) {
     global $nb_results_tab;
     $nb_results_tab['extended'] = $count;
 }
Exemplo n.º 2
0
 public static function checked_facette_search($check_facette)
 {
     global $param_delete_facette, $charset;
     if (!is_array($_SESSION['facette'])) {
         $_SESSION['facette'] = array();
     }
     //Suppression facette
     if ($param_delete_facette != "") {
         //On évite le rafraichissement de la page
         if (isset($_SESSION['facette'][$param_delete_facette])) {
             unset($_SESSION['facette'][$param_delete_facette]);
             $_SESSION['facette'] = array_values($_SESSION['facette']);
         }
     } else {
         $tmpArray = array();
         foreach ($check_facette as $k => $v) {
             $check_facette[$k] = json_decode($v);
             //json_encode/decode ne fonctionne qu'avec des données utf-8
             if ($charset != 'utf-8') {
                 foreach ($check_facette[$k] as $key => $value) {
                     $check_facette[$k][$key] = utf8_decode($check_facette[$k][$key]);
                 }
             }
             foreach ($check_facette[$k] as $key => $value) {
                 $check_facette[$k][$key] = stripslashes($check_facette[$k][$key]);
             }
         }
         foreach ($check_facette as $k => $v) {
             $ajout = true;
             if (count($tmpArray)) {
                 foreach ($tmpArray as $k2 => $v2) {
                     if ($v2[2] == $v[2] && $v2[3] == $v[3]) {
                         $tmpArray[$k2][1][] = $v[1];
                         $ajout = false;
                         break;
                     }
                 }
             }
             if ($ajout) {
                 $tmpItem = array();
                 $tmpItem[0] = $v[0];
                 $tmpItem[1] = array($v[1]);
                 $tmpItem[2] = $v[2];
                 $tmpItem[3] = $v[3];
                 $tmpArray[] = $tmpItem;
             }
         }
         //ajout facette : on vérifie qu'elle n'est pas déjà en session (rafraichissement page)
         if (count($_SESSION['facette'])) {
             foreach ($_SESSION['facette'] as $k => $v) {
                 if ($tmpArray == $v) {
                     $trouve = true;
                     break;
                 }
             }
         }
         if (!$trouve) {
             $_SESSION['facette'][] = $tmpArray;
         }
     }
     facettes::make_facette_search_env();
 }