function doOneHost($host, $hits, $id) { global $gotISBN; global $gotLCCN; global $gotLoc; global $gotPub; global $gotDate; global $lookLoc; global $postVars; $rslt = array(); for ($hit = 1; $hit <= $hits[$host]; $hit++) { //print "handling record #$hit of $hits[$host] for host #$host <br />"; //print_r($postVars[hosts][$host]);echo "<br />"; $ar = yaz_record($id[$host], $hit, "array"); //if ($host > 0) { // echo "ar:<br />";print_r($ar); echo "<br />"; //} if (!empty($ar)) { $formName = "hitForm" . $host . "_" . $hit; $rec = yaz_record($id[$host], $hit, 'string'); ## make sense of the received MARC records $rslt[$hit] = extract_marc_fields($ar, true, $hit, $host); // an array of hits //## deal with local opts like call numbers, etc. //$rslt[$hit] = postProcess($rslt[$hit]); } ## clear flags for a repeated use unset($gotISBN[$hit]); unset($gotLCCN[$hit]); unset($gotPub[$hit]); unset($gotLoc[$hit]); unset($gotDate[$hit]); } return $rslt; }
function _getLookupResult($server, $isbn) { // Now support YAZ only $query = '@attr 1=7 ' . $isbn; $conn = yaz_connect($server['host'], array('user' => $server['user'], 'password' => $server['pw'])); if (!$conn) { return false; } yaz_database($conn, $server['db']); yaz_syntax($conn, "usmarc"); yaz_element($conn, "F"); if (!yaz_search($conn, 'rpn', $query)) { return false; } yaz_wait(); $error = yaz_error($conn); if (!empty($error)) { return false; } if (yaz_hits($conn) < 1) { return false; } // For bulk actions, auto select first record require_once "../lookup2/lookupYazFunc.php"; $data = extract_marc_fields(yaz_record($conn, 1, 'array'), true, 1, 1); return $data['856u']; }
function _getLookupResult($server, $isbn) { // Now support YAZ only. $query = '@attr 1=7 ' . $isbn; $conn = yaz_connect($server['host'], array('user' => $server['user'], 'password' => $server['pw'])); if (!$conn) { return array('error' => 'could not connect lookup'); } yaz_database($conn, $server['db']); yaz_syntax($conn, "usmarc"); yaz_element($conn, "F"); //echo "sending: $qry <br />"; if (!yaz_search($conn, 'rpn', $query)) { return array('error' => 'bad query'); } $param = array('timeout' => 5); yaz_wait($param); $error = yaz_error($conn); if (!empty($error)) { return array('error' => 'lookup response error (' . yaz_errno($conn) . ') : ' . yaz_addinfo($conn)); } if (yaz_hits($conn) < 1) { return array('error' => 'no result'); } // For bulk actions, auto select first record require_once "../lookup2/lookupYazFunc.php"; $data = extract_marc_fields(yaz_record($conn, 1, 'array'), true, 1, 1, $server['charset']); if (empty($data['callNmbr1']) && empty($data['050a']) || empty($data['100a'])) { // Require callNmbr1, continue search return array('error' => 'no result'); } return $data; }