//showMeComplex("using host #$ptr",$postVars[hosts][$ptr][name]); //showMeComplex("using host #$ptr",$postVars[hosts][$ptr]); //showMeComplex("using host #$ptr",$postVars[hosts]); $aHost = $postVars[hosts][$ptr][host]; $aUser = $postVars[hosts][$ptr][user]; $aPw = $postVars[hosts][$ptr][pw]; $connOK = yaz_connect($aHost, array("user" => $aUser, "password" => $aPw)); if (!$connOK) { echo 'yaz setup not successful! <br />'; trigger_error($lookLoc->getText("lookup_yaz_setup_failed") . $postVars[hosts][$ptr][name] . "<br />", E_USER_ERROR); } else { //echo 'yaz setup successful! <br />'; $id[$ptr] = $connOK; $db = $postVars[hosts][$ptr][db]; //echo "specifying db: $db<br />"; yaz_database($id[$ptr], $db); yaz_syntax($id[$ptr], $syntax); yaz_element($id[$ptr], "F"); //echo "sending: $qry <br />"; if (!yaz_search($id[$ptr], $srchType, $qry)) { trigger_error($lookLoc->getText("lookup_badQuery") . "<br />", E_USER_NOTICE); } } } $waitOpts = array("timeout" => $postVars[timeout]); //echo "<br /> waiting $waitOpts[timeout] seconds for responses. <br />"; //yaz_wait($waitOpts); yaz_wait(); $ttlHits = 0; for ($i = 0; $i < $numHosts; $i++) { ## did we make it?
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; }