Browse Source

synch'ing 2.2 and head

3.0.x
tipaul 18 years ago
parent
commit
64cd740d2b
  1. 2
      koha-tmpl/intranet-tmpl/default/en/about.tmpl
  2. 11
      koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl
  3. 14
      koha-tmpl/intranet-tmpl/default/en/members/moremember.tmpl
  4. 66
      koha-tmpl/intranet-tmpl/default/en/reports/reports-home.tmpl
  5. 6
      koha-tmpl/intranet-tmpl/default/en/search.marc/result.tmpl
  6. 4
      koha-tmpl/intranet-tmpl/default/en/search.marc/search.tmpl
  7. 93
      koha-tmpl/intranet-tmpl/default/en/z3950/searchresult.tmpl
  8. 10
      koha-tmpl/opac-tmpl/css/en/includes/basket.js
  9. 6
      koha-tmpl/opac-tmpl/css/en/includes/opac-basket-top.inc
  10. 8
      koha-tmpl/opac-tmpl/css/en/includes/opac-top.inc
  11. 1
      koha-tmpl/opac-tmpl/css/en/includes/opac.css
  12. 70
      koha-tmpl/opac-tmpl/css/en/opac-MARCdetail.tmpl
  13. 2
      koha-tmpl/opac-tmpl/css/en/opac-addbookbybiblionumber.tmpl
  14. 44
      koha-tmpl/opac-tmpl/css/en/opac-basket.tmpl
  15. 46
      koha-tmpl/opac-tmpl/css/en/opac-detail.tmpl
  16. 17
      koha-tmpl/opac-tmpl/css/en/opac-main.tmpl
  17. 10
      koha-tmpl/opac-tmpl/css/en/opac-search.tmpl
  18. 8
      koha-tmpl/opac-tmpl/css/en/opac-searchresults.tmpl
  19. 3
      koha-tmpl/opac-tmpl/css/en/opac-sendbasket.tmpl
  20. 6
      koha-tmpl/opac-tmpl/css/en/opac-sendbasketform.tmpl
  21. 39
      koha-tmpl/opac-tmpl/css/en/opac-user.tmpl
  22. 19
      members/memberentry.pl
  23. 97
      misc/migration_tools/buildCOUNTRY.pl
  24. 149
      misc/overduenotices.pl
  25. 432
      misc/release notes/release_notes_222.txt
  26. 6
      misc/translator/VerboseWarnings.pm
  27. 65
      misc/translator/tmpl_process3.pl
  28. 5
      opac/opac-ISBDdetail.pl
  29. 52
      opac/opac-MARCdetail.pl
  30. 16
      opac/opac-addbookbybiblionumber.pl
  31. 10
      opac/opac-basket.pl
  32. 5
      opac/opac-detail.pl
  33. 2
      opac/opac-readingrecord.pl
  34. 2
      opac/opac-reserve.pl
  35. 18
      opac/opac-search.pl
  36. 2
      opac/opac-searchresults.pl
  37. 14
      opac/opac-sendbasket.pl
  38. 20
      opac/opac-serial-issues.pl
  39. 22
      opac/opac-shelves.pl
  40. 5
      opac/opac-sidebar.pl
  41. 2
      opac/opac-suggestions.pl
  42. 2
      opac/opac-user.pl
  43. 2
      opac/opac-userdetails.pl
  44. 2
      opac/opac-userupdate.pl
  45. 6
      reports/catalogue_stats.pl
  46. 7
      reports/itemtypes.plugin
  47. 9
      search.marc/search.pl
  48. 46
      updater/updatedatabase
  49. 31
      z3950/processz3950queue
  50. 3
      z3950/search.pl

2
koha-tmpl/intranet-tmpl/default/en/about.tmpl

@ -73,7 +73,7 @@
</div>
<div id="bloc25">
<h2>Translation</h2>
<p><label>French</label>Pascale Nalon (ENSMP) and Jean Yves Lemaire (Saint Germain sur Morin)</p>
<p><label>French</label>Pascale Nalon (ENSMP) and Jean Yves Lemaire (Chatel Saint Germain)</p>
<p><label>Chinese</label>Ambrose Li</p>
<p><label>Spanish</label>Andres Tarallo</p>
<p><label>Italian</label>Giuseppe Angilella</p>

11
koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl

@ -30,7 +30,7 @@
<!-- TMPL_IF NAME="ERROR_surname" -->
Surname<br>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="aERROR_ddress" -->
<!-- TMPL_IF NAME="ERROR_address" -->
Postal Street Address<br>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="ERROR_city" -->
@ -42,9 +42,10 @@
<input type="hidden" name="joining" value="<!-- TMPL_VAR NAME="dateenrolled" -->">
<input type="hidden" name="expiry" value="<!-- TMPL_VAR NAME="expiry" -->">
<input type="hidden" name="type" value="borrowers">
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="member" -->">
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->">
<input type="hidden" name="updtype" value="<!-- TMPL_VAR NAME="updtype" -->">
<input type="hidden" name="actionType" value="<!-- TMPL_VAR NAME="actionType" -->">
<input type="hidden" name="destination" value="<!-- TMPL_VAR NAME="destination" -->" />
<!-- TMPL_IF NAME="addAction" -->
<input type="hidden" name="op" value="add">
<!-- TMPL_ELSE -->
@ -152,7 +153,7 @@
<td>Joining Branch</td>
</tr>
<tr>
<td colspan="2"><input type="text" name="address" size="40" value="<!-- TMPL_VAR NAME="address" -->"></td>
<td colspan="2"><input type="text" name="streetaddress" size="40" value="<!-- TMPL_VAR NAME="address" -->"></td>
<td>
<input type="text" name="zipcode" size="10" maxlength="20" value="<!-- TMPL_VAR NAME="zipcode" -->">
</td>
@ -171,7 +172,7 @@
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><input type="text" name="streetaddress" size="40" value="<!-- TMPL_VAR NAME="streetaddress" -->"></td>
<td colspan="2"><input type="text" name="physstreet" size="40" value="<!-- TMPL_VAR NAME="physstreet" -->"></td>
<td>
<input type="text" name="homezipcode" size="10" maxlength="20" value="<!-- TMPL_VAR NAME="homezipcode" -->">
</td>
@ -244,7 +245,6 @@
<td>Circulation note (appears during issue/return)</td>
<td colspan="4"><textarea name="borrowernotes" cols="70" rows="3"><!-- TMPL_VAR NAME="borrowernotes" --></textarea></td>
</tr>
<!-- TMPL_IF NAME="modify" -->
<tr><td colspan="5">FLAGS</td></tr>
<!-- TMPL_LOOP NAME="flagloop" -->
<tr>
@ -254,7 +254,6 @@
</td>
</tr>
<!-- /TMPL_LOOP -->
<!-- /TMPL_IF -->
<tr>
<td colspan="5">The 2 following fields are available for your own usage. They can be useful for stat purposes</td>

14
koha-tmpl/intranet-tmpl/default/en/members/moremember.tmpl

