Merge branch 'security-3.18.x' into rmaint-3.18.x

This commit is contained in:
Liz Rea 2015-06-23 13:41:22 +12:00
commit e4ec3edf8a
16 changed files with 405 additions and 85 deletions

View File

@ -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'},

View File

@ -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(

View File

@ -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";
}

View File

@ -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>

View File

@ -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>

View File

@ -27,11 +27,11 @@ function displayMoreConstraint(numlayer){
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo;
<a href="/cgi-bin/koha/admin/authtypes.pl">Authority types</a> &rsaquo;
[% IF ( authtypecode ) %]<a href="/cgi-bin/koha/admin/auth_tag_structure.pl?authtypecode=[% authtypecode %]">[% authtypecode %] framework</a> &rsaquo;
[% IF ( authtypecode ) %]<a href="/cgi-bin/koha/admin/auth_tag_structure.pl?authtypecode=[% authtypecode | uri%]">[% authtypecode |html%] framework</a> &rsaquo;
[% ELSE %]<a href="/cgi-bin/koha/admin/auth_tag_structure.pl">Default framework</a> &rsaquo;
[% END %]
[% IF ( else ) %]Authority MARC subfield structure for [% tagfield %]
[% ELSE %]<a href="/cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=[% tagfield %]&amp;tagsubfield=[% tagsubfield %]&amp;authtypecode=[% authtypecode %]">Authority MARC subfield structure for [% tagfield %]</a> &rsaquo;
[% IF ( else ) %]Authority MARC subfield structure for [% tagfield | html %]
[% ELSE %]<a href="/cgi-bin/koha/admin/auth_subfields_structure.pl?tagfield=[% tagfield | uri %]&amp;tagsubfield=[% tagsubfield %]&amp;authtypecode=[% authtypecode |uri %]">Authority MARC subfield structure for [% tagfield | html %]</a> &rsaquo;
[% 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 %]&amp;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 %]&amp;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 %]&amp;authtypecode=[% authtypecode %]">Cancel</a></fieldset>
<a class="cancel" href="auth_tag_structure.pl?searchfield=[% tagfield | uri%]&amp;authtypecode=[% authtypecode | uri %]">Cancel</a></fieldset>
</form>
[% IF ( previous ) %]

View File

@ -167,19 +167,19 @@ function populateHiddenCheckboxes(tab) {
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC frameworks</a> &rsaquo; <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=[% frameworkcode %]&amp;searchfield=[% tagfield %]">[% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure</a> &rsaquo;
<a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC frameworks</a> &rsaquo; <a href="/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=[% frameworkcode %]&amp;searchfield=[% tagfield | uri %]">[% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure</a> &rsaquo;
[% 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 %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] subfield structure</a> &rsaquo; Edit subfields constraints
[% IF ( heading_edit_subfields_p ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] subfield structure</a> &rsaquo; Edit subfields constraints
[% END %]
[% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> &rsaquo; [% action %]
[% ELSE %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] Subfield structure</a> &rsaquo; [% action %]
[% END %]
[% END %]
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] Subfield structure</a> &rsaquo; Confirm deletion of subfield [% tagsubfield %]
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] Subfield structure</a> &rsaquo; Confirm deletion of subfield [% tagsubfield %]
[% END %]
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield %] subfield structure</a> &rsaquo; Subfield deleted
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/marc_subfields_structure.pl?tagfield=[% tagfield | uri %]&amp;frameworkcode=[% frameworkcode %]">Tag [% tagfield | html %] subfield structure</a> &rsaquo; 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 %]&amp;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 %]&amp;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 %]&amp;frameworkcode=[% frameworkcode %]">Cancel</a>
<a class="cancel" href="marctagstructure.pl?searchfield=[% tagfield | uri %]&amp;frameworkcode=[% frameworkcode %]">Cancel</a>
</fieldset>
</form>

View File

@ -259,7 +259,7 @@ var holdForPatron = function () {
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
&rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a>
&rsaquo; Search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %]&nbsp;with limit(s):&nbsp;'[% limit_desc %]'[% END %]
&rsaquo; Search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %]&nbsp;with limit(s):&nbsp;'[% 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 ) %]&nbsp;with limit(s): <span style="font-weight: bold;">'[% limit_desc %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].<br />&nbsp;
[% total %] result(s) found [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF limit_desc %]&nbsp;with limit(s): <span style="font-weight: bold;">'[% limit_desc | html %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].<br />&nbsp;
</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 ) %]&nbsp;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 ) %]&nbsp;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>

View File

@ -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 %]&amp;op=reopen&amp;routing=[% subscription.routing %]&amp;searched=1&amp;title_filter=[% title_filter %]&amp;ISSN_filter=[% ISSN_filter %]&amp;EAN_filter=[% EAN_filter %]&amp;published_filter=[% publisher_filter %]&amp;bookseller_filter=[% bookseller_filter %]&amp;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 %]&amp;op=reopen&amp;routing=[% subscription.routing %]&amp;searched=1&amp;title_filter=[% title_filter | uri %]&amp;ISSN_filter=[% ISSN_filter | uri %]&amp;EAN_filter=[% EAN_filter | uri %]&amp;published_filter=[% publisher_filter | uri %]&amp;bookseller_filter=[% bookseller_filter | uri %]&amp;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>

View File

@ -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>

View File

@ -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 %]&amp;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 %]&amp;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 %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;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 %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;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 %]

View File

@ -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>

View File

@ -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

View File

@ -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 #####

View File

@ -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;

View File

@ -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;