public function get_datas() { global $dbh; global $user_query; global $opac_autolevel2, $mode, $get_last_query; if (!$this->datas) { $selector = $this->get_selected_selector(); if ($selector) { $query = "select managed_module_box from cms_managed_modules join cms_cadres on id_cadre = " . $this->cadre_parent . " and cadre_object = managed_module_name"; $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { $box = pmb_mysql_result($result, 0, 0); $infos = unserialize($box); $server = $infos['module']['servers'][$selector->get_value()]; } $type_page = cms_module_common_datasource_typepage_opac::get_type_page(); $server['page']['type'] = cms_module_common_datasource_typepage_opac::get_label($type_page); $ss_type_page = cms_module_common_datasource_typepage_opac::get_subtype_page(); $server['page']['subtype'] = cms_module_common_datasource_typepage_opac::get_label($ss_type_page); if ($_SESSION['id_empr_session']) { //récupération des informations liés au lecteur $query = "select empr_year, empr_sexe, empr_categ.libelle as categ, empr_codestat.libelle as codestat, location_libelle as location , empr_ville from empr join empr_categ on id_categ_empr = empr_categ join empr_codestat on idcode = empr_codestat join docs_location on idlocation = empr_location where id_empr = " . $_SESSION['id_empr_session']; $result = pmb_mysql_query($query, $dbh); if (pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { $server['visitor']['year'] = $row->year; $server['visitor']['categ'] = $row->categ; $server['visitor']['codestat'] = $row->codestat; $server['visitor']['location'] = $row->location ? $row->location : $row->empr_ville; $server['visitor']['sexe'] = $row->empr_sexe; } } } //tracking de recherche switch ($type_page) { //recherche case "1": break; //résultats //résultats case "2": switch ($ss_type_page) { case "204": //recherche externe global $nb_result_partial; $server['search']['user_query'] = $user_query; $server['search']['type'] = $_SESSION['search_type']; $server['search']['count'] = $nb_result_partial; break; case "202": case "206": //RMC - Prédéfinie global $searcher_extended; $server['search']['user_query'] = strip_tags($_SESSION['human_query' . $_SESSION['nb_queries']]); $server['search']['type'] = $_SESSION['search_type' . $_SESSION['nb_queries']]; $server['search']['count'] = $searcher_extended->get_nb_results(); break; case "201": case "207": default: //simple if (isset($user_query) && $user_query) { if (!$_SESSION['level1' . $_SESSION['nb_queries']]) { $server['search']['user_query'] = $user_query; $server['search']['type'] = $_SESSION['search_type']; $server['search']['count'] = 0; } else { $server['search']['user_query'] = $user_query; if (count($_SESSION['level1']) > 1) { $server['search']['type'] = $_SESSION['search_type'] . " / tous"; $server['search']['count'] = $_SESSION['level1']['tous']['count']; } else { if (count($_SESSION['level1']) == 1) { foreach ($_SESSION['level1'] as $lvl => $level1) { $server['search']['type'] = $_SESSION['search_type'] . " / " . $lvl; $server['search']['count'] = $_SESSION['level1'][$lvl]['count']; } } else { $server['search']['type'] = $_SESSION['search_type'] . " / tous"; $server['search']['count'] = $_SESSION['level1']['tous']['count']; } } } } break; } break; //résultats notices //résultats notices case "3": if ($opac_autolevel2 == 2 && !$get_last_query) { switch ($ss_type_page) { //simple case "301": case "302": default: if (isset($user_query) && $user_query && !isset($_GET['page']) && !isset($_POST['page'])) { if (!$_SESSION['level1' . $_SESSION['nb_queries']]) { $server['search']['user_query'] = $user_query; $server['search']['type'] = $_SESSION['search_type']; $server['search']['count'] = 0; } else { $server['search']['user_query'] = $user_query; $server['search']['type'] = $_SESSION['search_type'] . " / " . $mode; $server['search']['count'] = $_SESSION['level1' . $_SESSION['nb_queries']][$mode]['count']; } } break; } } break; //résultats autorités //résultats autorités case "4": global $count; switch ($ss_type_page) { case "408": //recherche par tag if (!isset($_GET['page']) && !isset($_POST['page'])) { $server['search']['type'] = $_SESSION['search_type']; $server['search']['user_query'] = $user_query; $server['search']['count'] = $count; } } break; } $this->datas = $server; } } return $this->datas; }
public function get_datas() { global $opac_url_base; global $opac_show_book_pics; global $opac_book_pics_url; global $dbh; //on commence par récupérer le type et le sous-type de page... $type_page_opac = cms_module_common_datasource_typepage_opac::get_type_page(); $subtype_page_opac = cms_module_common_datasource_typepage_opac::get_subtype_page(); if ($type_page_opac && $subtype_page_opac) { $group_metadatas = parent::get_group_metadatas(); $datas = array(); $query = $this->get_query(); if ($query) { $post = $_POST; $get = $_GET; if ($post['lvl']) { $niveau = $post['lvl']; } elseif ($get['lvl']) { $niveau = $get['lvl']; } else { $niveau = ''; } $result = pmb_mysql_query($query, $dbh); while ($row = pmb_mysql_fetch_object($result)) { $datas["id"] = $row->id; $datas["title"] = $row->title; $datas["resume"] = $row->resume; if ($opac_show_book_pics == '1' && ($opac_book_pics_url || $row->logo_url)) { $code_chiffre = pmb_preg_replace('/-|\\.| /', '', $row->code); $url_image = $opac_book_pics_url; $url_image = $opac_url_base . "getimage.php?url_image=" . urlencode($url_image) . "¬icecode=!!noticecode!!&vigurl=" . urlencode($row->logo_url); if ($row->logo_url) { $url_vign = $row->logo_url; } else { if ($code_chiffre) { $url_vign = str_replace("!!noticecode!!", $code_chiffre, $url_image); } else { $url_vign = $opac_url_base . "images/vide.png"; } } } $datas["logo_url"] = $url_vign; $datas["link"] = $opac_url_base . "index.php?lvl=" . $niveau . "&id=" . $row->id; $datas["type"] = $row->type; } } $datas["details"] = array('type_page' => cms_module_common_datasource_typepage_opac::get_label($type_page_opac), 'subtype_page' => cms_module_common_datasource_typepage_opac::get_label($subtype_page_opac)); $datas = array_merge($datas, parent::get_datas()); foreach ($group_metadatas as $i => $metadatas) { if (is_array($metadatas["metadatas"])) { foreach ($metadatas["metadatas"] as $key => $value) { try { $group_metadatas[$i]["metadatas"][$key] = H2o::parseString($value)->render($datas); } catch (Exception $e) { } } } } return $group_metadatas; } return false; }