本文整理汇总了PHP中yaz_hits函数的典型用法代码示例。如果您正苦于以下问题:PHP yaz_hits函数的具体用法?PHP yaz_hits怎么用?PHP yaz_hits使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了yaz_hits函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: hideJoke
hideJoke();
affiche_jsscript($msgz, "", $mioframe);
showButRes();
////////////////////////////////////////////////////////////////////
// Fase 3: Now get the results from the biblios
// obviously if the query was ok and there weren't errors
///////////////////////////////////////////////////////////////////
while (list($bib_id, $id) = each($map)) {
$error = yaz_error($id);
$error_info = yaz_addinfo($id);
if (!empty($error)) {
$msg1 = $msg[z3950_echec_rech] . " : " . $error . ", " . $error_info;
affiche_jsscript($msg1, "z3950_failed", $bib_id);
yaz_close($id);
} else {
$hits = yaz_hits($id);
$hits += 0;
if ($hits > $limite_notices) {
$lim_recherche = $limite_notices;
$msg1 = str_replace("!!limite!!", $limite_notices, $msg[z3950_recup_encours]);
$msg1 = str_replace("!!hits!!", $hits, $msg1);
affiche_jsscript($msg1, "", $bib_id);
} else {
$lim_recherche = $hits;
$msg1 = str_replace("!!hits!!", $hits, $msg[z3950_recup]);
affiche_jsscript($msg1, "", $bib_id);
}
$total = 0;
for ($p = 1; $p <= $lim_recherche; $p++) {
$rec = yaz_record($id, $p, "raw");
// DEBUG
开发者ID:noble82,项目名称:proyectos-ULS,代码行数:31,代码来源:z_progression_cache.php
示例2: htmlspecialchars
{
echo 'You searced for ' . htmlspecialchars($term) . '<br>';
for ($i = 0; $i < $num_hosts; $i++) {
$id[] = yaz_connect($host[$i]);
yaz_syntax($id[$i],"sutrs");
yaz_search($id[$i],"rpn",$term);
}
yaz_wait();
for ($i = 0; $i <$num_hosts; $i++)
{
echo '<hr>' . $host[$i] . ":";
$error = yaz_error($id[$i]);
if (!empty($error)) {
echo "Error: $error";
} else {
$hits = yaz_hits($id[$i]);
echo "Result Count $hits";
}
echo '<dl>';
for ($p = 1; $p <= 10; $p++)
{
$rec = yaz_record($id[$i],$p,"string");
if (empty($rec)) continue;
echo "<dt><b>$p</b></dt><dd>";
echo ereg_replace("\n", "<br>\n",$rec);
echo "</dd>";
}
echo '</dl>';
}
}
?>
开发者ID:OpenMandrivaAssociation,项目名称:php-yaz,代码行数:31,代码来源:mult.php
示例3: hits
static function hits()
{
return yaz_hits(self::$connection);
}
开发者ID:Alambos,项目名称:books,代码行数:4,代码来源:YAZ.php
示例4: fetchYazInfos
function fetchYazInfos($book)
{
global $booklibrary_configuration;
if (!extension_loaded('yaz')) {
echo "<script> alert('Sorry, \\'yaz.so\\' isn\\'t loaded....'); window.history.go(-1);</script>\n";
exit;
}
$param_ws = mosBooklibraryWS::getWsParamById($book->informationFrom) - 1;
$hosts = mosBooklibraryWS::getWSArray();
$str_conect = trim($hosts[$param_ws][3]) . ":" . trim($hosts[$param_ws][4]) . "/" . trim($hosts[$param_ws][5]);
//$str_conect ="z3950.bibsys.no:2100";// "140.147.249.38:7090/voyager";
//$str_conect = "troy.lib.sfu.ca:210/innopac";
//echo $str_conect;
$id = yaz_connect($str_conect);
yaz_syntax($id, $hosts[$param_ws][6]);
$query = '@attr 1=7 ' . $book->isbn;
yaz_search($id, 'rpn', $query);
yaz_wait();
$error = yaz_error($id);
if (!empty($error)) {
echo "<script> alert('ERROR:" . addslashes($error) . "'); window.history.go(-1);</script>\n";
exit;
}
$rec = yaz_record($id, 1, "array");
$error = yaz_error($id);
if (yaz_hits($id) == 0) {
echo "<script> alert('On this ISBN(" . addslashes($book->isbn) . ") of the not found records'); window.history.go(-1);</script>\n";
yaz_close($id);
exit;
} elseif (!empty($error)) {
echo "<script> alert('ERROR:" . addslashes($error) . "'); window.history.go(-1);</script>\n";
yaz_close($id);
exit;
}
yaz_close($id);
$book->comment = "";
$book->title = "";
$book->authors = "";
$book->manufacturer = "";
$book->release_Date = "";
$book->URL = "";
foreach ($rec as $i => $value) {
$s = explode(")(", $rec[$i][0]);
if (isset($s[2])) {
switch (substr($s[0], 3, strlen($s[0]))) {
case '245':
$book->comment .= $rec[$i][1];
if (substr($s[2], 2, strlen($s[2]) - 3) == 'a') {
$book->title .= $rec[$i][1];
}
break;
case '100':
$book->authors .= $rec[$i][1];
break;
case '260':
$book->manufacturer .= $rec[$i][1];
if (substr($s[2], 2, strlen($s[2]) - 3) == 'c') {
$book->release_Date .= $rec[$i][1];
}
break;
case '856':
$book->URL .= $rec[$i][1];
break;
}
}
}
return $book;
}
开发者ID:rdegennaro,项目名称:Check-It,代码行数:68,代码来源:admin.booklibrary.class.ws.php
示例5: yaz_search
} else {
yaz_search($id, "rpn", '@attr 5=100 @attr 1=7 "' . $n . '"');
}
// @attr 5=100 -> no truncation, ist aber Standardeinstellung, kann daher auch weg
}
yaz_wait();
$error = yaz_error($id);
if (!empty($error)) {
echo "Error Number: " . yaz_errno($id);
echo "Error Description: " . $error;
echo "Additional Error Information: " . yaz_addinfo($id);
}
$outputString = "<?xml version=\"1.0\"?>\n";
$outputString .= "<datei>\n";
$outputArray = [];
for ($p = 1; $p <= yaz_hits($id); $p++) {
$record = yaz_record($id, $p, "render;charset=iso5426,utf8");
//render;charset=iso5426,utf8
$error = yaz_error($id);
if (!empty($error)) {
echo "Error Number: " . yaz_errno($id);
echo "Error Description: " . $error;
echo "Additional Error Information: " . yaz_addinfo($id);
}
$recordArray = explode("", $record);
$header = substr($recordArray[0], 0, 24);
$recordContent = '<datensatz id="" typ="' . substr($header, 23, 1) . '" status="' . substr($header, 5, 1) . '" mabVersion="' . substr($header, 6, 4) . '">' . "\n";
$recordContent .= printLine(substr($recordArray[0], 24));
for ($j = 1; $j < count($recordArray); $j++) {
$recordContent .= printLine($recordArray[$j]);
}
开发者ID:stweil,项目名称:malibu,代码行数:31,代码来源:hbz.php
示例6: yaz_search
yaz_search($id[$h], 'rpn', $query);
}
yaz_wait();
// preparing to buffer MARC XML result
$errors = array();
$hits = 0;
ob_start();
echo '<?xml version="1.0" standalone="yes"?>' . "\n";
echo '<collection xmlns="http://www.loc.gov/MARC21/slim">' . "\n";
for ($h = 0; $h < $num_hosts; $h++) {
$error = yaz_error($id[$h]);
if (!empty($error)) {
$errors[] = $error;
} else {
// number of results
$hits = yaz_hits($id[$h]);
}
for ($rnum = 1; $rnum <= $sysconf['z3950_max_result']; $rnum++) {
$rec = yaz_record($id[$h], $rnum, 'xml; charset=marc-8,utf-8');
if (empty($rec)) {
continue;
}
echo $rec;
}
}
echo '</collection>';
$xml_result_string = ob_get_clean();
// below is for debugging purpose
// echo htmlentities($xml_result_string);
if ($hits > 0) {
echo '<div class="infoBox">Found ' . $hits . ' records from Z3950 Server, ' . $sysconf['z3950_max_result'] . ' listed.</div>';
开发者ID:indonesia,项目名称:slims5_meranti,代码行数:31,代码来源:z3950.php
示例7: yazCclArray
function yazCclArray($ccl)
{
global $config;
$system = $config['lib']['system'];
// Create an array to hold settings for the different systems
$zopts = array();
$zopts['aleph'] = array('syntax' => '', 'yaz_con_opts' => array('piggyback' => true));
$zopts['bibliofil'] = array('syntax' => 'normarc', 'yaz_con_opts' => array('piggyback' => true));
$zopts['bibsys'] = array('syntax' => '', 'yaz_con_opts' => array('piggyback' => false));
$zopts['koha'] = array('syntax' => '', 'yaz_con_opts' => array('piggyback' => true));
$zopts['mikromarc'] = array('syntax' => 'normarc', 'yaz_con_opts' => array('piggyback' => true));
/*
The Glitre project has not been able to find sample servers fot these
systems, even after asking the vendors if any exist:
$zopts['reindex'] = array(
'syntax' => '',
'yaz_con_opts' => array(
'piggyback' => false,
),
);
$zopts['tidemann'] = array(
'syntax' => '',
'yaz_con_opts' => array(
'piggyback' => false,
),
);
*/
$hits = 0;
$type = 'xml';
$id = yaz_connect($config['lib']['z3950'], $zopts[$system]['yaz_con_opts']);
yaz_element($id, "F");
yaz_syntax($id, $zopts[$system]['syntax']);
yaz_range($id, 1, 1);
yaz_ccl_conf($id, get_zconfig());
$cclresult = array();
if (!yaz_ccl_parse($id, $ccl, $cclresult)) {
echo 'Error yaz_ccl_parse: ' . $cclresult["errorstring"];
} else {
// Norwegian Z39.50 have no or limited support for yaz_sort
// See http://wiki.biblab.no/index.php/Z39.50%2C_SRU_og_sortering for details
// yaz_sort($id, "1=31 di");
$rpn = $cclresult["rpn"];
yaz_search($id, "rpn", utf8_decode($rpn));
}
yaz_wait();
$error = yaz_error($id);
if (!empty($error)) {
$yaz_errno = yaz_errno($id);
// echo "<p>Error yaz_wait: $error ($yaz_errno)</p>";
$error = array('error' => true, 'stage' => 'yaz_wait', 'desc' => $error, 'num' => $yaz_errno);
return $error;
} else {
$hits = yaz_hits($id);
}
$data = array();
for ($p = 1; $p <= $hits; $p++) {
$rec = yaz_record($id, $p, $type);
if (empty($rec)) {
continue;
}
$data[] = $rec;
// If a max number of records is set for this library, respect it - otherwise use the default.
$records_max = $config['lib']['records_max'] ? $config['lib']['records_max'] : $config['records_max'];
if ($p == $records_max) {
break;
}
}
$ret = array("hits" => $hits, "result" => $data);
return $ret;
}
开发者ID:glitre,项目名称:glitre,代码行数:71,代码来源:inc.glitre.php
示例8: getSearchResults
public function getSearchResults($query, $start, $step, &$hits, &$pid)
{
$stop = $start + $step;
if ($this->grabQueryFromCache($query)) {
//pull from cache
$hits = mysql_num_rows($this->results);
for ($i = $start; $i < $stop; $i++) {
$results[] = $this->getCachedBook($i);
}
} else {
//pull from LoC
// $mayDemandCache = ( ( $HTTP_GET_VARS['type'] != $HTTP_GET_VARS['sort'] ) &&
// ( $HTTP_GET_VARS['type'] != 'Keyword' ) &&
// ( !isset( $HTTP_GET_VARS['sort'] ) ) );
$mayDemandCache = isset($_GET['sort']) && (!($HTTP_GET_VARS['sort'] == $HTTP_GET_VARS['type'] && !isset($_GET['desc'])) || isset($_GET['desc']));
$willCache = (ShelveIt::$cachePolicy == 'always' || ShelveIt::$cachePolicy == 'demand' && $mayDemandCache) && !(ShelveIt::$cachePolicy == 'never');
// connect to LoC server
$LoC = yaz_connect('z3950.loc.gov:7090/voyager');
//set server options
yaz_syntax($LoC, 'marc21');
if ($willCache) {
// we're going to grab all results
yaz_range($LoC, 1, $this->maxHits);
} else {
yaz_range($LoC, $start, $step);
}
// perform search
yaz_search($LoC, 'rpn', $query);
// wait for search to finish
yaz_wait();
// check for an error
$error = yaz_error($LoC);
if (!empty($error)) {
ShelveIt::$messages['errors'][] = $error . " {$query}";
$hits = 0;
} else {
//get results
$hits = yaz_hits($LoC);
if ($willCache && $hits > ShelveIt::$query_cache['maxHits']) {
ShelveIt::$messages['warnings'][] = "Your search has too many results to be quickly sorted. It has been limited from {$hits} to " . ShelveIt::$query_cache['maxHits'] . ". You can make your search more specific so it has a small enough number of hits, or not sort to see all of the results.";
$hits = ShelveIt::$query_cache['maxHits'];
}
if ($hits > 0) {
if ($willCache) {
for ($i = 1; $i < $start; $i++) {
$rec = yaz_record($LoC, $i, 'xml');
$this->cacheBook($query, new Brief_Book($rec));
}
} else {
$i = $start;
}
for (; $i < $stop; $i++) {
$rec = yaz_record($LoC, $i, 'xml');
$book = new Brief_Book($rec);
$results[] = $book;
if ($willCache) {
$this->cacheBook($query, $book);
}
}
if ($willCache) {
// // quick note: I can fork using pcntl_fork
// $pid = pcntl_fork();
// if( $pid == -1 ) {
// die( 'CRITICAL ERROR: Forking failed. The server is likely in trouble. Please come back later.' );
// } else if( $pid == 0 ) {
// pick up where we left off
for (; $i <= $hits; $i++) {
$rec = yaz_record($LoC, $i, 'xml');
$this->cacheBook($query, new Brief_Book($rec));
}
$this->collectGarbage();
// exit( 0 );
// }
}
}
}
}
return $results;
}
开发者ID:BackupTheBerlios,项目名称:shelveit-svn,代码行数:79,代码来源:Query_Cache.php
示例9: _getLookupResult
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;
}
开发者ID:Giordano-Bruno,项目名称:GiordanoBruno,代码行数:33,代码来源:BulkLookup.php
示例10: yaz_connect
<?php
$z = yaz_connect("localhost:9999");
yaz_range($z, 1, 2);
yaz_search($z, "rpn", "computer");
yaz_wait();
$error = yaz_error($z);
if (!empty($error)) {
echo "Error: {$error}\n";
} else {
$hits = yaz_hits($z);
echo "Result count {$hits}\n";
for ($p = 1; $p <= 2; $p++) {
$rec = yaz_record($z, $p, "string");
if (empty($rec)) {
break;
}
echo "----- {$p} -----\n{$rec}";
}
}
开发者ID:indexdata,项目名称:phpyaz,代码行数:20,代码来源:client.php
示例11: lookup
/**
* Perform lookup on WorldCat data service. Z39.50 is used if the PHP YAZ Z39.50 client is installed on the server and a login is configured in
* either the plugin settings passed or in the $pa_settings parameter or in app.conf. The WorldCat search API will be used a web service API key
* is configured and either PHP YAZ is unavailable or a Z39.50 login is not configured.
*
* @param array $pa_settings Plugin settings values
* @param string $ps_search The expression with which to query the remote data service
* @param array $pa_options Options are:
* APIKey = WorldCat API key to use. [Default is the key configured in worldcat_api_key in app.conf]
* user = Worldcat Z39.50 login name. [Default is the username configured in worldcat_z39.50_user in app.conf]
* password = WorldCAt Z39.50 password. [Default is the password configured in worldcat_z39.50_password in app.conf]
* start = Zero-based record number to begin returned result set at [Default is 0]
* count = Maximum number of records to return [Default is 25]
*
* @return array
*/
public function lookup($pa_settings, $ps_search, $pa_options = null)
{
$va_config = $this->_getConfiguration($pa_settings, $pa_options);
$vn_start = caGetOption('start', $pa_options, 0);
$vn_count = caGetOption('count', $pa_options, 25);
if ($vn_count <= 0) {
$vn_count = 25;
}
if ($va_config['user'] && $va_config['z39IsAvailable']) {
$r_conn = yaz_connect(WLPlugInformationServiceWorldCat::$s_worldcat_z3950_host, array('user' => $va_config['user'], 'password' => $va_config['password']));
yaz_syntax($r_conn, "usmarc");
yaz_range($r_conn, $vn_start + 1, $vn_start + $vn_count);
yaz_search($r_conn, "rpn", '"' . str_replace('"', '', $ps_search) . '"');
yaz_wait();
$va_data = array('count' => yaz_hits($r_conn), 'results' => array());
for ($vn_index = $vn_start + 1; $vn_index <= $vn_start + $vn_count; $vn_index++) {
$vs_data = yaz_record($r_conn, $vn_index, "xml; charset=marc-8,utf-8");
if (empty($vs_data)) {
continue;
}
$o_row = DomDocument::loadXML($vs_data);
$o_xpath = new DOMXPath($o_row);
$o_xpath->registerNamespace('n', 'http://www.loc.gov/MARC21/slim');
// Get title for display
$va_title = array();
$o_node_list = $o_xpath->query("//n:datafield[@tag='245']/n:subfield[@code='a' or @code='b']");
foreach ($o_node_list as $o_node) {
$va_title[] = trim((string) $o_node->nodeValue);
}
$vs_title = trim(str_replace("/", " ", join(" ", $va_title)));
// Get author for display
$va_author = array();
$o_node_list = $o_xpath->query("//n:datafield[@tag='100']/n:subfield[@code='a']");
foreach ($o_node_list as $o_node) {
$va_author[] = trim((string) $o_node->nodeValue);
}
$vs_author = trim(join(" ", $va_author));
// Get OCLC number
$o_node_list = $o_xpath->query("//n:datafield[@tag='035']/n:subfield[@code='a']");
$vs_oclc_num = '';
foreach ($o_node_list as $o_node) {
$vs_oclc_num = $o_node->nodeValue;
break;
}
$va_data['results'][] = array('label' => ($vs_author ? "{$vs_author} " : '') . "<em>{$vs_title}</em>.", 'url' => $vs_oclc_num, 'id' => str_replace("(OCoLC)", "", $vs_oclc_num));
}
} else {
try {
if (!$va_config['curlIsAvailable']) {
throw new Exception(_t('CURL is required for WorldCat web API usage but not available on this server'));
}
if (!$va_config['APIKey']) {
if (!$va_config['z39IsAvailable']) {
throw new Exception(_t('Neither Z39.50 client is installed nor is WorldCat web API key configured'));
} else {
throw new Exception(_t('WorldCat web API key is not configured'));
}
}
$o_feed = Zend_Feed::import(WLPlugInformationServiceWorldCat::$s_worldcat_search_url . "?start={$vn_start}&count={$vn_count}&q=" . urlencode($ps_search) . "&wskey=" . $va_config['APIKey']);
} catch (Exception $e) {
$va_data['results'][] = array('label' => _t('Could not query WorldCat: %1', $e->getMessage()), 'url' => '#', 'id' => 0);
return $va_data;
}
$va_data = array('count' => $o_feed->count(), 'results' => array());
foreach ($o_feed as $o_entry) {
$vs_author = (string) $o_entry->author->name();
$vs_title = (string) $o_entry->title();
$vs_url = $o_entry->id();
$va_tmp = explode("/", $vs_url);
$vs_id = array_pop($va_tmp);
$va_data['results'][] = array('label' => ($vs_author ? "{$vs_author} " : '') . "<em>{$vs_title}</em>.", 'url' => $vs_url, 'id' => $vs_id);
}
}
return $va_data;
}
开发者ID:idiscussforum,项目名称:providence,代码行数:91,代码来源:WorldCat.php
示例12: do_search_and_show_hits
function do_search_and_show_hits()
{
output_header("Search Results");
echo "<br>";
if (empty($_GET['start'])) {
$start = 1;
} else {
$start = $_GET['start'];
}
if (!empty($_GET['fq'])) {
$fullquery = unserialize(base64_decode($_GET['fq']));
} else {
$fullquery = query_format();
}
global $external_catalog_locator;
$id = yaz_connect($external_catalog_locator);
yaz_syntax($id, "usmarc");
yaz_element($id, "F");
yaz_search($id, "rpn", trim($fullquery));
$extra_options = array("timeout" => 60);
yaz_wait($extra_options);
$errorMsg = yaz_error($id);
if (!empty($errorMsg)) {
echo "<center>";
echo _("The following error has occurred:");
echo "<br><br>";
echo "<b><i>{$errorMsg}</i></b>";
echo "<p>";
$url = "editproject.php?action=createnew";
echo sprintf(_("Please try again. If the problem recurs, please create your project manually by following this <a href='%s'>link</a>."), $url);
echo "</center>";
exit;
}
echo "<center>";
if (yaz_hits($id) == 0) {
echo "<b>";
echo _("There were no results returned.");
echo "</b>";
echo "<br>";
echo _("Please search again or click 'No Matches' to create the project manually.");
echo "<br>";
} else {
echo "<b>";
echo sprintf(_("%d results returned. Note that some non-book results may not be displayed."), yaz_hits($id));
echo "<br>";
echo _("Please pick a result from below:");
echo "</b>";
}
echo "</center>";
echo "<br><form method='post' action='editproject.php'>";
echo "<input type='hidden' name='action' value='create_from_marc_record'>";
echo "<table border='0 width='100%' cellpadding='0' cellspacing='0'>";
// -----------------------------------------------------
$hits_per_page = 20;
// Perhaps later this can be a PM preference or an option on the form.
$i = 1;
while ($start <= yaz_hits($id) && $i <= $hits_per_page) {
$rec = yaz_record($id, $start, "array");
//if it's not a book don't display it. we might want to uncomment in the future if there are too many records being returned - if (substr(yaz_record($id, $start, "raw"), 6, 1) != "a") { $start++; continue; }
$marc_record = new MARCRecord();
$marc_record->load_yaz_array($rec);
if ($i % 2 == 1) {
echo "<tr>";
}
echo "<td width='5%' align='center' valign='top'>";
echo "<input type='radio' name='rec' value='" . base64_encode(serialize($rec)) . "'>";
echo "</td>";
echo "<td width='45%' align='left' valign='top'>";
echo "<table border='0' width='100%' cellpadding='0' cellspacing='0'>";
foreach (array(array('label' => _("Title"), 'value' => $marc_record->title), array('label' => _("Author"), 'value' => $marc_record->author), array('label' => _("Publisher"), 'value' => $marc_record->publisher), array('label' => _("Language"), 'value' => $marc_record->language), array('label' => _("LCCN"), 'value' => $marc_record->lccn), array('label' => _("ISBN"), 'value' => $marc_record->isbn)) as $couple) {
$label = $couple['label'];
$value = $couple['value'];
echo "<tr>";
echo "<td width='20%' align='left' valign='top'><b>{$label}</b>:</td>";
echo "<td align='left' valign='top'>{$value}</td>";
echo "</tr>\n";
}
echo "</table><p></td>";
if ($i % 2 != 1) {
echo "</tr>\n";
}
$i++;
$start++;
}
if ($i % 2 != 1) {
echo "</tr>\n";
}
// -----------------------------------------------------
$encoded_fullquery = base64_encode(serialize($fullquery));
echo "<tr>";
echo "<td colspan='2' width='50%' align='left' valign='top'>";
if (isset($_GET['start']) && $_GET['start'] - $hits_per_page > 0) {
$url = "external_catalog_search.php?action=do_search_and_show_hits&start=" . ($_GET['start'] - $hits_per_page) . "&fq={$encoded_fullquery}";
echo "<a href='{$url}'>Previous</a>";
} else {
echo " ";
}
echo "</td>";
echo "<td colspan='2' width='50%' align='right' valign='top'>";
if ($start + $hits_per_page <= yaz_hits($id)) {
//.........这里部分代码省略.........
开发者ID:cpeel,项目名称:dproofreaders-shadow,代码行数:101,代码来源:external_catalog_search.php
示例13: doZSearch
function doZSearch($zid, $rpn, $start, $number)
{
yaz_range($zid, (int) $start, (int) $number);
yaz_syntax($zid, $this->z_syntax);
if ($this->z_sort) {
yaz_sort($zid, $this->z_sort);
}
yaz_element($zid, 'F');
yaz_search($zid, "rpn", $rpn);
yaz_wait($options = array('timeout' => $this->z_timeout));
if (yaz_errno($zid)) {
$error_msg = yaz_error($zid);
if ($error_info = yaz_addinfo($zid)) {
$error_msg .= ' - ' . $error_info;
}
$this->addError("error", sprintf(_("Fehler bei der Suche: %s"), $error_msg));
return false;
} else {
return yaz_hits($zid);
}
}
开发者ID:ratbird,项目名称:hope,代码行数:21,代码来源:StudipLitSearchPluginZ3950Abstract.class.php
示例14: yazCclArray
function yazCclArray($ccl, $syntax = 'marc21', $host = 'default')
{
global $config;
if ($host == 'default') {
$host = $config['libraries'][$_GET['bib']]['z3950'];
}
$zconfig = get_zconfig();
$hits = 0;
$type = 'xml';
$id = yaz_connect($host);
yaz_element($id, "F");
yaz_syntax($id, $syntax);
yaz_range($id, 1, 1);
yaz_ccl_conf($id, $zconfig);
$cclresult = array();
if (!yaz_ccl_parse($id, $ccl, $cclresult)) {
echo 'Error: ' . $cclresult["errorstring"];
} else {
// NB! Ser ikke ut som Z39.50 fra Bibliofil støtter "sort"
// Se nederst her: http://www.bibsyst.no/produkter/bibliofil/z3950.php
// PHP/YAZ-funksjonen yaz-sort ville kunne dratt nytte av dette:
// http://no.php.net/manual/en/function.yaz-sort.php
// Sort Flags
// a Sort ascending
// d Sort descending
// i Case insensitive sorting
// s Case sensitive sorting
// Bib1-attributter man kunne sortert på:
// http://www.bibsyst.no/produkter/bibliofil/z/carl.xml
// yaz_sort($id, "1=31 di");
$rpn = $cclresult["rpn"];
yaz_search($id, "rpn", utf8_decode($rpn));
}
yaz_wait();
$error = yaz_error($id);
if (!empty($error)) {
echo "Error yazCclArray: {$error}";
} else {
$hits = yaz_hits($id);
}
$data = array();
for ($p = 1; $p <= $hits; $p++) {
$rec = yaz_record($id, $p, $type);
if (empty($rec)) {
continue;
}
$data[] = $rec;
if ($p == $config['maks_poster']) {
break;
}
}
$ret = array("hits" => $hits, "result" => $data);
return $ret;
}
开发者ID:pode,项目名称:musikkmashup,代码行数:54,代码来源:functions.php
示例15: search
function search($source_id, $query, $search_id)
{
global $base_path, $charset, $include_path;
//global $url,$z3950_base,$z3950_login,$z3950_password,$z3950_max_notices,$z3950_format,$z3950_port,$z3950_convert,$z3950_profil;
$this->error = false;
$this->error_message = "";
$params = $this->get_source_params($source_id);
$this->fetch_global_properties();
if ($params["PARAMETERS"]) {
//Affichage du formulaire avec $params["PARAMETERS"]
$vars = unserialize($params["PARAMETERS"]);
foreach ($vars as $key => $val) {
global ${$key};
${$key} = $val;
}
}
if (!($z3950_max_notices * 1)) {
$z3950_max_notices = 100;
}
//Tranformation de la recherche en requete rpn bib1
$rpn = $this->parse_query($query);
$zurl = $url . ($z3950_port ? ":" . $z3950_port : "") . ($z3950_base ? "/" . $z3950_base : "");
$opts = array();
if ($z3950_login) {
$opts["user"] = $z3950_login;
}
if ($z3950_password) {
$opts["password"] = $z3950_password;
}
$opts["piggyback"] = false;
$yaz_id = yaz_connect($zurl, $opts);
yaz_element($yaz_id, "F");
yaz_range($yaz_id, 1, $z3950_max_notices);
yaz_syntax($yaz_id, strtolower($z3950_format));
yaz_search($yaz_id, "rpn", $rpn . " ");
$opts_wait = array("timeout" => $params["TIMEOUT"]);
yaz_wait($opts_wait);
if (yaz_error($yaz_id)) {
$this->error = true;
$this->error_message = yaz_error($yaz_id);
} else {
$n_results = yaz_hits($yaz_id);
if ($n_results > $z3950_max_notices) {
$n_results = $z3950_max_notices;
}
$convert_order = $this->get_convert_order($z3950_convert);
for ($k = 1; $k <= $n_results; $k++) {
$notice = yaz_record($yaz_id, $k, "raw");
//Conversion de la notice
if ($z3950_convert) {
$export = new convert($notice, $convert_order);
if (!$export->error) {
$cnotice = $export->output_notice;
} else {
$cnotice = "";
}
} else {
$cnotice = $notice;
}
if ($cnotice) {
//Conversion de la notice en XML
$xmlunimarc = new xml_unimarc();
$nxml = $xmlunimarc->iso2709toXML_notice($cnotice);
if ($xmlunimarc->is_utf8) {
$rcharset = "utf-8";
} else {
$rcharset = $charset;
}
$xmlunimarc->notices_xml_[0] = '<?xml version="1.0" encoding="' . $rcharset . '"?>' . $xmlunimarc->notices_xml_[0];
if ($xslt_exemplaire) {
$xmlunimarc->notices_xml_[0] = $this->apply_xsl_to_xml($xmlunimarc->notices_xml_[0], $xslt_exemplaire["content"]);
}
// print_r($xmlunimarc->notices_xml_[0]);
if ($nxml >= 1) {
$params = _parser_text_no_function_($xmlunimarc->notices_xml_[0], "NOTICE");
$this->rec_record($params, $source_id, $search_id);
}
}
}
}
}
开发者ID:noble82,项目名称:proyectos-ULS,代码行数:81,代码来源:z3950.class.php
示例16: smarty_function_find_isbn
function smarty_function_find_isbn($params, &$smarty)
{
function filter_array($theHaystack, $info)
{
if (is_array($theHaystack)) {
for ($k = 0; $k <= count($theHaystack); $k++) {
if (substr_count($theHaystack[$k][0], '245') > 0 && substr_count($theHaystack[$k][0], 'a') > 0) {
if ($info == 'title') {
return $theHaystack[$k][1] . " " . substr($theHaystack[$k + 1][1], 0, strlen($theHaystack[$k + 1][1]) - 1);
} elseif ($info == 'author') {
return $theHaystack[$k + 2][1];
}
}
}
} else {
//$array=$explode(" / ", $theHaystack);
$parts = explode("/", $theHaystack);
if ($info == 'title') {
return $parts[0];
} elseif ($info == 'author') {
return substr($parts[1], 0, strpos($parts[1], '-'));
}
}
return "";
}
$isbninfo = array();
if (empty($params['var'])) {
$smarty->trigger_error("assign: missing 'var' parameter");
return;
}
if (empty($params['info'])) {
$smarty->trigger_error("assign: missing 'info' parameter");
return;
} else {
$info = $params['info'];
}
if (empty($params['isbn'])) {
$smarty->trigger_error("assign: missing 'isbn' parameter");
return;
} else {
$isbn = $params['isbn'];
}
$name = array("HeBIS", "Deutsche Nationalbibliothek", "GILS", "Libraray of Congress");
$host = array("tolk.hebis.de:20212/hebis", "z3950.dbf.ddb.de:210/iltis", "bagel.indexdata.dk/gils", "z3950.loc.gov:7090/voyager");
$user = array("3950", "gast", "", "");
$passwd = array("Z3950", "gast", "", "");
$syntax = array("usmarc", "sutrs", "usmarc", "usmarc");
$query = "@attr 1=7 " . $isbn;
$found = false;
$i = 0;
$j = 0;
while ($found == false && $i <= 3) {
$id[$i] = yaz_connect($host[$i], array("user" => $user[$i], "password" => $passwd[$i]));
yaz_syntax($id[$i], $syntax[$i]);
yaz_range($id[$i], 1, 1);
yaz_search($id[$i], "rpn", $query);
yaz_wait();
$error = yaz_error($id[$i]);
$hits = yaz_hits($id[$i]);
if (!empty($error) | $hits == 0) {
$i++;
if (!empty($error)) {
$j++;
}
} else {
$found = true;
if ($i == 1) {
$rec = yaz_record($id[$i], 1, "string");
} else {
$rec = yaz_record($id[$i], 1, "array");
}
//var_dump($rec);
//echo "<table>";
//echo "<tr><td valign='top'><b>Titel: </b></td><td>".filter_array($rec, 'title')."</td></tr>";
//echo "<tr><td valign='top'><b>Autor: </b></td><td> ".filter_array($rec, 'author')."</td></tr>";
//echo "</table>";
$isbninfo['title'] = filter_array($rec, 'title');
$isbninfo['author'] = filter_array($rec, 'author');
}
}
if (empty($isbninfo['title']) | $found == false) {
$isbninfo['title'] = "Es wurden keine Einträge gefunden.";
$isbninfo['author'] = "Es wurden keine Einträge gefunden.";
if ($j == 4) {
$isbninfo['title'] = "Es konnte keine Verbindung hergestellt werden.";
$isbninfo['author'] = "Es konnte keine Verbindung hergestellt werden.";
}
}
//var_dump($isbninfo);
$smarty->assign($params['var'], $isbninfo);
}
开发者ID:BackupTheBerlios,项目名称:dilps,代码行数:91,代码来源:function.find_isbn.php
示例17: yaz_element
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?
// $ptr = ($useHost == -1)?$i:$useHost;
$ptr = $i;
$error = yaz_error($id[$ptr]);
if (!empty($error)) {
## NO
//trigger_error("Z39.50 error <br />", E_USER_ERROR);
echo $lookLoc->getText("lookup_YAZerror") . $error . " (";
echo yaz_errno($id[$ptr]) . ') ' . yaz_addinfo($id[$ptr]);
echo "<br />";
} else {
## YES, we got a response!!
$hits[$ptr] = yaz_hits($id[$ptr]);
$ttlHits += $hits[$ptr];
//echo "Host #$ptr {$postVars[hosts][$ptr][name]} result Count: $hits[$ptr] <br />";
}
}
//echo "Total Hits=$ttlHits <br />";
开发者ID:AevumDecessus,项目名称:docker-openbiblio,代码行数:31,代码来源:lookupYazSrch.php
示例18: getEnrichment
function getEnrichment($notice_id, $source_id, $type = "", $enrich_params = array())
{
global $charset;
$enrichment = array();
$this->noticeToEnrich = $notice_id;
// récupération du code sudoc (PPN) de la notice stocké dans le champ perso de type "resolve" avec pour label "SUDOC"
$mes_pp = new parametres_pers
|
请发表评论