Removed duplicate code that existed inside and outside of get*Link() functions.
Added option BIBTEXBROWSER_LINKS_IN_NEW_WINDOW. It is used instead of BIBTEXBROWSER_BIB_IN_NEW_WINDOW for external links (everything but [bibtex]).
The sorting mechanism relied solely on strcmp before, which yielded a more or less random result.
It is now possible to define an order as long as the strings in the bibtex file are given in their standard English form.
In output though, the strings are internationalised.
The ajax request is being sent to html page hence you should use html as data type. Using xml might break in case there is un-escaped characters such as "<" or "&" in html. In fact it was causing problems when trying to retrieve bibtex data for particular item which included link with an ampersand.
It was mentioned in comments section in website by Tobi:
> Tobi: Hi Martin,
>
> it seems like bibtexbrowser cannot handle & (ampersands) in URLs. Entries that contain & confuse > the bibtex-block-script, which displays bibtex information in a new site instead of loading the > block of information just below the entry. I can't seem to find the bug, but hope that you can.
>
> Tobi
> (May 27, 2014 - 6:33 pm)
Also I have found some random page which is using bibtexbrowser and you can see the bug here http://www.imp.kiev.ua/~kord/papers/ by clicking on "Strong electron pairing at the iron 3dxz,yz orbitals in hole-doped BaFe2As2 superconductors revealed by angle-resolved photoemission spectroscopy" article's bib anchor.
Section A
<?php
$_GET['bib']='listA.bib';
$_GET['all']=1;
include( 'bibtexbrowser.php' );
?>
Section B
<?php
$_GET['bib']='listB.bib';
$_GET['all']=1;
include( 'bibtexbrowser.php' );
?>
Bug: both times it displays the entries from only listA.bib.
Fix: if (!isset($_GET[Q_DB]) || !$_GET[Q_DB]->is_already_loaded($_GET[Q_FILE])) { setDB(); }
based on a list of specified entries. This is compatible with other search criteria, as it is implemented as an extra filter rule in multisearch(). This is useful for presenting a selection or short-list of bibtex entries (eg, on a homepage, in a research project page, etc...)
$_GET['keys'] should contain a url-encoded json-encoded array of bibtex entries.
With @define(ABBRV_TYPE,'keys-index'), the array in $_GET['keys'] is considered as an associative array "$abbrv=>$bibkey" and $abbrv is used for abbreviation.