Using QR-Code integration also in your vufind

As we reported we have integrated QR-Codes in TUBfind. How does that work? We are using a PHP implementation of a QR-Code-generator, which is available as OpenSource (QR-Class by Y. Swetake). This can be copied to the vufind application on the webserver – on our machine I have copied the sources into these directories:
qr_img.php -> to driectory web
data -> to directory sys
image -> to directory images

The following method must be inserted into RecordDrivers/IndexRecord.php:
public function getQRString() {
global $configArray;
global $interface;

$dates = $this->getPublicationDates();
$qrstring = rawurlencode($this->getPrimaryAuthor().”: “.$this->getShortTitle().” / “.$dates[0].” – “.$configArray[‘Site’][‘url’].$configArray[‘Site’][‘path’].”/Record/”.$this->getUniqueID());

return $qrstring;
}

The following line has to be pasted into services/Record/Record.php (e.g. behind the line $interface->assign(‘openURL’, $this->recordDriver->getOpenURL());):
$interface->assign(‘qr’, $this->recordDriver->getQRString());

In your theme template (web/interface/themes/~theme~/RecordDrivers/Index/core.tpl) you need the following sourcecode:
<tr valign=”top”>
<th>{translate text=’QR-Code’}: </th>
<td>
<span class=”showqr”>
<a href=”#” onClick=’document.getElementById(“qrcode”).style.display = “block”; document.getElementById(“showqr”).style.display = “none”; document.getElementById(“hideqr”).style.display = “block”;’ id=”showqr”>{translate text=”Show QR-Code”}</a>
<a href=”#” onClick=’document.getElementById(“qrcode”).style.display = “none”; document.getElementById(“hideqr”).style.display = “none”; document.getElementById(“showqr”).style.display = “block”;’ style=”display:none;” id=”hideqr”>{translate text=”Hide QR-Code”}</a>
</span>
<div id=”qrcode” style=”display:none”>
<img alt=”QR-Image of this book” src=”{$path}/qr_img.php?d={$qr}”>
</div>
</td>
</tr>

If you are using a special language, you should put the following lines into your language file (e.g. lang/de.ini for german language):

QR-Code = “QR-Code”
Show QR-Code = “QR-Code zeigen”
Hide QR-Code = “QR-Code verbergen”

Finito!

Warning: If you copy and paste the code above, the quotation marks (double and single ones) might be exchanged with non-conform characters. the code has to be corrected manually when you paste it to the vufind sources! Or you can use a patchfile for Vufind 1.0.1: QR-Code-Patch Vufind 1.0.1. Save this file to the vufind main directory and execute the following command patch -p0 < vufind-1.0.1_qrcode.txt (without warranty!).