@ -15,7 +15,8 @@
<label class="label100">Text messaging: </label><!-- TMPL_VAR NAME="textmessaging" --><br>
<label class="label100">Membership Number: </label><!-- TMPL_VAR NAME="borrowernumber" --><br>
<label class="label100">Membership Category: </label><!-- TMPL_VAR NAME="categorycode" --><br>
<label class="label100">Joined: </label><!-- TMPL_VAR NAME="dateenrolled" -->, Expires: <!-- TMPL_VAR NAME="expiry" --><br>
<label class="label100">Joined: </label><!-- TMPL_VAR NAME="dateenrolled" -->,<br>
<label class="label100"> Expires:</label><!-- TMPL_VAR NAME="expiry" --><br>
<label class="label100">Joining branch: </label><!-- TMPL_VAR NAME="branchcode" -->
</p>
<p>
@ -25,7 +26,6 @@
<!-- TMPL_UNLESS name="I" -->
<label class="label100">DoB: </label><!-- TMPL_VAR NAME="dateofbirth" --><br>
<label class="label100">Sex: </label><!-- TMPL_VAR NAME="sex" --><br>
Alternative
<!-- /TMPL_UNLESS -->
<label class="label100">Contact: </label><!-- TMPL_VAR NAME="contactname" --><br>
<label class="label100">Phone: </label><!-- TMPL_VAR NAME="altphone" --><br>
@ -66,7 +66,7 @@
<!-- TMPL_IF NAME="I" -->
<a href="/cgi-bin/koha/members/imemberentry.pl?bornum=<!-- TMPL_VAR NAME="bornum" -->" class="button">Modify</a>
<!-- TMPL_ELSE -->
<a href="/cgi-bin/koha/members/memberentry.pl?bornum=<!-- TMPL_VAR NAME="bornum" -->" class="button">Modify</a>
<a href="/cgi-bin/koha/members/memberentry.pl?borrowernumber=<!-- TMPL_VAR NAME="bornum" -->" class="button">Modify</a>
<!-- /TMPL_IF -->
<a href="javascript:confirm_deletion()" class="button">Delete</a>
<a href="/cgi-bin/koha/circ/circulation.pl?findborrower=<!-- TMPL_VAR NAME="cardnumber" -->" class="button">Issue books</a>
@ -172,13 +172,13 @@
<!-- TMPL_LOOP NAME="issueloop" -->
<tr>
<td><!-- TMPL_IF NAME="red" --><font color="red"><!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="title" --><!-- TMPL_IF NAME="red" --></font><!-- /TMPL_IF -->
<td><!-- TMPL_IF NAME="red" --><p class="problem"><!-- TMPL_ELSE --> <p><!-- /TMPL_IF -->
<!-- TMPL_VAR NAME="title" --> <!-- TMPL_IF name="itemcallnumber" --> <i>(<!-- TMPL_VAR name="itemcallnumber" -->)</i> <!-- /TMPL_IF -->
<a href="/cgi-bin/koha/moredetail.pl?item=<!-- TMPL_VAR NAME="itemnumber" -->&amp;bib=<!-- TMPL_VAR NAME="biblionumber" -->&amp;bi=<!-- TMPL_VAR NAME="biblioitemnumber" -->">
<!-- TMPL_VAR NAME="barcode" -->
</a>
</a></p>
</td>
<td><!-- TMPL_VAR NAME="date_due" --></td>
<td><!-- TMPL_IF NAME="red" --><p class="problem"><!-- TMPL_ELSE --> <p><!-- /TMPL_IF --><!-- TMPL_VAR NAME="date_due" --></p></td>
<td><!-- TMPL_VAR NAME="itemtype" --></td>
<td><!-- TMPL_VAR NAME="charge" --></td>
<td>

66
koha-tmpl/intranet-tmpl/default/en/reports/reports-home.tmpl

@ -4,31 +4,27 @@
<h1 class="reports">Reports</h1>
<table>
<tbody>
<tr>
<td>
<p>
<div id="bloc25">
<h2 class="reports">Top Lists </h2>
<p>on issues</p>
<ul>
<li><a href="/cgi-bin/koha/reports/bor_issues_top.pl">Borrowers</a></li>
<li><a href="/cgi-bin/koha/reports/cat_issues_top.pl">Items</a></li>
</ul>
</div>
</p>
<p>
<div id="bloc25">
<h2 class="reports">Stat wizard on </h2>
<p><a href="/cgi-bin/koha/reports/acquisitions_stats.pl">Acquisitions</a></p>
<p><a href="/cgi-bin/koha/reports/borrowers_stats.pl">Borrowers</a></p>
<p><a href="/cgi-bin/koha/reports/catalogue_stats.pl">Catalogue</a></p>
<p><a href="/cgi-bin/koha/reports/issues_stats.pl">Issues</a></p>
</div>
</p>
</td>
<td>
<div id="bloc25">
<h2 class="reports">Stat wizards</h2>
<ul>
<li><a href="/cgi-bin/koha/reports/acquisitions_stats.pl">Acquisitions</a></li>
<li><a href="/cgi-bin/koha/reports/borrowers_stats.pl">Borrowers</a></li>
<li><a href="/cgi-bin/koha/reports/catalogue_stats.pl">Catalogue</a></li>
<li><a href="/cgi-bin/koha/reports/issues_stats.pl">Circulation</a></li>
</ul>
</div>
<div id="bloc25">
<h2 class="reports">Top Lists</h2>
<ul>
<li><a href="/cgi-bin/koha/reports/bor_issues_top.pl">Most issuing Borrowers</a></li>
<li><a href="/cgi-bin/koha/reports/cat_issues_top.pl">Most issued items</a></li>
</ul>
<h2 class="reports">Outsiders</h2>
<ul>
<li><a href="/cgi-bin/koha/reports/borrowers_out.pl">Borrowers without issues</a></li>
<li><a href="/cgi-bin/koha/reports/catalogue_out.pl">Items not issued</a></li>
</ul>
</div>
<div id="bloc25">
<h2 class="reports">Other stats</h2>
<p>on catalogue</p>
@ -45,26 +41,6 @@
<li><a href="/cgi-bin/koha/reports/issues_avg_stats.pl">Average loan time</a></li>
</ul>
</div>
</td>
<td>
<p>
<div id="bloc25">
<h2 class="reports">Outsiders</h2>
<p><a href="/cgi-bin/koha/reports/borrowers_out.pl">No issue Borrowers</a></p>
<p><a href="/cgi-bin/koha/reports/catalogue_out.pl">No issue Items</a></p>
</div>
</p>
<div id="bloc25">
<h2 class="reports">data exports</h2>
<li>Borrowers</li>
<li>Circulation</li>
<li>Acquisitions</li>
<li>Issues</li>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- TMPL_INCLUDE NAME="reports-bottom.inc" -->

6
koha-tmpl/intranet-tmpl/default/en/search.marc/result.tmpl

@ -13,6 +13,7 @@
<table>
<tr>
<th class="catalogue">Summary</th>
<th class="catalogue">Item type</th>
<th class="catalogue">Item Count</th>
<th class="catalogue">Location</th>
<th class="catalogue">&nbsp;</th>
@ -32,6 +33,9 @@
<!-- TMPL_IF NAME="size" --> ; <!-- TMPL_VAR NAME="size" --><!-- /TMPL_IF -->
</p>
</td>
<td align="center" <!-- TMPL_IF NAME="even" --> class="hilighted"<!-- /TMPL_IF -->>
<p><!-- TMPL_VAR NAME="description" --></p>
</td>
<td align="center" <!-- TMPL_IF NAME="even" --> class="hilighted"<!-- /TMPL_IF -->>
<!-- TMPL_VAR NAME="totitem" -->
</td>
@ -55,7 +59,7 @@
</td>
<td <!-- TMPL_IF NAME="even" -->class="hilighted"<!-- /TMPL_IF -->>
<!-- TMPL_UNLESS name="norequests" -->
<a class="button catalogue" href="/cgi-bin/koha/request.pl?bib=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">Request</a>
<p><a class="button catalogue" href="/cgi-bin/koha/request.pl?bib=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">Request</a></p>
<!-- TMPL_ELSE -->
<p>Not Reservable</p>
<!-- /TMPL_UNLESS -->

4
koha-tmpl/intranet-tmpl/default/en/search.marc/search.tmpl

@ -152,6 +152,10 @@
<option value="biblioitems.publicationyear">Publication Year</option>
<option value="biblioitems.publishercode">Publisher</option>
</select>
<select name="desc_or_asc" size="1">
<option value="ASC">Ascending</option>
<option value="DESC">Descending</option>
</select>
</p>
<p>
<input type="submit" value="Start search" class="button catalogue">

93
koha-tmpl/intranet-tmpl/default/en/z3950/searchresult.tmpl

