예제 #1
0
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;
    }
}
예제 #2
0
                 //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'])) {
         ?>