[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[InetBib] Endnote mit Find full text und Redi-Linkresolver
Hallo
falls noch andere Kollegen das Problem haben, dass die "Find full
text"-Funktion von Endote in Kombination mit dem Redi-Linkresolver
(eingestellt bei Endnote in: OpenURL) nie so wirklich geklappt hat,
denen sei ein kleines Skript an die Hand gegeben, dass das Problem
mit dem Zugriff auf das PDF-Dokument aus dem berechtigten Netz der
Einrichtung löst.
Das kleine PHP-Skript überspringt die Stelle, an der man bei Redi den
Anbieter händisch auswählen muss.
Man installiert es am besten auf dem Webserver und konfiguriert es
für seine Einrichtung - frei nach dem Motto: "Es ist besser, ein
Licht anzuzünden, als auf die Dunkelheit zu schimpfen."
Have fun
Andreas Bohne-Lang
<?php
/*
* Endote Volltext Suchhilfe für Redi
*
* Andreas Bohne-Lang, 2011
*
* Das Skript muss auf einem Rechner im Netz der Einrichtung laufen.
*
*/
// hier editieren:
$redi_url="http://www.redi-bw.de/links/unihdma"; // Redi-Resolver mit
Account
$proxy="foxyproxy.medma.uni-heidelberg.de:8080"; // Web-Proxy, falls
benoetigt
$take_last=true; // bei mehr als einem Link nimm den letzten
#------------------------------------------------------
if( isset($proxy) && !empty($proxy) ){
$opts = array("http" => array("proxy" => "tcp://$proxy",
"request_fulluri" => true, "user_agent"=>"Endnote"));
} else {
$opts = array("http" => array("request_fulluri" => false,
"user_agent"=>"Endnote" ));
}
$context = stream_context_create($opts);
$turl = sprintf("%s?%s",$redi_url,$_SERVER["QUERY_STRING"]);
$doc = new DOMDocument();
$doc->loadXML(file_get_contents($turl,false,$context));
$xpath = new DOMXPath($doc);
$xpath->registerNamespace("ezb", "http://www.w3.org/1999/xhtml");
$nodes = $xpath->query('//ezb:div[@class="t_ezb_result"]//ezb:span
[@class="t_link"]/ezb:a/attribute::href');
$xurl=array();
for($i=0; $i < $nodes->length; $i++){
$xurl[$i]= $nodes->item($i)->nodeValue;
}
if($nodes->length>=1){
if ( $take_last) {
header(sprintf("Location: %s",$xurl[$nodes-
length-1]));
} else {
header(sprintf("Location: %s",$xurl[0]));
}
}
?>
PS: Besten Dank an Herrn Oberknapp vom ReDI (Regionale Datenbank-
Information) Dienst aus Freiburg bei der Realisierung.
--
Dr. Andreas Bohne-Lang
Universitätsmedizin Mannheim
Medizinische Fakultät Mannheim
Universität Heidelberg
EDV/Bibliothek
Ludolf-Krehl-Str. 13-17
68167 Mannheim
Tel: ++49(0)621-383-9990 Fax: -9981 Sek.: -9980
eMail: andreas.bohne-lang@xxxxxxxxxxxxxxxxxxxxxxx
--
http://www.inetbib.de
Listeninformationen unter http://www.inetbib.de.