diff --git a/bibtexbrowser.php b/bibtexbrowser.php index ddb281c..6288293 100755 --- a/bibtexbrowser.php +++ b/bibtexbrowser.php @@ -86,6 +86,12 @@ function bibtexbrowser_configure($key, $value) { // do we add [bibtex] links ? // suggested by Sascha Schnepp @define('BIBTEXBROWSER_BIBTEX_LINKS',true); +// do we add [pdf] links ? +@define('BIBTEXBROWSER_PDF_LINKS',true); +// do we add [doi] links ? +@define('BIBTEXBROWSER_DOI_LINKS',true); +// do we add [gsid] links (Google Scholar)? +@define('BIBTEXBROWSER_GSID_LINKS',true); // should authors be linked to [none/homepage/resultpage] // none: nothing @@ -213,10 +219,6 @@ function _zetDB($bibtex_filenames) { set_magic_quotes_runtime(false); } - // get file extension to only allow .bib files - $ext = pathinfo($bib, PATHINFO_EXTENSION); - // this is a security protection - if (BIBTEXBROWSER_LOCAL_BIB_ONLY && (!file_exists($bib) || strcasecmp($ext, 'bib') != 0)) { // default bib file, if no file is specified in the query string. if (!isset($bibtex_filenames) || $bibtex_filenames == "") { default_message(); @@ -231,8 +233,11 @@ function _zetDB($bibtex_filenames) { // ---------------------------- HANDLING unexistent files foreach(explode(MULTIPLE_BIB_SEPARATOR, $bibtex_filenames) as $bib) { + // get file extension to only allow .bib files + $ext = pathinfo($bib, PATHINFO_EXTENSION); // this is a security protection - if (BIBTEXBROWSER_LOCAL_BIB_ONLY && !file_exists($bib)) { + if (BIBTEXBROWSER_LOCAL_BIB_ONLY && (!file_exists($bib) || strcasecmp($ext, 'bib') != 0)) { + // to automate dectection of faulty links with tools such as webcheck header('HTTP/1.1 404 Not found'); die('the bib file '.$bib.' does not exist !'); @@ -1483,15 +1488,17 @@ class BibEntry { $str .= " getKey()."\" {$href}>[bibtex]"; } - // returns an empty string if no url present - $str .= $this->getUrlLink(); + if (BIBTEXBROWSER_PDF_LINKS) { + // returns an empty string if no url present + $str .= $this->getUrlLink(); + } - if ($this->hasField('doi')) { + if (BIBTEXBROWSER_DOI_LINKS && $this->hasField('doi')) { $str .= ' [doi]'; } // Google Scholar ID - if ($this->hasField('gsid')) { + if (BIBTEXBROWSER_GSID_LINKS && $this->hasField('gsid')) { $str .= ' [cites]'; }