//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'];
 }
Ejemplo n.º 3
0
 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;
 }