@ -1,45 +1,58 @@
<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- TMPL_IF NAME="refresh" -->
<meta http-equiv="refresh" content="2; url=<!-- TMPL_VAR NAME="refresh" -->">
<!-- /TMPL_IF -->
<font size="6"><em>Z3950 Search Results</em></font><br />
<table width="80%" cellpadding="3">
<tr valign="center">
<td><font size="4">Biblios found</font></td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="5" width="80%">
<tr valign="top" bgcolor="#ffcc00">
<td><b>Title</b></td>
<td><b>Author</b></td>
<td><b>ISBN</b></td>
<td><b>coming from</b></td>
<td><b>&nbsp;</b></td>
<td>&nbsp;</td>
</tr>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!-- TMPL_IF NAME="refresh" -->
<meta http-equiv="refresh" content="2; url=<!-- TMPL_VAR NAME="refresh" -->">
<!-- /TMPL_IF -->
<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR name="themelang" -->/includes/common-style.css">
<style type="text/css">
.catalogue {
background-color:#ad11ad;
color:#FFFFFF;
background-image:none;
text-decoration: normal;
}
a.catalogue:hover {
background-color: #ad11ad;
color: #FFFFFF;
text-decoration: none;
}
</style>
</head>
<body>
<div id="mainbloc">
<h2 class="catalogue">Z3950 Search Results</h2>
<!-- TMPL_IF NAME="breeding_loop" -->
<!-- TMPL_LOOP NAME="breeding_loop" -->
<tr valign="top" bgcolor="<!-- TMPL_VAR NAME="toggle" -->">
<td><!-- TMPL_VAR NAME="title" --></a>
<td><!-- TMPL_VAR NAME="author" --></td>
<td><!-- TMPL_VAR NAME="isbn" --></td>
<td><!-- TMPL_VAR NAME="file" --></td>
<td><a href="javascript:Import(<!-- TMPL_VAR NAME="id" -->)">Import this biblio</a></td>
</tr>
<!-- /TMPL_LOOP -->
<table>
<tr>
<th class="catalogue">Title</th>
<th class="catalogue">Author</th>
<th class="catalogue">ISBN</th>
<th class="catalogue">coming from</th>
<th class="catalogue">&nbsp;</th>
<th class="catalogue">&nbsp;</th>
</tr>
<!-- TMPL_LOOP NAME="breeding_loop" -->
<tr bgcolor="<!-- TMPL_VAR NAME="toggle" -->">
<td><!-- TMPL_VAR NAME="title" --></td>
<td><!-- TMPL_VAR NAME="author" --></td>
<td><!-- TMPL_VAR NAME="isbn" --></td>
<td><!-- TMPL_VAR NAME="file" --></td>
<td><a href="javascript:Import(<!-- TMPL_VAR NAME="id" -->)">Import this biblio</a></td>
</tr>
<!-- /TMPL_LOOP -->
</table>
<!-- TMPL_ELSE -->
<tr><td colspan="6">Nothing found</td></tr>
<p>Nothing found</p>
<!-- /TMPL_IF -->
</table>
<!-- TMPL_IF NAME="numberpending" --><h1><center>Still <!-- TMPL_VAR NAME="numberpending" --> requests to go</center></h1><!-- /TMPL_IF -->
<br />
<script language="javascript" type="text/javascript">
function Import(GetThisOne) {
opener.document.location= "../acqui.simple/addbiblio.pl?z3950=1&oldbiblionumber=<!-- TMPL_VAR NAME="oldbiblionumber" -->&breedingid="+GetThisOne;
self.close();
return false;
}
</script>
<!-- TMPL_IF NAME="numberpending" --><h1 class="catalogue">Still <!-- TMPL_VAR NAME="numberpending" --> requests to go</h1><!-- /TMPL_IF -->
<script language="javascript" type="text/javascript">
function Import(GetThisOne) {
opener.document.location= "../acqui.simple/addbiblio.pl?z3950=1&oldbiblionumber=<!-- TMPL_VAR NAME="oldbiblionumber" -->&breedingid="+GetThisOne;
self.close();
return false;
}
</script>
</div>
<!-- TMPL_INCLUDE NAME="acquisitions-bottom.inc" -->

10
koha-tmpl/opac-tmpl/css/en/includes/basket.js

