function sru_search($q, $limit = 20, $start = 1, $order = 'descending', $sortBy = 'year', $showAuthor = false) { global $config; //oppretter URL til KOHA med cql $xml_url = getSRUURL($q, $start, $limit); //sti til XSL $xsl_url = '../xsl/boklistesru.xsl'; //henter XML-data $xml_data = file_get_contents($xml_url) or exit("Feil"); //fjerner namespace $xml_data = str_replace("<record xmlns=\"http://www.loc.gov/MARC21/slim\">", "<record>", $xml_data); //oppretter DOM-dok med XML-data $xml = new DOMDocument(); $xml->loadXML($xml_data); //teller antallet <recordData>-noder (antall søketreff) $nodeList = $xml->getElementsByTagName('recordData'); $hits = $nodeList->length; if ($hits > 0) { //parametere til XSL $params = array(array('namespace' => '', 'name' => 'url_ext', 'value' => "type=sru"), array('namespace' => '', 'name' => 'sortBy', 'value' => $sortBy), array('namespace' => '', 'name' => 'order', 'value' => $order), array('namespace' => '', 'name' => 'target', 'value' => "remote"), array('namespace' => '', 'name' => 'visForfatter', 'value' => $showAuthor), array('namespace' => '', 'name' => 'showHits', 'value' => "false"), array('namespace' => '', 'name' => 'item_url', 'value' => $config['libraries'][$_GET['bib']]['item_url'])); //transformerer til HTML return transformToHTML($xml, $xsl_url, $params); } else { return false; } }
//henter XML-data $xml_data = file_get_contents($xml_url) or exit("Feil"); //fjerner namespace $xml_data = str_replace("<record xmlns=\"http://www.loc.gov/MARC21/slim\">", "<record>", $xml_data); //oppretter DOM-dok med XML-data $xml = new DOMDocument(); $xml->loadXML($xml_data); //teller antallet <recordData>-noder (antall søketreff) $nodeList = $xml->getElementsByTagName('recordData'); $hits = $nodeList->length; // Sjekk om sidetallet er satt. Hvis ikke: sett det til 1 $page = !empty($_GET['page']) ? $_GET['page'] : 1; //parametere til XSL $params = array(array('namespace' => '', 'name' => 'url_ext', 'value' => "{$geoId}&place={$place}&bib=" . $_GET['bib']), array('namespace' => '', 'name' => 'sortBy', 'value' => $sortBy), array('namespace' => '', 'name' => 'order', 'value' => $order), array('namespace' => '', 'name' => 'page', 'value' => $page), array('namespace' => '', 'name' => 'perPage', 'value' => $config['mainPerPage']), array('namespace' => '', 'name' => 'limit', 'value' => $config['main_limit']), array('namespace' => '', 'name' => 'querystring', 'value' => get_querystring($_SERVER['QUERY_STRING'])), array('namespace' => '', 'name' => 'target', 'value' => "local")); //transformerer til HTML echo transformToHTML($xml, $xsl_url, $params); } else { echo "Something is wrong\n"; } } //lagrer tid etter søk, differanse er tid løpt $time = microtime(); $time = explode(' ', $time); $finish = $time[1] + $time[0]; $searchTime = round($finish - $search_start, 4); $search_time = "Søket tok {$searchTime} sekunder."; } echo '</div>'; } else { if (!isset($_GET['about'])) { ?>