Index: millennium.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/millennium/millennium.module,v retrieving revision 1.13.2.33.2.2.2.39 diff -u -r1.13.2.33.2.2.2.39 millennium.module --- millennium.module 30 Nov 2009 22:02:57 -0000 1.13.2.33.2.2.2.39 +++ millennium.module 1 Dec 2009 00:11:51 -0000 @@ -263,7 +263,7 @@ $marc_text_msg = ""; if ($marc_text === false) { - $marc_text = millennium_fetch_marc($recnum); + $marc_text = millennium_fetch_marc($recnum, $base_url); #$output .= t("Bib recnum = @bib", array("@bib" => $recnum)); $marc_text_msg = t('This MARC record was just fetched from the WebOPAC.'); } @@ -779,8 +779,10 @@ /** * Returns the user-defined base URL for the Millennium server (e.g. http://example.com/) */ -function millennium_get_real_baseurl() { - $base_url = variable_get('millennium_webopac_baseurl', ''); +function millennium_get_real_baseurl($base_url = false) { + if ($base_url === false) { + $base_url = variable_get('millennium_webopac_baseurl', ''); + } if ($base_url == '') { return false; } @@ -800,7 +802,7 @@ */ function millennium_fetch_recordpage($recnum, $mode = "plain", $base_url = false) { global $millennium_fetch_recordpage_cache; - $key = $recnum . $mode; + $key = $recnum . $mode . $base_url; #drupal_set_message("millennium_fetch_recordpage($recnum, $mode): key = $key"); if (isset($millennium_fetch_recordpage_cache[$key])) { $result["data"] = $millennium_fetch_recordpage_cache[$key]; @@ -874,9 +876,9 @@ * Grabs a Millennium record's MARC equivalent in text version * @param bib_recnum Millennium record number (b123456) to fetch */ -function millennium_fetch_marc($bib_recnum) { +function millennium_fetch_marc($bib_recnum, $base_url = false) { - $result = millennium_fetch_recordpage($bib_recnum, "marc"); + $result = millennium_fetch_recordpage($bib_recnum, "marc", $base_url); if (! $result->data) { return false; } @@ -1900,7 +1902,8 @@ switch ($delta) { case "marc": - if (!$marc_text = millennium_fetch_marc($bib_recnum) + $baseurl = db_result(db_query("SELECT base_url FROM {millennium_node_bib} WHERE nid=%d", $nid)); + if (!$marc_text = millennium_fetch_marc($bib_recnum, $baseurl) || !user_access("view marc")) { return ""; }