@ -295,14 +295,6 @@ function delBasket() {
function quit() {
if (document.myform.records.value) {
var rep = false;
rep = confirm(MSG_CONFIRM_DEL_RECORDS);
if (rep) {
delSelRecords();
}
}
updateBasket(arrayRecords.length-1,top.opener.document);
window.close();
}
@ -313,7 +305,7 @@ function sendBasket() {
var loc = CGIBIN + "opac-sendbasket.pl?" + strCookie;
var optWin="dependant=yes,scrollbars=no,resizable=no,height=300,width=400,top=50,left=100";
var optWin="dependant=yes,scrollbars=no,resizable=no,height=300,width=600,top=50,left=100";
var win_form = open(loc,"win_form",optWin);
}

6
koha-tmpl/opac-tmpl/css/en/includes/opac-basket-top.inc

@ -5,7 +5,11 @@
<head>
<title>OPAC Basket</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR name="themelang">/includes/opac.css">
<!-- TMPL_IF name="opacstylesheet" -->
<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR name="opacstylesheet"-->" />
<!-- TMPL_ELSE -->
<link rel="stylesheet" type="text/css" href="<!-- TMPL_VAR name="themelang"-->/includes/opac.css" />
<!-- /TMPL_IF -->
<script type="text/javascript" language="javascript" src="<!-- TMPL_VAR NAME="themelang" -->/includes/basket.js"></script>
<script language="JavaScript" type="text/javascript">
function _(s) { return s } // dummy function for gettext

8
koha-tmpl/opac-tmpl/css/en/includes/opac-top.inc

@ -38,6 +38,14 @@
<a class="menu" href="/cgi-bin/koha/opac-main.pl" title="Koha home page">Home</a>
<span class="spacer">&nbsp;</span>
<a class="menu" href="/cgi-bin/koha/opac-search.pl" title="Advanced search">Advanced search</a>
<!-- TMPL_IF NAME="loggedinusername" -->
<!-- TMPL_IF name="virtualshelves" -->
<a href="/cgi-bin/koha/opac-shelves.pl" class="menu">Virtual shelves</a>
<!-- /TMPL_IF -->
<!-- TMPL_IF name="suggestion" -->
<a href="opac-suggestions.pl" class="menu">View & manage suggestions</a>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<span class="spacer">&nbsp;</span>
<a class="menu" href="/cgi-bin/koha/opac-user.pl" title="Member Home page" >Personal page</a>
<span class="spacer">&nbsp;</span>

1
koha-tmpl/opac-tmpl/css/en/includes/opac.css

@ -340,6 +340,7 @@ select:hover {
/* float:left; */
margin-bottom:10px;
-moz-border-radius: 6px;
display:inline;
}
#menuline {

70
koha-tmpl/opac-tmpl/css/en/opac-MARCdetail.tmpl

@ -64,9 +64,11 @@
<div name="0XX" id="0XX" class="tab" style="visibility:visible">
<!-- TMPL_LOOP name="0XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -74,6 +76,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -81,9 +88,11 @@
<div name="1XX" id="1XX" class="tab">
<!-- TMPL_LOOP name="1XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -91,6 +100,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -98,9 +112,11 @@
<div name="2XX" id="2XX" class="tab">
<!-- TMPL_LOOP name="2XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -108,6 +124,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -115,9 +136,11 @@
<div name="3XX" id="3XX" class="tab">
<!-- TMPL_LOOP name="3XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -125,6 +148,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -132,9 +160,11 @@
<div name="4XX" id="4XX" class="tab">
<!-- TMPL_LOOP name="4XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -142,6 +172,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -149,9 +184,11 @@
<div name="5XX" id="5XX" class="tab">
<!-- TMPL_LOOP name="5XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -159,6 +196,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -166,9 +208,11 @@
<div name="6XX" id="6XX" class="tab">
<!-- TMPL_LOOP name="6XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -176,6 +220,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -183,9 +232,11 @@
<div name="7XX" id="7XX" class="tab">
<!-- TMPL_LOOP name="7XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -193,6 +244,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -200,9 +256,11 @@
<div name="8XX" id="8XX" class="tab">
<!-- TMPL_LOOP name="8XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -210,6 +268,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->
@ -217,9 +280,11 @@
<div name="9XX" id="9XX" class="tab">
<!-- TMPL_LOOP name="9XX" -->
<!-- TMPL_IF name="tag" -->
<p class="MARCtag">
<!-- TMPL_VAR name="tag" -->
</p>
<!-- /TMPL_IF -->
<!-- TMPL_LOOP name="subfield" -->
<p>
<label class="labelsubfield">
@ -227,6 +292,11 @@
<!-- TMPL_VAR name="marc_lib" -->
</label>
<!-- TMPL_VAR name="marc_value" -->
<!-- TMPL_IF name="link" -->
<a href="search.marc/search.pl?op=do_search&amp;marclist=<!-- TMPL_VAR NAME="link" -->&amp;operator==&amp;type=intranet&amp;value=<!-- TMPL_VAR NAME="marc_value" ESCAPE=URL -->">
<img border="0" src="<!-- TMPL_VAR NAME="interface" -->/<!-- TMPL_VAR NAME="theme" -->/<!-- TMPL_VAR NAME="lang" -->/images/filefind.png" height="15" title="Search on <!-- TMPL_VAR name="marc_value" -->">
</a>
<!-- /TMPL_IF -->
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_LOOP -->

2
koha-tmpl/opac-tmpl/css/en/opac-addbookbybiblionumber.tmpl

@ -6,8 +6,6 @@
<h2>Select bookshelf</h2>
<form>
<p><label>Add to virtual shelf</label><!-- TMPL_VAR NAME="CGIbookshelves" --></p>
</form>
<form>
<h2>or add to a new bookshelf</h2>
<p><input type="text" name="newbookshelf" maxlength=40 size=40>
<input type="hidden" name="biblionumber" value="<!-- TMPL_VAR NAME="biblionumber" -->">

44
koha-tmpl/opac-tmpl/css/en/opac-basket.tmpl

@ -4,6 +4,7 @@
<!-- TMPL_ELSE -->
<body style="padding-bottom:20px;">
<!-- TMPL_INCLUDE NAME="opac-basket-menu.inc" -->
<form name='myform'><input type='hidden' name='records'></form>
<!-- /TMPL_IF -->
<div id="mainbloc" style="margin-top:10px;margin-bottom:20px;padding-top:10px;padding-bottom:10px;">
<!-- TMPL_IF NAME="verbose" -->
@ -109,10 +110,24 @@
<td> <!-- TMPL_VAR NAME="url" --></td>
</tr>
<!-- /TMPL_IF -->
<tr>
<th>location</th>
<th>barcode</th>
</tr>
<!-- TMPL_LOOP NAME="ITEM_RESULTS" -->
<tr>
<td>
<!-- TMPL_VAR NAME="branchname" --> <!-- TMPL_VAR NAME="location" -->
<!-- TMPL_IF name="itemcallnumber" -->
(<!-- TMPL_VAR NAME="itemcallnumber" -->)
<!-- /TMPL_IF -->
</td>
<td><!-- TMPL_VAR NAME="barcode" --></td>
</tr>
<!-- /TMPL_LOOP -->
</table>
<!-- /TMPL_LOOP -->
<!-- TMPL_ELSE -->
<!-- TMPL_LOOP NAME="BIBLIO_RESULTS" -->
<div width="100%" style="margin-top:0px;margin-bottom:0px;padding-top:10px;padding-bottom:10px;">
<table cellspacing="0" style="border:0;width:100%;">
@ -126,7 +141,7 @@
<table cellspacing="0">
<!-- BIBLIO RECORD TABLE -->
<tr>
<th>
<th colspan="2">
<a onClick="javascript:openBiblio(<!-- TMPL_VAR name="biblionumber" -->)"><!-- TMPL_VAR NAME="title" --></a>
</th>
</tr>
@ -152,17 +167,26 @@
<!-- TMPL_IF name="url" --><b>URL:</b> <!-- TMPL_VAR NAME="url" --><br><!-- /TMPL_IF -->
</td>
</tr>
<tr>
<th>location</th>
<th>barcode</th>
</tr>
<!-- TMPL_LOOP NAME="ITEM_RESULTS" -->
<tr>
<td>
<!-- TMPL_VAR NAME="branchname" --> <!-- TMPL_VAR NAME="location" -->
<!-- TMPL_IF name="itemcallnumber" -->
(<!-- TMPL_VAR NAME="itemcallnumber" -->)
<!-- /TMPL_IF -->
</td>
<td><!-- TMPL_VAR NAME="barcode" --></td>
</tr>
<!-- /TMPL_LOOP -->
</table>
</td>
</tr>
</td></tr>
</table>
</div>
</div>
<!-- /TMPL_LOOP -->
<!-- /TMPL_IF -->
</div>
<!-- TMPL_UNLESS NAME="print_basket" -->
<!-- TMPL_INCLUDE NAME="opac-basket-menu.inc" -->
<FORM name='myform'><INPUT type='hidden' name='records'></FORM>
<!-- /TMPL_UNLESS -->
<!-- TMPL_INCLUDE NAME="opac-basket-bottom.inc" -->

46
koha-tmpl/opac-tmpl/css/en/opac-detail.tmpl

@ -34,7 +34,6 @@
<!-- TMPL_LOOP NAME="BIBLIO_RESULTS" -->
<h1><!-- TMPL_VAR NAME="title" --> <!-- TMPL_VAR NAME="class" --></h1>
<p>
<div id="bibliobloc">
<table cellspacing="0">
<!-- BIBLIO RECORD TABLE -->
@ -46,37 +45,40 @@
<tr>
<td>
<!-- TMPL_IF name="subtitles" -->
<label><b>Subtitle(s):</b> </label>
<p><label><b>Subtitle(s):</b> </label>
<!-- TMPL_LOOP name="subtitles" -->
<!-- TMPL_VAR NAME="subtitle" --> ;
<!-- /TMPL_LOOP -->
<br />
</p>
<!-- /TMPL_IF -->
<!-- TMPL_IF name="author" --><label><b>Author:</b> </label><!-- TMPL_VAR NAME="author" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="additional" --><label><b>Additional Author:</b></label><!-- TMPL_VAR NAME="additional" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="publishercode" --><label><b>Published by :</b></label><!-- /TMPL_IF --> <!-- TMPL_VAR NAME="publishercode" --><br />
<!-- TMPL_IF name="publicationyear" --><label><b>in </b></label><!-- /TMPL_IF --><!-- TMPL_VAR NAME="publicationyear" -->
<!-- TMPL_IF name="pages" -->, <!-- /TMPL_IF --><!-- TMPL_VAR name="pages" -->
<!-- TMPL_IF name="size" -->, <!-- /TMPL_IF --><!-- TMPL_VAR name="size" --><br />
<!-- TMPL_IF name="isbn" --><label><b>ISBN:</b> </label><!-- TMPL_VAR NAME="isbn" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="seriestitle" --><label><b>Collection:</b> </label><!-- TMPL_VAR NAME="seriestitle" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="subjects" --><label><b>Subject(s):</b> </label>
<!-- TMPL_IF name="author" --><p><label><b>Author:</b> </label><!-- TMPL_VAR NAME="author" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="additional" --><p><label><b>Additional Author:</b></label><!-- TMPL_VAR NAME="additional" --></p><!-- /TMPL_IF -->
<p><!-- TMPL_IF name="publishercode" --><label><b>Published by :</b></label><!-- /TMPL_IF --> <!-- TMPL_VAR NAME="publishercode" --></p>
<p>
<!-- TMPL_IF name="publicationyear" --><label><b>in </b></label><!-- /TMPL_IF --><!-- TMPL_VAR NAME="publicationyear" -->
<!-- TMPL_IF name="pages" -->, <!-- /TMPL_IF --><!-- TMPL_VAR name="pages" -->
<!-- TMPL_IF name="size" -->, <!-- /TMPL_IF --><!-- TMPL_VAR name="size" -->
</p>
<!-- TMPL_IF name="isbn" --><p><label><b>ISBN:</b> </label><!-- TMPL_VAR NAME="isbn" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="issn" --><p><label><b>ISSN:</b> </label><!-- TMPL_VAR NAME="issn" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="seriestitle" --><p><label><b>Collection:</b> </label><!-- TMPL_VAR NAME="seriestitle" --> <!-- TMPL_IF name="volume" -->vol. <!-- TMPL_VAR name="volume" --><!-- /TMPL_IF --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="subjects" --><p><label><b>Subject(s):</b> </label></p>
<!-- TMPL_LOOP name="subjects" -->
<a href="/cgi-bin/koha/opac-search.pl?op=do_search&marclist=bibliosubject.subject&and_or=and&operator=contains&value=<!-- TMPL_VAR NAME="subject" escape="HTML"-->"><!-- TMPL_VAR NAME="subject" --></a>, <!-- /TMPL_LOOP -->
<br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="copyrightdate" --><label><b>Year :</b> </label><!-- TMPL_VAR NAME="copyrightdate" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="notes" --><label><b>Notes:</b> </label><!-- TMPL_VAR NAME="notes" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="unititle" --><label><b>Unititle:</b> </label><!-- TMPL_VAR NAME="unititle" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="dewey" --><label><b>Dewey:</b></label><!-- TMPL_VAR name="dewey" --><br /><!-- /TMPL_IF -->
<!-- TMPL_IF name="url" --><label><b>URL:</b> </label><a href="<!-- TMPL_VAR name="url" -->"><!-- TMPL_VAR NAME="url" --></a><br /><!-- /TMPL_IF -->
<label><b>Item type : </b></label>
<p><a href="/cgi-bin/koha/opac-search.pl?op=do_search&marclist=bibliosubject.subject&and_or=and&operator=contains&value=<!-- TMPL_VAR NAME="subject" escape="HTML"-->"><!-- TMPL_VAR NAME="subject" --></a>, </p> <!-- /TMPL_LOOP -->
<!-- /TMPL_IF -->
<!-- TMPL_IF name="copyrightdate" --><p><label><b>Year :</b> </label><!-- TMPL_VAR NAME="copyrightdate" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="notes" --><p><label><b>Notes:</b> </label><!-- TMPL_VAR NAME="notes" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="unititle" --><p><label><b>Unititle:</b> </label><!-- TMPL_VAR NAME="unititle" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="dewey" --><p><label><b>Dewey:</b></label><!-- TMPL_VAR name="dewey" --></p><!-- /TMPL_IF -->
<!-- TMPL_IF name="url" --><p><label><b>URL:</b> </label><a href="<!-- TMPL_VAR name="url" -->"><!-- TMPL_VAR NAME="url" --></a></p><!-- /TMPL_IF -->
<p><label><b>Item type : </b></label>
<!-- TMPL_IF name="description" -->
<!-- TMPL_VAR name="description" -->
<!-- TMPL_ELSE -->
<!-- TMPL_VAR NAME="itemtype" -->
<!-- /TMPL_IF -->
<br/>
<b>Total Number of Items:</b> <!-- TMPL_VAR NAME="count" -->
</p>
<p><b>Total Number of Items:</b> <!-- TMPL_VAR NAME="count" --></p>
</td>
</tr>
</table>

17
koha-tmpl/opac-tmpl/css/en/opac-main.tmpl

@ -45,7 +45,8 @@
<input type="hidden" name="operator" value="=" />
<input type="hidden" name="op" value="do_search" />
<input type="hidden" name="type" value="opac" />
<input type="hidden" name="orderby" value="biblio.timestamp desc">
<input type="hidden" name="orderby" value="biblio.timestamp" />
<input type="hidden" name="desc_or_asc" value="desc" />
<input type="submit" value="OK" class="button" />
</p>
</form>
@ -72,12 +73,14 @@
<p><a href="/cgi-bin/koha/opac-user.pl">Log in to Koha</a> to have personal options.</p>
<!-- /TMPL_IF -->
<form action="/cgi-bin/koha/changelanguage.pl" method="post">
<select name="language">
<TMPL_LOOP NAME="languages">
<option value="<TMPL_VAR NAME="language">"><TMPL_VAR NAME="language"></option>
</TMPL_LOOP>
</select>
<input type="submit" value="Change Language" class="button">
<p>
<select name="language">
<TMPL_LOOP NAME="languages">
<option value="<TMPL_VAR NAME="language">"><TMPL_VAR NAME="language"></option>
</TMPL_LOOP>
</select>
<input type="submit" value="Change Language" class="button" />
</p>
</form>
<p class="copyright">
This Library is powered by <a href="http://www.koha.org">Koha</a> free software ILS, and compliant with web standards

10
koha-tmpl/opac-tmpl/css/en/opac-search.tmpl

@ -113,7 +113,8 @@
<input type="hidden" name="operator" value="<=" />
<input type="text" name="value" size="6" maxlength="4" onchange="sql_update()" />
</p>
<p>Results per page :
<p>
<label class="label20">Results per page</label>
<select name="resultsperpage" size="1">
<option value="20">20</option>
<option value="50">50</option>
@ -130,7 +131,12 @@
<option value="biblioitems.publishercode">Publisher</option>
<option value="biblio.timestamp desc">Acquisition date</option>
</select>
</p>
<select name="desc_or_asc" size="1">
<option value="ASC">Ascending</option>
<option value="DESC">Descending</option>
</select>
</p>
</div>
<p>
<input type="submit" value="Start search" class="button catalogue" />

8
koha-tmpl/opac-tmpl/css/en/opac-searchresults.tmpl

@ -42,6 +42,7 @@
<table>
<tr>
<th colspan="2">Summary</th>
<th>Item type</th>
<th>Item Count</th>
<th>Location</th>
<th>&nbsp;</th>
@ -73,6 +74,9 @@
<!-- TMPL_IF name="timestamp" --> <i>(modified on <!-- TMPL_VAR name="timestamp" -->)</i><!-- /TMPL_IF -->
</p>
</td>
<td align="center" <!-- TMPL_IF name="even" --> class="hilighted"<!-- /TMPL_IF -->>
<!-- TMPL_VAR name="description" -->
</td>
<td align="center" <!-- TMPL_IF name="even" --> class="hilighted"<!-- /TMPL_IF -->>
<!-- TMPL_VAR name="totitem" -->
</td>
@ -96,9 +100,7 @@
</td>
<td <!-- TMPL_IF name="even" -->class="hilighted"<!-- /TMPL_IF -->>
<!-- TMPL_UNLESS NAME="norequests" -->
<a class="transparent" href="/cgi-bin/koha/opac-reserve.pl?bib=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">Request</a>
<!-- TMPL_ELSE -->
Not Reservable
<a class="button" href="/cgi-bin/koha/opac-reserve.pl?bib=<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->">Request</a>
<!-- /TMPL_UNLESS -->
</td>
</tr>

3
koha-tmpl/opac-tmpl/css/en/opac-sendbasket.tmpl

@ -29,6 +29,9 @@ Dewey: <!-- TMPL_VAR name="dewey" --><!-- /TMPL_IF --><!-- TMPL_IF name="classi
Classification: <!-- TMPL_VAR name="classification" --><!-- /TMPL_IF --><!-- TMPL_IF name="lccn" -->
LCCN: <!-- TMPL_VAR name="lccn" --><!-- /TMPL_IF --><!-- TMPL_IF name="url" -->
URL : <!-- TMPL_VAR NAME="url" --><!-- /TMPL_IF -->
Items : <!-- TMPL_LOOP NAME="ITEM_RESULTS" -->
<!-- TMPL_VAR NAME="branchname" --> <!-- TMPL_VAR NAME="location" --> <!-- TMPL_IF name="itemcallnumber" -->(<!-- TMPL_VAR NAME="itemcallnumber" -->)<!-- /TMPL_IF --> <!-- TMPL_VAR NAME="barcode" -->
<!-- /TMPL_LOOP -->
---------------------------------------------
<!-- /TMPL_LOOP -->
<END_MESSAGE>

6
koha-tmpl/opac-tmpl/css/en/opac-sendbasketform.tmpl

@ -10,14 +10,14 @@
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<form action="<!-- TMPL_VAR NAME="url" -->" method="post">
<p><label>mail sent by</label><input name="email_sender" size="25" /></p>
<p><label>E-mail address</label><input name="email_add" size="25" /></p>
<p><label class="label100">mail sent by</label><input name="email_sender" size="25" /></p>
<p><label class="label100">E-mail address</label><input name="email_add" size="25" /></p>
<p><label>&nbsp;</label><input type="submit" value="Send" class="button" /></p>
<input type='hidden' name="bib_list" value="<!-- TMPL_VAR NAME="bib_list" -->" />
</form>
<!-- /TMPL_IF -->
</div>
<div id="bottombloc">
<p><a href="javascript:this.close()">Close</a></p>
<p><a href="javascript:this.close()" class="button">Close</a></p>
</div>
<!-- TMPL_INCLUDE NAME="opac-basket-bottom.inc" -->

39
koha-tmpl/opac-tmpl/css/en/opac-user.tmpl

@ -4,10 +4,11 @@
<div class="bloc20">
<h2>Are our records correct?</h2>
<p>Library Card: <!-- TMPL_VAR NAME="cardnumber" --> </p>
<p><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --> (<!-- TMPL_VAR NAME="title" -->) </p>
<p><!-- TMPL_VAR NAME="streetaddress" -->, <!-- TMPL_VAR NAME="city" --></p>
<p><!-- TMPL_VAR NAME="phone" --> (hm)</p>
<p><!-- TMPL_VAR NAME="faxnumber" --> (wk)</p>
<p><!-- TMPL_VAR NAME="title" --> <!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --></p>
<p><!-- TMPL_VAR NAME="streetaddress" -->, <!-- TMPL_VAR NAME="zipcode" --> <!-- TMPL_VAR NAME="city" --></p>
<p><!-- TMPL_VAR NAME="physstreet" -->, <!-- TMPL_VAR NAME="homezipcode" --> <!-- TMPL_VAR NAME="streetcity" --></p>
<p><!-- TMPL_VAR NAME="phone" --> <!-- TMPL_IF name="phone" -->(hm)<!-- /TMPL_IF --></p>
<p><!-- TMPL_VAR NAME="faxnumber" --> <!-- TMPL_IF name="fawnumber" -->(wk)<!-- /TMPL_IF --></p>
<p><!-- TMPL_VAR NAME="emailaddress" --></p>
<p><a href="/cgi-bin/koha/opac-userupdate.pl" class="button">Update Record</a></p>
</div>
@ -59,15 +60,27 @@
<th>Renewable</th>
</tr>
<!-- TMPL_LOOP NAME="ISSUES" -->
<tr>
<td><!-- TMPL_VAR NAME="title" --></td>
<td><!-- TMPL_VAR NAME="author" --></td>
<td><!-- TMPL_VAR NAME="date_due" --></td>
<td><!-- TMPL_VAR NAME="itemtype" --></td>
<td><!-- TMPL_VAR NAME="barcode" --></td>
<td><!-- TMPL_IF NAME="charges" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
<td><!-- TMPL_IF NAME="status" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
</tr>
<!-- TMPL_IF name="overdue"-->
<tr>
<td><!-- TMPL_VAR NAME="title" --></td>
<td><!-- TMPL_VAR NAME="author" --></td>
<td><b>OVERDUE <!-- TMPL_VAR NAME="date_due" --></b></td>
<td><!-- TMPL_VAR NAME="itemtype" --></td>
<td><!-- TMPL_VAR NAME="barcode" --></td>
<td><!-- TMPL_IF NAME="charges" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
<td><!-- TMPL_IF NAME="status" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
</tr>
<!-- TMPL_ELSE -->
<tr>
<td><!-- TMPL_VAR NAME="title" --></td>
<td><!-- TMPL_VAR NAME="author" --></td>
<td><!-- TMPL_VAR NAME="date_due" --></td>
<td><!-- TMPL_VAR NAME="itemtype" --></td>
<td><!-- TMPL_VAR NAME="barcode" --></td>
<td><!-- TMPL_IF NAME="charges" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
<td><!-- TMPL_IF NAME="status" -->Yes<!-- TMPL_ELSE -->No<!-- /TMPL_IF --></td>
</tr>
<!-- /TMPL_IF -->
<!-- /TMPL_LOOP -->
</table>
<!-- TMPL_ELSE -->

19
members/memberentry.pl

@ -52,7 +52,7 @@ my ($template, $loggedinuser, $cookie)
debug => 1,
});
my $member=$input->param('bornum');
my $borrowernumber=$input->param('borrowernumber');
my $actionType=$input->param('actionType') || '';
my $modify=$input->param('modify');
my $delete=$input->param('delete');
@ -100,7 +100,7 @@ if ($op eq 'add' or $op eq 'modify') {
push @errors,"ERROR_surname";
$nok=1;
}
if ($data{'address'} eq ''){
if ($data{'streetaddress'} eq ''){
push @errors, "ERROR_address";
$nok=1;
}
@ -120,7 +120,13 @@ if ($op eq 'add' or $op eq 'modify') {
if (my $data2=$sth->fetchrow_hashref){
&modmember(%data);
}else{
$data{borrowernumber} = &newmember(%data);
$borrowernumber = &newmember(%data);
}
if($destination eq "circ"){
print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$data{'cardnumber'}");
} else {
print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
}
if($destination eq "circ"){
@ -131,7 +137,7 @@ if ($op eq 'add' or $op eq 'modify') {
}
}
if ($delete){
print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$member");
print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowernumber");
} else { # this else goes down the whole script
if ($actionType eq 'Add'){
$template->param( addAction => 1);
@ -146,7 +152,7 @@ if ($delete){
$data->{$key}=$input->param($key);
}
} else {
$data=borrdata('',$member);
$data=borrdata('',$borrowernumber);
}
if ($actionType eq 'Add'){
$template->param( updtype => 'I');
@ -243,7 +249,8 @@ if ($delete){
initials => $data->{'initials'},
ethcatpopup => $ethcatpopup,
catcodepopup => $catcodepopup,
streetaddress => $data->{'physstreet'},
streetaddress => $data->{'streetaddress'},
physstreet => $data->{'physstreet'},
zipcode => $data->{'zipcode'},
streetcity => $data->{'streetcity'},
homezipcode => $data->{'homezipcode'},

97
misc/migration_tools/buildCOUNTRY.pl

@ -0,0 +1,97 @@
#!/usr/bin/perl
# script that rebuild thesaurus from biblio table.
# delete FROM `marc_subfield_table` WHERE tag = "606" AND subfieldcode = 9;
use strict;
# Koha modules used
# use MARC::File::USMARC;
# use MARC::Record;
# use MARC::Batch;
use C4::Context;
use C4::Biblio;
use C4::AuthoritiesMarc;
use Time::HiRes qw(gettimeofday);
use Getopt::Long;
my ( $fields, $number,$language) = ('',0);
my ($version, $verbose, $test_parameter, $field,$delete,$subfields);
GetOptions(
'h' => \$version,
'd' => \$delete,
't' => \$test_parameter,
's:s' => \$fields,
'v' => \$verbose,
'l:s' => \$language,
);
if ($version or !$fields) {
print <<EOF
Small script to recreate the COUNTRY list in authorised values from existing countries in the catalogue.
This script is useful when you migrate your datas with bulkmarcimport.pl as it populates parameters tables that are not modified by bulkmarcimport.
parameters :
\th : this version/help screen
\ts : the field or field list where the lang codes are stored.
\td : delete every entry of COUNTRY category before doing work.
\tl : the language of the language list (fr or en for instance)
The table is populated with iso codes and meaning (in french).
If the complete language name is unknown, the code is used instead and you will be warned by the script
SAMPLES :
./buildCOUNTRY.pl -d -s "('102a')"
EOF
;#
exit;
}
my %codesiso;
%codesiso = (
'eng' => 'english',
'fre' => 'french'
);
%codesiso = (
'an' => 'Antilles Néerlandaises',
'at' => 'Autriche',
'cr' => 'Costa Rica',
'er' => 'Erythrée',
'fr' => ' France',
'in' => 'Inde',
'is' => 'Islande',
'lt' => 'Lituanie',
'nd' => 'Pays Bas',
'nf' => 'Norfolk',
'ng' => 'Nigéria',
'pa' => 'Manama',
'pn' => 'Pitcairn',
're' => 'Réunion (ile)',
'sp' => 'Espagne',
'us' => 'Etats Unis',
) if $language eq 'fr';
my $dbh = C4::Context->dbh;
if ($delete) {
print "deleting country list\n";
$dbh->do("delete from authorised_values where category='COUNTRY'");
}
if ($test_parameter) {
print "TESTING MODE ONLY\n DOING NOTHING\n===============\n";
}
my $starttime = gettimeofday;
my $sth = $dbh->prepare("SELECT count(*) as tot,subfieldvalue FROM marc_subfield_table WHERE tag + subfieldcode IN $fields group by subfieldvalue");
$sth->execute;
my $i=1;
print "=========================\n";
my $sth2 = $dbh->prepare("insert into authorised_values (category, authorised_value, lib) values (?,?,?)");
while (my ($tot,$langue) = $sth->fetchrow) {
$sth2->execute('COUNTRY',$langue,$langue?$codesiso{$langue}:$langue);
print "$langue is unknown is iso list (used $tot times)\n" unless $codesiso{$langue};
}
print "=========================\n";

149
misc/overduenotices.pl

@ -38,20 +38,37 @@ use strict;
use C4::Context;
use C4::Date;
use Mail::Sendmail; # comment out if not doing e-mail notices
use Getopt::Long;
print "This script will send overdue notices by e-mail and prepare a file of\nnotices for printing if the borrower does not have e-mail.\nYou MUST edit this script for your library BEFORE you run it for the first time!\nSee the comments in the script for directions on changing the script.\n\nDo you wish to continue? (y/n) ";
chomp($_ = <STDIN>);
die unless (/^y/i); # comment these lines out once you've made the changes
my ($confirm, $nomail);
GetOptions(
'c' => \$confirm,
'n' => \$nomail,
);
unless ($confirm) {
print qq|
This script will send overdue notices by e-mail and prepare a file of\nnotices for printing if the borrower does not have e-mail.
You MUST edit this script for your library BEFORE you run it for the first time!
See the comments in the script for directions on changing the script.
This script has 2 parameters :
-c to confirm and remove this help & warning
-n to avoid sending any mail. Instead, all mail messages are printed on screen. Usefull for testing purposes.
Do you wish to continue? (y/n)
|;
chomp($_ = <STDIN>);
exit unless (/^y/i); # comment these lines out once you've made the changes
}
#
# BEGINNING OF PARAMETERS
#
my $mindays = 7 # the notice will be sent after mindays days (grace period)
my $maxdays = 30 # issues being more than maxdays late are managed somewhere else. (borrower probably suspended)
my $smtpserver = 'smtp.yourserver.com'; # your smtp server (the server who sent mails)
my $from = 'library@yourname.org';
my $mailtitle = 'Overdue library items';
my $librarymail = 'library@yourname.org'; # all notices without mail are sent (in 1 mail) to this mail address. They must then be managed manually.
my $mindays = 7; # the notice will be sent after mindays days (grace period)
my $maxdays = 30; # issues being more than maxdays late are managed somewhere else. (borrower probably suspended)
my $smtpserver = 'smtp.server.com'; # your smtp server (the server who sent mails)
my $from = 'librarianname@library.com'; # all the mails sent to the borrowers will appear coming from here.
my $mailtitle = 'Overdues'; # the title of the mails
my $librarymail = 'librarystaff@library.com'; # all notices without mail are sent (in 1 mail) to this mail address. They must then be managed manually.
# this parameter (the last) is the text of the mail that is sent.
# this text contains fields that are replaced by their value. Those fields must be written between brackets
# The following fields are available :
@ -67,97 +84,46 @@ unshift @{$Mail::Sendmail::mailcfg{'smtp'}} , $smtpserver;
# set your own mail server name here
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare ("SELECT issues.borrowernumber,firstname,surname,streetaddress,physstreet,city,zipcode,emailaddress FROM issues,borrowers,categorie WHERE returndate IS NULL AND TO_DAYS(NOW())-TO_DAYS(date_due) BETWEEN $mindays and $maxdays AND issues.borrowernumber=borrowers.borrowernumber and borrowers.categorycode=categories.categorycode and categories.overduenoticerequired=1 ORDER BY issues.borrowernumber");
my $first_borrno = $dbh->prepare ("SELECT borrowernumber FROM issues WHERE returndate IS NULL AND TO_DAYS(NOW())-TO_DAYS(date_due) BETWEEN $mindays and $maxdays ORDER BY borrowernumber");
my $get_date = $dbh->prepare ("SELECT CURDATE()");
$get_date->execute;
my $daydate = $get_date->fetchrow_arrayref;
my $rawdate = $daydate->[0];
my $date = format_date($rawdate);
$first_borrno->execute; # get first borrowernumber
my $firstborr = $first_borrno->fetchrow_arrayref;
my $borrowernumber = $firstborr->[0];
$first_borrno->finish;
my $sth = $dbh->prepare ("SELECT count(*), issues.borrowernumber,firstname,surname,streetaddress,physstreet,city,zipcode,emailaddress FROM issues,borrowers,categories WHERE returndate IS NULL AND TO_DAYS(NOW())-TO_DAYS(date_due) BETWEEN 0 and 500 AND issues.borrowernumber=borrowers.borrowernumber and borrowers.categorycode=categories.categorycode and categories.overduenoticerequired=1 group by issues.borrowernumber");
$sth->execute;
my $itemcount = 0;
my $row;
#
# my $itemcount = 0;
# my $row;
my $count = 0; # to keep track of how many notices are printed
my $e_count = 0; # and e-mailed
my ($firstname,$lastname,$address1,$address2,$city,$postcode,$email);
my ($itemcount,$borrnum,$firstname,$lastname,$address1,$address2,$city,$postcode,$email);
while ($row = $sth->fetchrow_arrayref) {
my $borrno = $row->[0];
if ($itemcount==0) { # store values for first borrower
$firstname = $row->[1];
$lastname = $row->[2];
$address1 = $row->[3];
$address2 = $row->[4];
unless ($address2) {
$address2 = '';
}
$city = $row->[5];
unless ($city) {
$city = '';
}
$postcode = $row->[6];
unless ($postcode) {
$postcode = '';
}
$email = $row->[7];
}
if ($borrno == $borrowernumber) { # next borrower yet?
$itemcount++;
next;
} else {
$borrowernumber = $borrno;
while (($itemcount,$borrnum,$firstname,$lastname,$address1,$address2,$city,$postcode,$email) = $sth->fetchrow) {
my $notice = $mailtext;
$notice =~ s/\<date\>/$date/g;
$notice =~ s/\<itemcount\>/$itemcount/g;
$notice =~ s/\<firstname\>/$firstname/g;
$notice =~ s/\<lastname\>/$lastname/g;
$notice =~ s/\<address1\>/$address1/g;
$notice =~ s/\<address2\>/$address2/g;
$notice =~ s/\<address3\>/$address3/g;
$notice =~ s/\<city\>/$city/g;
$notice =~ s/\<postcode\>/$postcode/g;
# if not using e-mail notices, comment out the following lines
if ($email) { # or you might check for borrowers.preferredcont
my %mail = ( To => $email,
From => $from,
Subject => $mailtitle,
Message => $notice,
);
sendmail(%mail);
if ($nomail) {
print "TO => $email\n";
print "FROM => $from\n";
print "SUBJECT => $mailtitle\n";
print "MESSAGE => $notice\n";
} else {
my %mail = ( To => $email,
From => $from,
Subject => $mailtitle,
Message => $notice,
);
sendmail(%mail);
}
$e_count++
} else {
# if not using e-mail notices, comment out the above lines
print $notice;
print OUTFILE $notice;
$count++;
} # and comment this one out, too, if not using e-mail
$itemcount = 1; #start the count for next notice
$firstname = $row->[1]; # and store the new values
$lastname = $row->[2];
$address1 = $row->[3];
$address2 = $row->[4];
unless ($address2) {
$address2 = '';
}
$city = $row->[5];
unless ($city) {
$city = '';
}
$postcode = $row->[6];
unless ($postcode) {
$postcode = '';
}
$email = $row->[7];
}
}
$sth->finish;
close OUTFILE;
@ -165,13 +131,20 @@ close OUTFILE;
if ($count) {
open ODUES, "overdues" or die "Cannot open file overdues: $!";
my $notice = "$e_count overdue notices e-mailed\n";
my $notice .= "$count overdue notices in file for printing\n\n";
my $notice .= <ODUES>;
my %mail = ( To => $email,
From => $from,
Subject => 'Koha overdues',
Message => $notice,
);
sendmail(%mail);
$notice .= "$count overdue notices in file for printing\n\n";
$notice .= <ODUES>;
if ($nomail) {
print "TO => $email\n";
print "FROM => $from\n";
print "SUBJECT => Koha overdue\n";
print "MESSAGE => $notice\n";
} else {
my %mail = ( To => $email,
From => $from,
Subject => 'Koha overdues',
Message => $notice,
);
sendmail(%mail);
}
}

432
misc/release notes/release_notes_222.txt

<
@ -0,0 +1,432 @@
RELEASE NOTES
=============
Koha is the 1st Open-Source Integrated Library System.
Released at first in New zealand, in 2000 januaray, it is maintained by a team of volunteers from around the globe, the Koha system is a full catalogue, opac, circulation and acquisitions system.
Koha 2.2 is more than 247 000 lines of code, developped by more than 30 differents developpers (excluding translators).
With the 2.2 version, Koha is now a mature product, with a lot of nice features. It's used in more than 50 libraries, from all kinds (public, schools, search, religious...), of all size (from 1 to 8 branches, from 1000 to 300 000 items).
========
WARNINGS
========
* The librarian interface is tested only with mozilla/firefox. Should work (partially) with IE. OPAC should work fine with any navigator.
=======
DIFFS
=======
Diff 2.2.1 => 2.2.2
*******************
DB MODIFS :
***********
(This new chapter in release notes will be in all new releases. It point any change in the DB. All changes are supposed to be handled by the DB updater, but here for your information)
DB structure : none
DB content :
* new systempref MIME (OPENOFFICE.ORG or EXCEL) and delimiter (;). They are used by the Reports module, when exporting a report to a spreadsheet
* new userflags *management* and *tools* to separate systempreferences in 3 differents permissions (see below)
BUGFIXES
***** Critical & Minor mixed
=== ACQUISITION ===
* 3 bugfixes in suggestions :
- major : a suggestion was not shown in acquisition except when ordered by the suggestor itself.
- major : the mail to the suggestor was not sent.
- minor : the name was not shown in accepted by column, in acquisition
* virtual sheves in OPAC :
- The user needed to have librarian rights to be able to go to the virtual shelf page.
- Adding a book to an existing virtual shelf did not work
* when a line was deleted, it was still counted in bookseller number of pending line order (in order.pl).
* a non closed basket could be modified even if the supplier was set "inactive"
=== OPAC ===
* showing marcnotes in opac-detail (bug #920)
=== CATALOGUE ===
* some fixes in authority search (worked, but could fail to return results under certain circumstances)
* libopac now works : in Koha >> parameters >> biblioframework >> modify field or subfield. If you set "opac text" to a different value than librarian text, you'll have different headers/text for MARC fields (for example : "1st responsability" for librarians, "author" for end users)
* removed a limit to 255 char in field length in MARC editor (the DB can handle much more)
* tabs in MARC editor : the active tab is now hilighted & in biblio modif, empty tabs are not shown (as in biblio add)
* bugfixes in permissions (some pages required parameters where they should require editcatalogue)
* the z3950daemon was buggy (forgotten to port a bugfix in 2.0 branch. It works again)
=== CIRCULATION ===
* renewal date was improperly calculated. Now, returndate is calculated from today, not from previous returndate
* display waiting status only if item has arrived at pickup branch. Setting 'atdestination' variable if so. Changes are required in the template to take advantage of this.
* in circulation, when clicking on member, the member page is opened twice (in main window & in a popup). The popup has been removed.
=== BORROWERS ===
* bugfixes in parameters (when modifying a borrower, with alternate address)
* members flags (card lost, debarred, gone no address) are back in default template.
=== ALL ===
* some fixes for date & currency format
IMPROVEMENTS
***** Major
=== STATS ===
* The stat module is here !!! In Reports menu, you now have 4 powerful "wizards" (for catalogue, borrowers, issues and acquisitions). You can define 3 things in a report : what you want in columns, what you want in lines, and filters you want on datas. For issues & acquisitions, you also can choose what you want in each cell (count or amount, or loan length). You can get those results in your borwser, or in your spreadsheet (MS-Excel & OpenOffice.org work fine). This module will continue to be improved to get the possibility to retrieve bulk datas in your spreadsheat. It works quite well, but has still some bugs and weaknesses. You also get some nice "top XXX" stats.
=== CATALOGUE ===
* catalogue, changed the small "search glass" behaviour. It now appears only on subfields that have a "link" value. Avoid useless glasses and removes nothing. **** WARNING **** : if you don't change you MARC parameters, glasses DISAPPEAR, because no subfields have a link value. So you MUST "reactivate" them manually. If you want to enable the search glass on field 225$a (collection in UNIMARC), just put 225a to "link" field (Koha >> parameters >> framework >> 225 field >> subfield >> modify $a >> enter 225a in link input field (without quotes or anything else)
* showing item status in result list. The book status is in items.notforloan (every non 0 value meaning "book not for loan). The item status should be mapped to an item MARC subfield & this subfield should usually be connected to an authorised_value list.
* in authorities search forms, adding a "main entry" field ($a), to limit the search. The "anywhere" field is still here. An option has been added to search "contains" or "start by".
* item status (opac & librarian interfaces) The item status has been improved : It now can be :
- on order (= item has been ordered, but not yet arrived at the library)
- not for loan : if the "notforloan" field is mapped to an authorised value list, the right value is shown. Thus, an item can be "lost" or "being repaired", or whatever you put in the authorised values list. (reminder : the "notforloan" field, when 0 means 'ok, book can be issued', and all other values means 'nok, book can't be issued' (whatever the reason, that can be in the authorised value table)
* in catalogue search, the user can now order asc or desc.
* in catalogue search, the result list now show the itemtype in a column
* in catalogue search, if there is only 1 answer, open it directly, don't show a list of results with just 1 line.
* added an option to duplicate a biblio
* in search before adding a biblio, the search uses the standard Koha API. It means the user don't have to write the title exactly as in biblio.title (empty words are now excluded)
* changed behaviour for long fields : if a field contains more than 200 chars, the field will be edited as a textarea, not as a standard input. More conveinent.
* in item MARC editor, the item list is hidden if empty.
* in item MARC editor, the user can switch easily to the biblio again
* UNIMARC plugin for 4xx fields. In UNIMARC, 4xx are related to links. This plugin works like the authority popup, but search in biblio instead of authorities. To set it up, you must :
- define a 4xx$9 that will contain the biblio number of the linked biblio. In this 4xx$9 subfield, you must fill the "link to" with the field/subfield that is connected to biblio.biblionumber (090a by default).
- define the subfield you want in the 4xx field. This plugins deals "classic link" method (one of the 2 UNIMARC possibilities for links)
- choose one subfield and set unimarc_field_4xx.pl as plugin.
=== TOOLS ===
* added a tool in misc/merge_authority.pl to merge 2 authorities (and modify biblios using them) This script can also be used to update biblios that use an authority that has been modified.
* added a tool in misc/migration_tools/check_marc_definition.pl that can be helpful when you migrate your datas. It compare the datas in the DB and the setting of MARC structure
It show all fields/subfields that are in the MARC DB but NOT in any tab (= fields used but not visible) Usually, this means you made an error in your MARC editor. Sometimes, this is something normal.
* Useful for translators only : modified tmpl_process to copy files that are not translated (like images, css... previously, they were not copied, it had to be done manually. Errors occurs because changes in english css or images were not reported to the translation directory giving a buggy translation)
=== ALL ===
* added a stylesheet for the printer (useful in acquisition basket printing. The doNotPrint style can be used anywhere to remove a part of the screen during printing)
* new permissions : management & tools. You now have 2 new permissions :
- management : means the user can manage library parameters, but NOT system parameters.
- parameters : means the user can manage all parameters (including system parameters : marc structure, authorised values, system preferences. Was the only flag previously existing)
- tools : means the user can import/export datas & edit barcodes.
note that for compatibility reasons, a user having "parameters" can access everything.
* new permission scheme. In every template new variables are available. They are written CAN_user_permission, with permission being one of the permission flag. templates can now show or hidde menu entries depending on user permissions. For example, a user with just circ permissions should have only the "circulation" button on home page. Templates are NOT updated in this version (except for system parameters, as proof of concept), they will be in the next ones. But the scheme is ready.
**** Minor