Merge branch 'security-3.18.x' into rmaint-3.18.x
This commit is contained in:
commit
e4ec3edf8a
|
|
@ -157,6 +157,9 @@ sub get_template_and_user {
|
|||
|
||||
C4::Context->interface( $in->{type} );
|
||||
|
||||
my $safe_chars = 'a-zA-Z_\-\/';
|
||||
die "bad template path" unless $in->{'template_name'} =~ m/^[$safe_chars]+.tt?$/ig; #sanitize input
|
||||
|
||||
$in->{'authnotrequired'} ||= 0;
|
||||
my $template = C4::Templates::gettemplate(
|
||||
$in->{'template_name'},
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ use DBI qw(:sql_types);
|
|||
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $DEBUG);
|
||||
|
||||
BEGIN {
|
||||
$VERSION = 3.07.00.049;
|
||||
$VERSION = 3.18.08.000;
|
||||
require Exporter;
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(
|
||||
|
|
|
|||
|
|
@ -9799,7 +9799,12 @@ if ( CheckVersion($DBversion) ) {
|
|||
print "Upgrade to $DBversion done\n";
|
||||
SetVersion ($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.18.00.000";
|
||||
if ( CheckVersion($DBversion) ) {
|
||||
print "Upgrade to version 3.18.08\n";
|
||||
SetVersion ($DBversion);
|
||||
print "Upgrade to $DBversion done \n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
<option value="is">is exactly</option>
|
||||
[% END %]
|
||||
</select>
|
||||
<input id="value_mainentry" type="text" name="value" value="[% value %]" />
|
||||
<input id="value_mainentry" type="text" name="value" value="[% value | html%]" />
|
||||
<select name="orderby">
|
||||
[% IF ( orderby == 'HeadingAsc' ) %]
|
||||
<option value="HeadingAsc" selected="selected">Heading A-Z</option>
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
<option value="is">is exactly</option>
|
||||
[% END %]
|
||||
</select>
|
||||
<input id="value_matchheading" type="text" name="value" value="[% value %]" />
|
||||
<input id="value_matchheading" type="text" name="value" value="[% value | html %]" />
|
||||
<select name="orderby">
|
||||
[% IF ( orderby == 'HeadingAsc' ) %]
|
||||
<option value="HeadingAsc" selected="selected">Heading A-Z</option>
|
||||
|
|
@ -168,7 +168,7 @@
|
|||
<option value="is">is exactly</option>
|
||||
[% END %]
|
||||
</select>
|
||||
<input id="value_anywhere" type="text" name="value" value="[% value %]" />
|
||||
<input id="value_anywhere" type="text" name="value" value="[% value | html %]" />
|
||||
<select name="orderby">
|
||||
[% IF ( orderby == 'HeadingAsc' ) %]
|
||||
<option value="HeadingAsc" selected="selected">Heading A-Z</option>
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ $(document).ready(function() {
|
|||
[% IF ( lateorders ) %]
|
||||
<form action="lateorders.pl" name="claim" method="post">
|
||||
<input type="hidden" name="op" value="send_alert" />
|
||||
<input type="hidden" name="delay" value="[% delay %]" />
|
||||
<input type="hidden" name="delay" value="[% delay | html%]" />
|
||||
<input type="hidden" name="booksellerid" value="[% booksellerid %]" />
|
||||
[% IF ( letters ) %]
|
||||
<p><label for="letter_code">Claim using notice: </label><select name="letter_code" id="letter_code">
|
||||
|
|
@ -219,10 +219,10 @@ $(document).ready(function() {
|
|||
<fieldset class="brief">
|
||||
<h4>Filter results:</h4>
|
||||
[% FOREACH ERROR_LOO IN ERROR_LOOP %]
|
||||
[% IF ( ERROR_LOO.delay_digits ) %]<p class="error">The number of days ([% ERROR_LOO.bad_delay %]) must be a number between 0 and 999.</p>[% END %]
|
||||
[% IF ( ERROR_LOO.delay_digits ) %]<p class="error">The number of days ([% ERROR_LOO.bad_delay | html %]) must be a number between 0 and 999.</p>[% END %]
|
||||
[% END %]
|
||||
<ol>
|
||||
<li><label for="delay">Order date:</label><input size="3" maxlength="3" id="delay" type="text" name="delay" value="[% delay %]" /> days ago</li>
|
||||
<li><label for="delay">Order date:</label><input size="3" maxlength="3" id="delay" type="text" name="delay" value="[% delay | html%]" /> days ago</li>
|
||||
<li><label for="from">Estimated delivery date from: </label>
|
||||
<input type="text" size="10" id="from" name="estimateddeliverydatefrom" value="[% estimateddeliverydatefrom %]" class="datepickerfrom" />
|
||||
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@ function displayMoreConstraint(numlayer){
|
|||
[% INCLUDE 'cat-search.inc' %]
|
||||
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> ›
|
||||
<a href="/cgi-bin/koha/admin/authtypes.pl">Authority types</a> ›
|
||||
[% IF ( authtypecode ) %]<a href="/cgi-bin/koha/admin/auth_tag_structure.pl?authtypecode=[% authtypecode %]">[% authtypecode %] framework</a> ›
|
||||
[% IF ( authtypecode ) %]<a href="/cgi-bin/koha/admin/auth_tag_structure.pl?authtypecode=[% authtypecode | uri%]">[% authtypecode |html%] framework</a> ›
|
||||
[% ELSE %]<a href="/cgi-bin/koha/admin/auth_tag_structure.pl">Default framework</a> ›
|
||||
[% END %]
|
||||
[% IF ( else ) %]Authority MARC subfield structure for [% tagfield %]
|
||||
[% ELSE %]<a href="/cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=[% tagfield %]&tagsubfield=[% tagsubfield %]&authtypecode=[% authtypecode %]">Authority MARC subfield structure for [% tagfield %]</a> ›
|
||||
[% IF ( else ) %]Authority MARC subfield structure for [% tagfield | html %]
|
||||
[% ELSE %]<a href="/cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=[% tagfield | uri %]&tagsubfield=[% tagsubfield %]&authtypecode=[% authtypecode |uri %]">Authority MARC subfield structure for [% tagfield | html %]</a> ›
|
||||
[% END %]
|
||||
[% IF ( delete_confirm ) %]Confirm deletion of subfield [% tagsubfield %]?[% END %]
|
||||
[% IF ( delete_confirmed ) %]Data deleted[% END %]
|
||||
|
|
@ -51,13 +51,13 @@ function displayMoreConstraint(numlayer){
|
|||
[% IF ( add_form ) %]
|
||||
|
||||
<h1>[% IF ( use_heading_flags_p ) %]
|
||||
[% IF ( heading_edit_subfields_p ) %]Edit MARC subfields constraints for field [% tagfield %] authority [% authtypecode %][% END %]
|
||||
[% IF ( heading_edit_subfields_p ) %]Edit MARC subfields constraints for field [% tagfield | html %] authority [% authtypecode |html%][% END %]
|
||||
[% ELSE %][% action %][% END %]</h1>
|
||||
<form action="[% script_name %]" name="Aform" method="post">
|
||||
<input type="hidden" name="op" value="add_validate" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% authtypecode %]" />
|
||||
<fieldset class="action"><input type="submit" class="submit" value="Save changes" /> <a class="cancel" href="/cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=[% tagfield %]&authtypecode=[% authtypecode %]">Cancel</a></fieldset>
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% authtypecode | html%]" />
|
||||
<fieldset class="action"><input type="submit" class="submit" value="Save changes" /> <a class="cancel" href="/cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=[% tagfield | uri %]&authtypecode=[% authtypecode |uri %]">Cancel</a></fieldset>
|
||||
<div id="subfieldtabs" class="toptabs numbered">
|
||||
<ul>
|
||||
[% FOREACH loo IN loop %]
|
||||
|
|
@ -224,16 +224,16 @@ function displayMoreConstraint(numlayer){
|
|||
<table><tr><th scope="row">Subfield:</th> <td>[% tagsubfield %]</td></tr>
|
||||
<tr><th scope="row">Description:</th> <td>[% liblibrarian %]</td></tr></table>
|
||||
<input type="hidden" name="searchfield" value="[% searchfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html%]" />
|
||||
<input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% authtypecode %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% authtypecode | html%]" />
|
||||
<input type="submit" class="approve" value="Yes, delete this subfield" />
|
||||
</form>
|
||||
<form action="[% delete_link %]" method="get">
|
||||
<input type="hidden" name="searchfield" value="[% searchfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% authtypecode %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% authtypecode |html%]" />
|
||||
<input type="submit" class="deny" value="No, do not delete" />
|
||||
</form>
|
||||
</form></div>
|
||||
|
|
@ -243,14 +243,14 @@ function displayMoreConstraint(numlayer){
|
|||
|
||||
<div class="dialog message"> <h3>Data deleted</h3>
|
||||
<form action="[% script_name %]" method="post">
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="submit" class="approve" value="OK" />
|
||||
</form></div>
|
||||
[% END %]
|
||||
|
||||
|
||||
[% IF ( else ) %]
|
||||
<h1>Authority MARC subfield structure admin for [% tagfield %] (authority: [% authtypecode %])</h1>
|
||||
<h1>Authority MARC subfield structure admin for [% tagfield | html %] (authority: [% authtypecode | html%])</h1>
|
||||
<p>This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. </p>
|
||||
<p>The column <b>Koha field</b> shows that the subfield is linked with a Koha field. Koha can manage a MARC interface, and a Koha interface. This link ensures that both DB are synchronized</p>
|
||||
|
||||
|
|
@ -302,7 +302,7 @@ function displayMoreConstraint(numlayer){
|
|||
<input type="hidden" name="tagfield" value="[% edit_tagfield %]" />
|
||||
<input type="hidden" name="authtypecode" value="[% edit_authtypecode %]" />
|
||||
<input type="submit" value="Edit subfields" />
|
||||
<a class="cancel" href="auth_tag_structure.pl?searchfield=[% tagfield %]&authtypecode=[% authtypecode %]">Cancel</a></fieldset>
|
||||
<a class="cancel" href="auth_tag_structure.pl?searchfield=[% tagfield | uri%]&authtypecode=[% authtypecode | uri %]">Cancel</a></fieldset>
|
||||
</form>
|
||||
|
||||
[% IF ( previous ) %]
|
||||
|
|
|
|||
|
|
@ -167,19 +167,19 @@ function populateHiddenCheckboxes(tab) {
|
|||
[% INCLUDE 'cat-search.inc' %]
|
||||
|
||||
<div id="breadcrumbs">
|
||||
<a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC frameworks</a> › <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=[% frameworkcode %]&searchfield=[% tagfield %]">[% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure</a> ›
|
||||
<a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC frameworks</a> › <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=[% frameworkcode %]&searchfield=[% tagfield | uri %]">[% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure</a> ›
|
||||
[% IF ( add_form ) %]
|
||||
[% IF ( use_heading_flags_p ) %]
|
||||
[% IF ( heading_edit_subfields_p ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield %] subfield structure</a> › Edit subfields constraints
|
||||
[% IF ( heading_edit_subfields_p ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] subfield structure</a> › Edit subfields constraints
|
||||
[% END %]
|
||||
[% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> › [% action %]
|
||||
[% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] Subfield structure</a> › [% action %]
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> › Confirm deletion of subfield [% tagsubfield %]
|
||||
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] Subfield structure</a> › Confirm deletion of subfield [% tagsubfield %]
|
||||
[% END %]
|
||||
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield %] subfield structure</a> › Subfield deleted
|
||||
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] subfield structure</a> › Subfield deleted
|
||||
[% END %]
|
||||
[% IF ( else ) %]Tag [% tagfield %] Subfield structure[% END %]
|
||||
[% IF ( else ) %]Tag [% tagfield | html %] Subfield structure[% END %]
|
||||
</div>
|
||||
|
||||
<div id="doc" class="yui-t7">
|
||||
|
|
@ -191,14 +191,14 @@ function populateHiddenCheckboxes(tab) {
|
|||
[% IF ( add_form ) %]
|
||||
<h1>
|
||||
[% IF ( use_heading_flags_p ) %]
|
||||
[% IF ( heading_edit_subfields_p ) %]Tag [% tagfield %] Subfield constraints[% END %]
|
||||
[% IF ( heading_edit_subfields_p ) %]Tag [% tagfield | html %] Subfield constraints[% END %]
|
||||
[% ELSE %]
|
||||
[% action %]
|
||||
[% END %]
|
||||
</h1>
|
||||
<form action="[% script_name %]" name="Aform" method="post">
|
||||
<input type="hidden" name="op" value="add_validate" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
|
||||
<div id="subfieldtabs" class="toptabs numbered">
|
||||
<ul>
|
||||
|
|
@ -339,7 +339,7 @@ function populateHiddenCheckboxes(tab) {
|
|||
[% END %]
|
||||
</div><!-- /content -->
|
||||
<fieldset class="action">
|
||||
<input type="submit" value="Save changes" /> <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&frameworkcode=[% frameworkcode %]" class="cancel">Cancel</a>
|
||||
<input type="submit" value="Save changes" /> <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]" class="cancel">Cancel</a>
|
||||
</fieldset>
|
||||
</form>
|
||||
[% END %]
|
||||
|
|
@ -352,7 +352,7 @@ function populateHiddenCheckboxes(tab) {
|
|||
|
||||
<form action="[% delete_link %]" method="post"><input type="hidden" name="op" value="delete_confirmed" />
|
||||
<input type="hidden" name="searchfield" value="[% searchfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
|
||||
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
|
||||
<input type="submit" value="Yes, delete this subfield" />
|
||||
|
|
@ -360,7 +360,7 @@ function populateHiddenCheckboxes(tab) {
|
|||
|
||||
<form action="[% script_name %]" method="post">
|
||||
<input type="hidden" name="searchfield" value="[% searchfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="hidden" name="tagsubfield" value="[% tagsubfield %]" />
|
||||
<input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
|
||||
<input type="submit" value="No, do not delete" />
|
||||
|
|
@ -371,14 +371,14 @@ function populateHiddenCheckboxes(tab) {
|
|||
|
||||
<h3>Data deleted</h3>
|
||||
<form action="[% script_name %]" method="post">
|
||||
<input type="hidden" name="tagfield" value="[% tagfield %]" />
|
||||
<input type="hidden" name="tagfield" value="[% tagfield | html %]" />
|
||||
<input type="submit" value="OK" />
|
||||
</form>
|
||||
[% END %]
|
||||
|
||||
|
||||
[% IF ( else ) %]
|
||||
<h1>MARC subfield structure admin for [% tagfield %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %]</h1>
|
||||
<h1>MARC subfield structure admin for [% tagfield | html %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %]</h1>
|
||||
<p>This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. </p>
|
||||
<p>The column Koha field shows that the subfield is linked with a Koha field. Koha can manage a MARC interface, or a Koha interface. This link ensures that both DB are synchronized, thus you can change from a MARC to a Koha interface easily.</p>
|
||||
|
||||
|
|
@ -428,7 +428,7 @@ function populateHiddenCheckboxes(tab) {
|
|||
<input type="hidden" name="tagfield" value="[% edit_tagfield %]" />
|
||||
<input type="hidden" name="frameworkcode" value="[% edit_frameworkcode %]" />
|
||||
<input type="submit" value="Edit subfields" />
|
||||
<a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield %]&frameworkcode=[% frameworkcode %]">Cancel</a>
|
||||
<a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield | uri %]&frameworkcode=[% frameworkcode %]">Cancel</a>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
|
|
|||
|
|
@ -259,7 +259,7 @@ var holdForPatron = function () {
|
|||
<div id="breadcrumbs">
|
||||
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
|
||||
› <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a>
|
||||
› Search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc %]'[% END %]
|
||||
› Search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %]
|
||||
</div>
|
||||
|
||||
<div id="doc3" class="yui-t1">
|
||||
|
|
@ -304,7 +304,7 @@ var holdForPatron = function () {
|
|||
<!-- RESORT END -->
|
||||
</form>
|
||||
<h3>
|
||||
[% total %] result(s) found [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF ( limit_desc ) %] with limit(s): <span style="font-weight: bold;">'[% limit_desc %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].<br />
|
||||
[% total %] result(s) found [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF limit_desc %] with limit(s): <span style="font-weight: bold;">'[% limit_desc | html %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].<br />
|
||||
</h3>
|
||||
<div id="selection_ops" class="cartlist" style="display:none">
|
||||
<a href="#" onclick="selectAll(); return false;">Select all</a>
|
||||
|
|
@ -346,7 +346,7 @@ var holdForPatron = function () {
|
|||
<h3>No results found</h3>
|
||||
[% IF ( searchdesc ) %]
|
||||
<p>
|
||||
No results match your search [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF ( limit_desc ) %] with limit(s): <span style="font-weight: bold;">'[% limit_desc %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].
|
||||
No results match your search [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF ( limit_desc ) %] with limit(s): <span style="font-weight: bold;">'[% limit_desc | html %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].
|
||||
</p>
|
||||
[% ELSE %]
|
||||
<p>You did not specify any search criteria.</p>
|
||||
|
|
|
|||
|
|
@ -60,29 +60,29 @@
|
|||
<ol>
|
||||
<li>
|
||||
<label for="issn">ISSN:</label>
|
||||
<input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
|
||||
<input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="title">Title:</label>
|
||||
<input type="text" id="title" name="title_filter" value="[% title_filter %]" />
|
||||
<input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
|
||||
</li>
|
||||
[% IF ( marcflavour == "UNIMARC" ) %]
|
||||
<li>
|
||||
<label for="ean">EAN:</label>
|
||||
<input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
|
||||
<input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
|
||||
</li>
|
||||
[% END %]
|
||||
<li>
|
||||
<label for="callnumber">Call number:</label>
|
||||
<input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter %]" />
|
||||
<input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="publisher">Publisher:</label>
|
||||
<input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
|
||||
<input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="bookseller">Vendor:</label>
|
||||
<input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter %]" />
|
||||
<input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="branch">Library:</label>
|
||||
|
|
@ -294,7 +294,7 @@
|
|||
[% IF ( routing && CAN_user_serials_routing ) %]
|
||||
[% UNLESS ( subscription.cannotedit ) %]
|
||||
<li>
|
||||
<a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&op=reopen&routing=[% subscription.routing %]&searched=1&title_filter=[% title_filter %]&ISSN_filter=[% ISSN_filter %]&EAN_filter=[% EAN_filter %]&published_filter=[% publisher_filter %]&bookseller_filter=[% bookseller_filter %]&branch_filter=[% branch_filter %]" id="reopensub"> <i class="icon-repeat"></i> Reopen</a>
|
||||
<a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&op=reopen&routing=[% subscription.routing %]&searched=1&title_filter=[% title_filter | uri %]&ISSN_filter=[% ISSN_filter | uri %]&EAN_filter=[% EAN_filter | uri %]&published_filter=[% publisher_filter | uri %]&bookseller_filter=[% bookseller_filter | uri %]&branch_filter=[% branch_filter | uri %]" id="reopensub"> <i class="icon-repeat"></i> Reopen</a>
|
||||
</li>
|
||||
[% END %]
|
||||
[% END # IF ( routing && CAN_user_serials_routing ) %]
|
||||
|
|
@ -337,29 +337,29 @@
|
|||
<ol>
|
||||
<li>
|
||||
<label for="issn">ISSN:</label>
|
||||
<input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
|
||||
<input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="title">Title:</label>
|
||||
<input type="text" id="title" name="title_filter" value="[% title_filter %]" />
|
||||
<input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
|
||||
</li>
|
||||
[% IF ( marcflavour == "UNIMARC" ) %]
|
||||
<li>
|
||||
<label for="ean">EAN:</label>
|
||||
<input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
|
||||
<input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
|
||||
</li>
|
||||
[% END %]
|
||||
<li>
|
||||
<label for="callnumber">Call number:</label>
|
||||
<input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter %]" />
|
||||
<input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="publisher">Publisher:</label>
|
||||
<input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
|
||||
<input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="bookseller">Vendor:</label>
|
||||
<input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter %]" />
|
||||
<input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="branch">Library:</label>
|
||||
|
|
|
|||
|
|
@ -329,12 +329,12 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o
|
|||
<input type="text" id="title" name="title" size="80" maxlength="255" value="[% title |html %]" required="required" class="required" />
|
||||
<span class="required">Required</span>
|
||||
</li>
|
||||
<li><label for="author">Author:</label><input type="text" id="author" name="author" size="50" maxlength="80" value="[% author %]"/></li>
|
||||
<li><label for="copyrightdate">Copyright date:</label><input type="text" id="copyrightdate" name="copyrightdate" size="4" maxlength="4" value="[% copyrightdate %]" /></li>
|
||||
<li><label for="isbn">ISBN or ISSN or other standard number:</label><input type="text" id="isbn" name="isbn" size="50" maxlength="80" value="[% isbn %]"/></li>
|
||||
<li><label for="publishercode">Publisher:</label><input type="text" id="publishercode" name="publishercode" size="50" maxlength="80" value="[% publishercode %]"/></li>
|
||||
<li><label for="place">Publication place:</label><input type="text" id="place" name="place" size="50" maxlength="80" value="[% place %]"/></li>
|
||||
<li><label for="collectiontitle">Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" size="50" maxlength="80" value="[% collectiontitle %]"/></li>
|
||||
<li><label for="author">Author:</label><input type="text" id="author" name="author" size="50" maxlength="80" value="[% author | html %]"/></li>
|
||||
<li><label for="copyrightdate">Copyright date:</label><input type="text" id="copyrightdate" name="copyrightdate" size="4" maxlength="4" value="[% copyrightdate | html %]" /></li>
|
||||
<li><label for="isbn">ISBN or ISSN or other standard number:</label><input type="text" id="isbn" name="isbn" size="50" maxlength="80" value="[% isbn | html %]"/></li>
|
||||
<li><label for="publishercode">Publisher:</label><input type="text" id="publishercode" name="publishercode" size="50" maxlength="80" value="[% publishercode | html %]"/></li>
|
||||
<li><label for="place">Publication place:</label><input type="text" id="place" name="place" size="50" maxlength="80" value="[% place | html %]"/></li>
|
||||
<li><label for="collectiontitle">Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" size="50" maxlength="80" value="[% collectiontitle | html %]"/></li>
|
||||
<li><label for="itemtype">Document type:</label>
|
||||
<select id="itemtype" name="itemtype" >
|
||||
[% FOREACH itemtypeloo IN itemtypeloop %]
|
||||
|
|
@ -668,11 +668,11 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o
|
|||
|
||||
<fieldset class="brief"><h4 class="local_collapse"><a href="#">Bibliographic information</a></h4>
|
||||
<ol> <li><label for="title"> Title:</label><input type="text" id="title" name="title" value="[% title |html %]" /></li>
|
||||
<li><label for="author"> Author:</label><input type="text" id="author" name="author" value="[% author %]" /></li>
|
||||
<li><label for="isbn"> ISBN:</label><input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
|
||||
<li><label for="publishercode"> Publisher:</label><input type="text" id="publishercode" name="publishercode" value="[% publishercode %]" /></li>
|
||||
<li><label for="copyrightdate_filter"> Copyright date:</label><input type="text" id="copyrightdate_filter" name="copyrightdate" value="[% copyrightdate %]" /></li>
|
||||
<li><label for="collectiontitle"> Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" value="[% collectiontitle %]" /></li><li><input type="submit" value="Go" /></li></ol>
|
||||
<li><label for="author"> Author:</label><input type="text" id="author" name="author" value="[% author | html %]" /></li>
|
||||
<li><label for="isbn"> ISBN:</label><input type="text" id="isbn" name="isbn" value="[% isbn | html %]" /></li>
|
||||
<li><label for="publishercode"> Publisher:</label><input type="text" id="publishercode" name="publishercode" value="[% publishercode | html %]" /></li>
|
||||
<li><label for="copyrightdate_filter"> Copyright date:</label><input type="text" id="copyrightdate_filter" name="copyrightdate" value="[% copyrightdate | html %]" /></li>
|
||||
<li><label for="collectiontitle"> Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" value="[% collectiontitle | html %]" /></li><li><input type="submit" value="Go" /></li></ol>
|
||||
</fieldset>
|
||||
<fieldset class="brief"><h4 class="local_collapse"><a href="#">Suggestion information</a></h4>
|
||||
<ol>
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
<strong>No results found!</strong>
|
||||
<p>
|
||||
[% IF ( searchdesc ) %]
|
||||
No results found for that in [% LibraryName %] catalog. <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi | html | url %]&format=rss2" class="rsssearchlink noprint"><img src="[% interface %]/[% theme %]/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
|
||||
No results found for that in [% LibraryName %] catalog. <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi | uri %][% limit_cgi | html | url %]&format=rss2" class="rsssearchlink noprint"><img src="[% interface %]/[% theme %]/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
|
||||
[% ELSE %]
|
||||
You did not specify any search criteria.
|
||||
[% END %]
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
[% END %]
|
||||
).
|
||||
[% END %]
|
||||
<a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi |html | url %]&count=[% countrss |html %]&sort_by=acqdate_dsc&format=rss2" class="rsssearchlink noprint"><img src="[% interface %]/[% theme %]/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" class="rsssearchicon"/></a>
|
||||
<a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi | uri %][% limit_cgi |html | url %]&count=[% countrss |html %]&sort_by=acqdate_dsc&format=rss2" class="rsssearchlink noprint"><img src="[% interface %]/[% theme %]/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" class="rsssearchicon"/></a>
|
||||
[% END # / IF total %]
|
||||
</p>
|
||||
[% END # / IF searchdesc %]
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@
|
|||
<span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelfnumber | html %]" class="send" onclick="open('/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelfnumber | html %]','win_form','scrollbars=no,resizable=no,height=300,width=450,top=50,left=100'); return false; ">Send list</a></span>
|
||||
[% END %]
|
||||
|
||||
<a class="print-small" href="/cgi-bin/koha/opac-shelves.pl" onclick="print(); return false;">Print list</a>
|
||||
<a class="print-small" target="_blank" href="/cgi-bin/koha/opac-shelves.pl?viewshelf=[% shelfnumber %]&sort=[% sort %]&direction=[% direction |uri %]&print=1">Print list</a>
|
||||
|
||||
[% IF ( manageshelf ) %]
|
||||
<span class="sep">|</span>
|
||||
|
|
@ -527,7 +527,7 @@
|
|||
[% IF ( edit ) %]
|
||||
<form method="post" action="/cgi-bin/koha/opac-shelves.pl">
|
||||
<input type="hidden" name="op" value="modifsave" />
|
||||
<input type="hidden" name="display" value="[% display %]" />
|
||||
<input type="hidden" name="display" value="[% display |html %]" />
|
||||
<input type="hidden" name="shelfnumber" value="[% shelfnumber | html %]" />
|
||||
<fieldset class="rows">
|
||||
<legend>Editing <em>[% shelfname |html %]</em></legend>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ the kohaversion is divided in 4 parts :
|
|||
use strict;
|
||||
|
||||
sub kohaversion {
|
||||
our $VERSION = '3.18.07.001';
|
||||
our $VERSION = '3.18.08.000';
|
||||
# version needs to be set this way
|
||||
# so that it can be picked up by Makefile.PL
|
||||
# during install
|
||||
|
|
|
|||
|
|
@ -0,0 +1,301 @@
|
|||
RELEASE NOTES FOR KOHA 3.18.8
|
||||
23 Jun 2015
|
||||
========================================================================
|
||||
|
||||
Koha is the first free and open source software library automation package
|
||||
(ILS). Development is sponsored by libraries of varying types and sizes,
|
||||
volunteers, and support companies from around the world.
|
||||
The website for the Koha project is
|
||||
|
||||
http://koha-community.org/
|
||||
|
||||
Koha 3.18.8 can be downloaded from:
|
||||
|
||||
http://download.koha-community.org/koha-3.18.08.tar.gz
|
||||
|
||||
Installation instructions can be found at:
|
||||
|
||||
http://wiki.koha-community.org/wiki/Installation_Documentation
|
||||
|
||||
OR in the INSTALL files that come in the tarball
|
||||
|
||||
|
||||
Koha 3.18.8 is a bugfix/maintenance release.
|
||||
|
||||
|
||||
|
||||
Critical bugs fixed in 3.18.8
|
||||
======================
|
||||
|
||||
|
||||
Circulation
|
||||
----------
|
||||
12066 major New renew page in staff client doesn't record branch in statistics
|
||||
|
||||
Packaging
|
||||
----------
|
||||
14106 major Koha-conf paths to zebra libraries are wrong in jessie
|
||||
|
||||
Tools
|
||||
----------
|
||||
10625 major Inventory/Stocktaking tool cannot handle windows file uploads
|
||||
|
||||
|
||||
Other bugs fixed in 3.18.8
|
||||
======================
|
||||
|
||||
|
||||
Architecture, internals, and plumbing
|
||||
----------
|
||||
13265 normal Still too many search cursor cookies
|
||||
13815 normal Plack loose CGI qw(-utf8) flag creating incorrect utf-8 encoding everywhere
|
||||
11790 minor C4::Charset should not depend on C4::Context
|
||||
14344 minor Uninitialized value warning C4/Utils/DataTables/Members.pm
|
||||
|
||||
Cataloging
|
||||
----------
|
||||
14047 normal Sort z39.50 biblio servers by rank in derivate cataloguing doesn't work
|
||||
14276 minor Keep highlight on the active item in item editor
|
||||
14327 minor Fix js error "TypeError: events is null" in additem.js
|
||||
|
||||
Circulation
|
||||
----------
|
||||
14299 normal Today's checkouts not always sorting correctly
|
||||
|
||||
Command-line Utilities
|
||||
----------
|
||||
14203 trivial Koha-translate error string for non-existent lang removal
|
||||
|
||||
Database
|
||||
----------
|
||||
14350 minor Missing statement in kohastructure.sql - DROP TABLE IF EXISTS borrower_sync;
|
||||
|
||||
Notices
|
||||
----------
|
||||
14206 normal Notices using non email templates can't be deleted from the staff client
|
||||
|
||||
OPAC
|
||||
----------
|
||||
14173 normal Paging on 'recent comments' page in OPAC is not displaying correctly
|
||||
14025 minor Fix 856u-links in the OPAC for NORMARC
|
||||
14184 minor Noisy warns in C4/CourseReserves.pm
|
||||
14185 minor Noisy warns in opac-readingrecord.pl
|
||||
14186 minor Noisy warns in opac-reserve.pl
|
||||
|
||||
Patrons
|
||||
----------
|
||||
14338 normal Unable to delete patron images
|
||||
11929 minor Patron modification error shows borrowernumber
|
||||
11941 minor "Patron lists" are not easily accessible
|
||||
|
||||
Reports
|
||||
----------
|
||||
14130 normal Column.def should be updated with descriptions for new columns
|
||||
|
||||
System Administration
|
||||
----------
|
||||
14314 trivial System Preferences: Better explanation for syspref 'ShowReviewerPhoto'
|
||||
|
||||
Templates
|
||||
----------
|
||||
14265 normal Use $.trim instead of trim() in admin/categorie.tt
|
||||
14266 normal Replace trim() with $.trim() in opac-shareshelf.tt
|
||||
14279 normal Remove CGI::scrolling_list from issues_avg_stats.pl
|
||||
13946 minor Change order status 'Pending' to ordered like in database
|
||||
14275 minor Remove CGI::scrolling_list from guided_reports.pl
|
||||
14329 trivial Useless copy/paste from Template::Plugin::HtmlToText
|
||||
14330 trivial Remove unused email_sender from sendbasket/sendshelf
|
||||
|
||||
Test Suite
|
||||
----------
|
||||
14112 minor Silence warnings t/Charset.t
|
||||
|
||||
Tools
|
||||
----------
|
||||
10355 minor Second click on modification log misses object parameter
|
||||
|
||||
translate.koha-community.org
|
||||
----------
|
||||
14285 trivial Bengali locale needs to be re-defined
|
||||
|
||||
|
||||
|
||||
System requirements
|
||||
======================
|
||||
|
||||
Important notes:
|
||||
|
||||
* With this release, Koha 3.18 is now compatible with Debian Jessie.
|
||||
|
||||
* Perl 5.10 is required
|
||||
* Zebra is required
|
||||
|
||||
|
||||
Documentation
|
||||
======================
|
||||
|
||||
The Koha manual is maintained in DocBook.The home page for Koha
|
||||
documentation is
|
||||
|
||||
http://koha-community.org/documentation/
|
||||
|
||||
As of the date of these release notes, only the English version of the
|
||||
Koha manual is available:
|
||||
|
||||
http://manual.koha-community.org/3.18/en/
|
||||
|
||||
The Git repository for the Koha manual can be found at
|
||||
|
||||
http://git.koha-community.org/gitweb/?p=kohadocs.git;a=summary
|
||||
|
||||
|
||||
Translations
|
||||
======================
|
||||
|
||||
Complete or near-complete translations of the OPAC and staff
|
||||
interface are available in this release for the following languages:
|
||||
|
||||
|
||||
* English (USA)
|
||||
|
||||
|
||||
Partial translations are available for various other languages.
|
||||
|
||||
The Koha team welcomes additional translations; please see
|
||||
|
||||
http://wiki.koha-community.org/wiki/Translating_Koha
|
||||
|
||||
for information about translating Koha, and join the koha-translate
|
||||
list to volunteer:
|
||||
|
||||
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-translate
|
||||
|
||||
The most up-to-date translations can be found at:
|
||||
|
||||
http://translate.koha-community.org/
|
||||
|
||||
|
||||
Release Team
|
||||
======================
|
||||
|
||||
The release team for Koha 3.18.8 is
|
||||
|
||||
Release Manager: Tomás Cohen Arazi <tomascohen@gmail.com>
|
||||
Documentation Manager: Nicole C Engard <nengard@gmail.com>
|
||||
Translation Manager: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
|
||||
QA Manager: Katrin Fischer <Katrin.Fischer@bsz-bw.de>
|
||||
QA Team: Galen Charlton <gmc@esilibrary.com>
|
||||
Jonathan Druart <jonathan.druart@biblibre.com>
|
||||
Brendan Gallagher <brendan@bywatersolutions.com>
|
||||
Kyle Hall <kyle@bywatersolutions.com>
|
||||
Julian Maurice <julian.maurice@biblibre.com>
|
||||
Paul Poulain <paul.poulain@biblibre.com>
|
||||
Martin Renvoize <martin.renvoize@ptfs-europe.com>
|
||||
Marcel de Rooy <M.de.Rooy@rijksmuseum.nl>
|
||||
Bug Wranglers: Alex Sassmannshausen <alex.sassmannshausen@ptfs-europe.com>
|
||||
Zeno Tajoli <z.tajoli@cineca.it>
|
||||
Packaging Manager: Robin Sheat <robin@catalyst.net.nz>
|
||||
|
||||
|
||||
Credits
|
||||
======================
|
||||
|
||||
|
||||
We thank the following libraries who are known to have sponsored
|
||||
new features in Koha 3.18.8:
|
||||
|
||||
We thank the following individuals who contributed patches to Koha 3.18.8.
|
||||
|
||||
* Aleisha (5)
|
||||
* Chris (8)
|
||||
* Tomas Cohen Arazi (1)
|
||||
* Tomás Cohen Arazi (1)
|
||||
* David Cook (2)
|
||||
* Chris Cormack (4)
|
||||
* Indranil Das Gupta (4)
|
||||
* Marcel de Rooy (4)
|
||||
* Jonathan Druart (7)
|
||||
* Magnus Enger (1)
|
||||
* Katrin Fischer (3)
|
||||
* Bernardo González Kriegel (4)
|
||||
* Kyle M Hall (3)
|
||||
* Dobrica Pavlinusic (1)
|
||||
* Liz Rea (4)
|
||||
* Robin Sheat (2)
|
||||
* Zeno Tajoli (1)
|
||||
* Mark Tompsett (3)
|
||||
* Marc Véron (2)
|
||||
|
||||
|
||||
We thank the following libraries, companies, and other institutions who contributed
|
||||
patches to Koha 3.18.8
|
||||
|
||||
|
||||
* BSZ BW (3)
|
||||
* BibLibre (3)
|
||||
* BigBallOfWax (8)
|
||||
* ByWater-Solutions (3)
|
||||
* Catalyst (6)
|
||||
* Cineca (1)
|
||||
* Libriotech (1)
|
||||
* Prosentient Systems (2)
|
||||
* Rijksmuseum (4)
|
||||
* Theke Solutions (1)
|
||||
* Universidad Nacional de Córdoba (4)
|
||||
* koha-community.org (4)
|
||||
* psi.unc.edu.ar (1)
|
||||
* rot13.org (1)
|
||||
* unidentified (16)
|
||||
* veron.ch (2)
|
||||
|
||||
We also especially thank the following individuals who tested patches
|
||||
for Koha 3.18.8.
|
||||
|
||||
* Aleisha (2)
|
||||
* Cédric Vita (1)
|
||||
* Chris Cormack (39)
|
||||
* Gaetan Boisson (1)
|
||||
* Jonathan Druart (30)
|
||||
* Katrin Fischer (28)
|
||||
* Liz Rea (52)
|
||||
* Marc Veron (1)
|
||||
* Marc Véron (8)
|
||||
* Mark Tompsett (5)
|
||||
* Nick Clemens (1)
|
||||
* Tomas Cohen Arazi (42)
|
||||
* Indranil Das Gupta (2)
|
||||
* Indranil Das Gupta (L2C2 Technologies) (6)
|
||||
* Kyle M Hall (10)
|
||||
* Bernardo Gonzalez Kriegel (6)
|
||||
* Marcel de Rooy (4)
|
||||
|
||||
We regret any omissions. If a contributor has been inadvertently missed,
|
||||
please send a patch against these release notes to
|
||||
koha-patches@lists.koha-community.org.
|
||||
|
||||
Revision control notes
|
||||
======================
|
||||
|
||||
The Koha project uses Git for version control. The current development
|
||||
version of Koha can be retrieved by checking out the master branch of
|
||||
|
||||
git://git.koha-community.org/koha.git
|
||||
|
||||
The branch for this version of Koha and future bugfixes in this release line is security-3.18.x.
|
||||
|
||||
The last Koha release was 3.14.10, which was released on September 4, 2014.
|
||||
|
||||
|
||||
Bugs and feature requests
|
||||
======================
|
||||
|
||||
Bug reports and feature requests can be filed at the Koha bug
|
||||
tracker at
|
||||
|
||||
http://bugs.koha-community.org/
|
||||
|
||||
|
||||
He rau ringa e oti ai.
|
||||
(Many hands finish the work)
|
||||
|
||||
##### Autogenerated release notes updated last on 23 Jun 2015 01:20:06 Z #####
|
||||
|
|
@ -51,8 +51,8 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|||
|
||||
my $number = $query->param('number') || 100;
|
||||
|
||||
my $sth = $dbh->prepare("SELECT entry,weight FROM tags ORDER BY weight DESC LIMIT $number");
|
||||
$sth->execute;
|
||||
my $sth = $dbh->prepare("SELECT entry,weight FROM tags ORDER BY weight DESC LIMIT ?");
|
||||
$sth->execute($number);
|
||||
|
||||
my %result;
|
||||
my $max=0;
|
||||
|
|
|
|||
|
|
@ -174,17 +174,19 @@ sub calculate {
|
|||
$colorder .= $column;
|
||||
|
||||
my $strsth2;
|
||||
$strsth2 .= "select distinct $colfield FROM borrowers WHERE 1";
|
||||
if ($colfilter[0]) {
|
||||
$strsth2 .= "select distinct " . $dbh->quote($colfield) . " FROM borrowers WHERE 1";
|
||||
my @query_args;
|
||||
if ( $colfilter[0] ) {
|
||||
$colfilter[0] =~ s/\*/%/g;
|
||||
$strsth2 .= " and $column LIKE '$colfilter[0]' " ;
|
||||
$strsth2 .= " and " . $dbh->quote($column) . "LIKE ?" ;
|
||||
push @query_args, $colfilter[0];
|
||||
}
|
||||
$strsth2 .=" group by $colfield";
|
||||
$strsth2 .=" order by $colorder";
|
||||
$strsth2 .=" group by " . $dbh->quote($colfield);
|
||||
$strsth2 .=" order by " . $dbh->quote($colorder);
|
||||
# warn "". $strsth2;
|
||||
|
||||
my $sth2 = $dbh->prepare( $strsth2 );
|
||||
$sth2->execute;
|
||||
$sth2->execute( @query_args );
|
||||
while (my ($celvalue) = $sth2->fetchrow) {
|
||||
my %cell;
|
||||
# my %ft;
|
||||
|
|
@ -217,21 +219,30 @@ sub calculate {
|
|||
|
||||
# Processing calculation
|
||||
$strcalc .= "SELECT CONCAT( borrowers.surname , \"\\t\",borrowers.firstname, \"\\t\", borrowers.cardnumber)";
|
||||
$strcalc .= " , $colfield " if ($colfield);
|
||||
$strcalc .= " , " . $dbh->quote($colfield) if ($colfield);
|
||||
$strcalc .= " FROM borrowers ";
|
||||
$strcalc .= "WHERE 1 ";
|
||||
@$filters[0]=~ s/\*/%/g if (@$filters[0]);
|
||||
$strcalc .= " AND borrowers.categorycode like '" . @$filters[0] ."'" if ( @$filters[0] );
|
||||
|
||||
my @query_args;
|
||||
if ( @$filters[0] ) {
|
||||
@$filters[0]=~ s/\*/%/g;
|
||||
$strcalc .= " AND borrowers.categorycode like ?";
|
||||
push @query_args, @$filters[0];
|
||||
}
|
||||
$strcalc .= " AND NOT EXISTS (SELECT * FROM issues WHERE issues.borrowernumber=borrowers.borrowernumber ";
|
||||
$strcalc .= " AND issues.timestamp> '" . @$filters[1] . "'" if (@$filters[1]);
|
||||
if ( @$filters[1] ) {
|
||||
$strcalc .= " AND issues.timestamap > ?";
|
||||
push @query_args, @$filters[1];
|
||||
}
|
||||
$strcalc .= ") ";
|
||||
$strcalc .= " AND NOT EXISTS (SELECT * FROM old_issues WHERE old_issues.borrowernumber=borrowers.borrowernumber ";
|
||||
$strcalc .= " AND old_issues.timestamp> '" . @$filters[1] . "'" if (@$filters[1]);
|
||||
if ( @$filters[1] ) {
|
||||
$strcalc .= " AND old_issues.timestamp > ?";
|
||||
push @query_args, @$filters[1];
|
||||
}
|
||||
$strcalc .= ") ";
|
||||
$strcalc .= " group by borrowers.borrowernumber";
|
||||
$strcalc .= ", $colfield" if ($column);
|
||||
$strcalc .= " order by $colfield " if ($colfield);
|
||||
$strcalc .= ", " . $dbh->quote($colfield) if ($column);
|
||||
$strcalc .= " order by " . $dbh->quote($colfield) if ($colfield);
|
||||
my $max;
|
||||
if ($line) {
|
||||
if (@loopcol) {
|
||||
|
|
@ -241,7 +252,7 @@ sub calculate {
|
|||
}
|
||||
|
||||
my $dbcalc = $dbh->prepare($strcalc);
|
||||
$dbcalc->execute;
|
||||
$dbcalc->execute( @query_args );
|
||||
# warn "filling table";
|
||||
my $previous_col;
|
||||
$i=1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue