diff --git a/C4/Auth.pm b/C4/Auth.pm index 06525c135b..25452892d8 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -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'}, diff --git a/C4/Koha.pm b/C4/Koha.pm index 23fbfeef97..b2708db80f 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -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( diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index d25c67b9af..9111c56e6c 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -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"; +} diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc index cbdc939355..433c92703d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc @@ -58,7 +58,7 @@ is exactly [% END %] - + [% IF ( orderby == 'HeadingAsc' ) %] Heading A-Z @@ -112,7 +112,7 @@ is exactly [% END %] - + [% IF ( orderby == 'HeadingAsc' ) %] Heading A-Z @@ -168,7 +168,7 @@ is exactly [% END %] - + [% IF ( orderby == 'HeadingAsc' ) %] Heading A-Z diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt index d794d74f0b..5c508ae036 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt @@ -95,7 +95,7 @@ $(document).ready(function() { [% IF ( lateorders ) %] - + [% IF ( letters ) %] Claim using notice: @@ -219,10 +219,10 @@ $(document).ready(function() { Filter results: [% FOREACH ERROR_LOO IN ERROR_LOOP %] -[% IF ( ERROR_LOO.delay_digits ) %]The number of days ([% ERROR_LOO.bad_delay %]) must be a number between 0 and 999.[% END %] +[% IF ( ERROR_LOO.delay_digits ) %]The number of days ([% ERROR_LOO.bad_delay | html %]) must be a number between 0 and 999.[% END %] [% END %] - Order date: days ago + Order date: days ago Estimated delivery date from: [% INCLUDE 'date-format.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt index f7b1d52e0f..faaa5fb222 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt @@ -27,11 +27,11 @@ function displayMoreConstraint(numlayer){ [% INCLUDE 'cat-search.inc' %] Home › Administration › Authority types › - [% IF ( authtypecode ) %][% authtypecode %] framework › + [% IF ( authtypecode ) %][% authtypecode |html%] framework › [% ELSE %]Default framework › [% END %] - [% IF ( else ) %]Authority MARC subfield structure for [% tagfield %] - [% ELSE %]Authority MARC subfield structure for [% tagfield %] › + [% IF ( else ) %]Authority MARC subfield structure for [% tagfield | html %] + [% ELSE %]Authority MARC subfield structure for [% tagfield | html %] › [% 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 ) %] [% 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 %] - - - Cancel + + + Cancel [% FOREACH loo IN loop %] @@ -224,16 +224,16 @@ function displayMoreConstraint(numlayer){ Subfield: [% tagsubfield %] Description: [% liblibrarian %] - + - + - + - + @@ -243,14 +243,14 @@ function displayMoreConstraint(numlayer){ Data deleted - + [% END %] [% IF ( else ) %] -Authority MARC subfield structure admin for [% tagfield %] (authority: [% authtypecode %]) +Authority MARC subfield structure admin for [% tagfield | html %] (authority: [% authtypecode | html%]) This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. The column Koha field 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 @@ -302,7 +302,7 @@ function displayMoreConstraint(numlayer){ - Cancel + Cancel [% IF ( previous ) %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt index bfa88158fe..17b16f9819 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt @@ -167,19 +167,19 @@ function populateHiddenCheckboxes(tab) { [% INCLUDE 'cat-search.inc' %] - Home › Administration › MARC frameworks › [% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure › + Home › Administration › MARC frameworks › [% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure › [% IF ( add_form ) %] [% IF ( use_heading_flags_p ) %] - [% IF ( heading_edit_subfields_p ) %] Tag [% tagfield %] subfield structure › Edit subfields constraints + [% IF ( heading_edit_subfields_p ) %] Tag [% tagfield | html %] subfield structure › Edit subfields constraints [% END %] - [% ELSE %] Tag [% tagfield %] Subfield structure › [% action %] + [% ELSE %] Tag [% tagfield | html %] Subfield structure › [% action %] [% END %] [% END %] -[% IF ( delete_confirm ) %] Tag [% tagfield %] Subfield structure › Confirm deletion of subfield [% tagsubfield %] +[% IF ( delete_confirm ) %] Tag [% tagfield | html %] Subfield structure › Confirm deletion of subfield [% tagsubfield %] [% END %] -[% IF ( delete_confirmed ) %] Tag [% tagfield %] subfield structure › Subfield deleted +[% IF ( delete_confirmed ) %] Tag [% tagfield | html %] subfield structure › Subfield deleted [% END %] -[% IF ( else ) %]Tag [% tagfield %] Subfield structure[% END %] +[% IF ( else ) %]Tag [% tagfield | html %] Subfield structure[% END %] @@ -191,14 +191,14 @@ function populateHiddenCheckboxes(tab) { [% IF ( add_form ) %] [% 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 %] - + @@ -339,7 +339,7 @@ function populateHiddenCheckboxes(tab) { [% END %] - Cancel + Cancel [% END %] @@ -352,7 +352,7 @@ function populateHiddenCheckboxes(tab) { - + @@ -360,7 +360,7 @@ function populateHiddenCheckboxes(tab) { - + @@ -371,14 +371,14 @@ function populateHiddenCheckboxes(tab) { Data deleted - + [% END %] [% IF ( else ) %] -MARC subfield structure admin for [% tagfield %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %] +MARC subfield structure admin for [% tagfield | html %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %] This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. 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. @@ -428,7 +428,7 @@ function populateHiddenCheckboxes(tab) { - Cancel + Cancel diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt index d8ccc2dd1d..3e43b23836 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt @@ -259,7 +259,7 @@ var holdForPatron = function () { Home › Catalog -› 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 %] @@ -304,7 +304,7 @@ var holdForPatron = function () { - [% total %] result(s) found [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. + [% total %] result(s) found [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF limit_desc %] with limit(s): '[% limit_desc | html %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. Select all @@ -346,7 +346,7 @@ var holdForPatron = function () { No results found [% IF ( searchdesc ) %] - No results match your search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. + No results match your search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. [% ELSE %] You did not specify any search criteria. diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt index ae1484d0d1..3b97849d93 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt @@ -60,29 +60,29 @@ ISSN: - + Title: - + [% IF ( marcflavour == "UNIMARC" ) %] EAN: - + [% END %] Call number: - + Publisher: - + Vendor: - + Library: @@ -294,7 +294,7 @@ [% IF ( routing && CAN_user_serials_routing ) %] [% UNLESS ( subscription.cannotedit ) %] - Reopen + Reopen [% END %] [% END # IF ( routing && CAN_user_serials_routing ) %] @@ -337,29 +337,29 @@ ISSN: - + Title: - + [% IF ( marcflavour == "UNIMARC" ) %] EAN: - + [% END %] Call number: - + Publisher: - + Vendor: - + Library: diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt index 4442cbcad5..70e31e7b85 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt @@ -329,12 +329,12 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Required - Author: - Copyright date: - ISBN or ISSN or other standard number: - Publisher: - Publication place: - Collection title: + Author: + Copyright date: + ISBN or ISSN or other standard number: + Publisher: + Publication place: + Collection title: Document type: [% FOREACH itemtypeloo IN itemtypeloop %] @@ -668,11 +668,11 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Bibliographic information Title: - Author: - ISBN: - Publisher: - Copyright date: - Collection title: + Author: + ISBN: + Publisher: + Copyright date: + Collection title: Suggestion information diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt index 1f1289b4f5..84fb1b54e9 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt @@ -41,7 +41,7 @@ No results found! [% IF ( searchdesc ) %] - No results found for that in [% LibraryName %] catalog. + No results found for that in [% LibraryName %] catalog. [% ELSE %] You did not specify any search criteria. [% END %] @@ -80,7 +80,7 @@ [% END %] ). [% END %] - + [% END # / IF total %] [% END # / IF searchdesc %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt index c24e52edd8..d0274c3720 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt @@ -162,7 +162,7 @@ Send list [% END %] - Print list + Print list [% IF ( manageshelf ) %] | @@ -527,7 +527,7 @@ [% IF ( edit ) %] - + Editing [% shelfname |html %] diff --git a/kohaversion.pl b/kohaversion.pl index 3e5fcb0d55..a8833415a7 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -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 diff --git a/misc/release_notes/release_notes_3_18_8.txt b/misc/release_notes/release_notes_3_18_8.txt new file mode 100644 index 0000000000..66dad26640 --- /dev/null +++ b/misc/release_notes/release_notes_3_18_8.txt @@ -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 + Documentation Manager: Nicole C Engard + Translation Manager: Bernardo Gonzalez Kriegel + QA Manager: Katrin Fischer + QA Team: Galen Charlton + Jonathan Druart + Brendan Gallagher + Kyle Hall + Julian Maurice + Paul Poulain + Martin Renvoize + Marcel de Rooy + Bug Wranglers: Alex Sassmannshausen + Zeno Tajoli + Packaging Manager: Robin Sheat + + +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 ##### diff --git a/opac/opac-tags_subject.pl b/opac/opac-tags_subject.pl index 7cf75afc2b..a410be2ea6 100755 --- a/opac/opac-tags_subject.pl +++ b/opac/opac-tags_subject.pl @@ -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; diff --git a/reports/borrowers_out.pl b/reports/borrowers_out.pl index 5831eecddd..027b8fa361 100755 --- a/reports/borrowers_out.pl +++ b/reports/borrowers_out.pl @@ -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;
Claim using notice: @@ -219,10 +219,10 @@ $(document).ready(function() { Filter results: [% FOREACH ERROR_LOO IN ERROR_LOOP %] -[% IF ( ERROR_LOO.delay_digits ) %]The number of days ([% ERROR_LOO.bad_delay %]) must be a number between 0 and 999.[% END %] +[% IF ( ERROR_LOO.delay_digits ) %]The number of days ([% ERROR_LOO.bad_delay | html %]) must be a number between 0 and 999.[% END %] [% END %] - Order date: days ago + Order date: days ago Estimated delivery date from: [% INCLUDE 'date-format.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt index f7b1d52e0f..faaa5fb222 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt @@ -27,11 +27,11 @@ function displayMoreConstraint(numlayer){ [% INCLUDE 'cat-search.inc' %] Home › Administration › Authority types › - [% IF ( authtypecode ) %][% authtypecode %] framework › + [% IF ( authtypecode ) %][% authtypecode |html%] framework › [% ELSE %]Default framework › [% END %] - [% IF ( else ) %]Authority MARC subfield structure for [% tagfield %] - [% ELSE %]Authority MARC subfield structure for [% tagfield %] › + [% IF ( else ) %]Authority MARC subfield structure for [% tagfield | html %] + [% ELSE %]Authority MARC subfield structure for [% tagfield | html %] › [% 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 ) %] [% 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 %] - - - Cancel + + + Cancel [% FOREACH loo IN loop %] @@ -224,16 +224,16 @@ function displayMoreConstraint(numlayer){ Subfield: [% tagsubfield %] Description: [% liblibrarian %] - + - + - + - + @@ -243,14 +243,14 @@ function displayMoreConstraint(numlayer){ Data deleted - + [% END %] [% IF ( else ) %] -Authority MARC subfield structure admin for [% tagfield %] (authority: [% authtypecode %]) +Authority MARC subfield structure admin for [% tagfield | html %] (authority: [% authtypecode | html%]) This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. The column Koha field 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 @@ -302,7 +302,7 @@ function displayMoreConstraint(numlayer){ - Cancel + Cancel [% IF ( previous ) %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt index bfa88158fe..17b16f9819 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt @@ -167,19 +167,19 @@ function populateHiddenCheckboxes(tab) { [% INCLUDE 'cat-search.inc' %] - Home › Administration › MARC frameworks › [% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure › + Home › Administration › MARC frameworks › [% IF ( frameworkcode ) %][% frameworkcode %][% ELSE %]Default[% END %] framework structure › [% IF ( add_form ) %] [% IF ( use_heading_flags_p ) %] - [% IF ( heading_edit_subfields_p ) %] Tag [% tagfield %] subfield structure › Edit subfields constraints + [% IF ( heading_edit_subfields_p ) %] Tag [% tagfield | html %] subfield structure › Edit subfields constraints [% END %] - [% ELSE %] Tag [% tagfield %] Subfield structure › [% action %] + [% ELSE %] Tag [% tagfield | html %] Subfield structure › [% action %] [% END %] [% END %] -[% IF ( delete_confirm ) %] Tag [% tagfield %] Subfield structure › Confirm deletion of subfield [% tagsubfield %] +[% IF ( delete_confirm ) %] Tag [% tagfield | html %] Subfield structure › Confirm deletion of subfield [% tagsubfield %] [% END %] -[% IF ( delete_confirmed ) %] Tag [% tagfield %] subfield structure › Subfield deleted +[% IF ( delete_confirmed ) %] Tag [% tagfield | html %] subfield structure › Subfield deleted [% END %] -[% IF ( else ) %]Tag [% tagfield %] Subfield structure[% END %] +[% IF ( else ) %]Tag [% tagfield | html %] Subfield structure[% END %] @@ -191,14 +191,14 @@ function populateHiddenCheckboxes(tab) { [% IF ( add_form ) %] [% 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 %] - + @@ -339,7 +339,7 @@ function populateHiddenCheckboxes(tab) { [% END %] - Cancel + Cancel [% END %] @@ -352,7 +352,7 @@ function populateHiddenCheckboxes(tab) { - + @@ -360,7 +360,7 @@ function populateHiddenCheckboxes(tab) { - + @@ -371,14 +371,14 @@ function populateHiddenCheckboxes(tab) { Data deleted - + [% END %] [% IF ( else ) %] -MARC subfield structure admin for [% tagfield %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %] +MARC subfield structure admin for [% tagfield | html %] [% IF ( frameworkcode ) %](framework [% frameworkcode %])[% ELSE %](default framework)[% END %] This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit. 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. @@ -428,7 +428,7 @@ function populateHiddenCheckboxes(tab) { - Cancel + Cancel diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt index d8ccc2dd1d..3e43b23836 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt @@ -259,7 +259,7 @@ var holdForPatron = function () { Home › Catalog -› 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 %] @@ -304,7 +304,7 @@ var holdForPatron = function () { - [% total %] result(s) found [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. + [% total %] result(s) found [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF limit_desc %] with limit(s): '[% limit_desc | html %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. Select all @@ -346,7 +346,7 @@ var holdForPatron = function () { No results found [% IF ( searchdesc ) %] - No results match your search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. + No results match your search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. [% ELSE %] You did not specify any search criteria. diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt index ae1484d0d1..3b97849d93 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt @@ -60,29 +60,29 @@ ISSN: - + Title: - + [% IF ( marcflavour == "UNIMARC" ) %] EAN: - + [% END %] Call number: - + Publisher: - + Vendor: - + Library: @@ -294,7 +294,7 @@ [% IF ( routing && CAN_user_serials_routing ) %] [% UNLESS ( subscription.cannotedit ) %] - Reopen + Reopen [% END %] [% END # IF ( routing && CAN_user_serials_routing ) %] @@ -337,29 +337,29 @@ ISSN: - + Title: - + [% IF ( marcflavour == "UNIMARC" ) %] EAN: - + [% END %] Call number: - + Publisher: - + Vendor: - + Library: diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt index 4442cbcad5..70e31e7b85 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt @@ -329,12 +329,12 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Required - Author: - Copyright date: - ISBN or ISSN or other standard number: - Publisher: - Publication place: - Collection title: + Author: + Copyright date: + ISBN or ISSN or other standard number: + Publisher: + Publication place: + Collection title: Document type: [% FOREACH itemtypeloo IN itemtypeloop %] @@ -668,11 +668,11 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o Bibliographic information Title: - Author: - ISBN: - Publisher: - Copyright date: - Collection title: + Author: + ISBN: + Publisher: + Copyright date: + Collection title: Suggestion information diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt index 1f1289b4f5..84fb1b54e9 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt @@ -41,7 +41,7 @@ No results found! [% IF ( searchdesc ) %] - No results found for that in [% LibraryName %] catalog. + No results found for that in [% LibraryName %] catalog. [% ELSE %] You did not specify any search criteria. [% END %] @@ -80,7 +80,7 @@ [% END %] ). [% END %] - + [% END # / IF total %] [% END # / IF searchdesc %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt index c24e52edd8..d0274c3720 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt @@ -162,7 +162,7 @@ Send list [% END %] - Print list + Print list [% IF ( manageshelf ) %] | @@ -527,7 +527,7 @@ [% IF ( edit ) %] - + Editing [% shelfname |html %] diff --git a/kohaversion.pl b/kohaversion.pl index 3e5fcb0d55..a8833415a7 100644 --- a/kohaversion.pl +++ b/kohaversion.pl @@ -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 diff --git a/misc/release_notes/release_notes_3_18_8.txt b/misc/release_notes/release_notes_3_18_8.txt new file mode 100644 index 0000000000..66dad26640 --- /dev/null +++ b/misc/release_notes/release_notes_3_18_8.txt @@ -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 + Documentation Manager: Nicole C Engard + Translation Manager: Bernardo Gonzalez Kriegel + QA Manager: Katrin Fischer + QA Team: Galen Charlton + Jonathan Druart + Brendan Gallagher + Kyle Hall + Julian Maurice + Paul Poulain + Martin Renvoize + Marcel de Rooy + Bug Wranglers: Alex Sassmannshausen + Zeno Tajoli + Packaging Manager: Robin Sheat + + +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 ##### diff --git a/opac/opac-tags_subject.pl b/opac/opac-tags_subject.pl index 7cf75afc2b..a410be2ea6 100755 --- a/opac/opac-tags_subject.pl +++ b/opac/opac-tags_subject.pl @@ -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; diff --git a/reports/borrowers_out.pl b/reports/borrowers_out.pl index 5831eecddd..027b8fa361 100755 --- a/reports/borrowers_out.pl +++ b/reports/borrowers_out.pl @@ -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;
The number of days ([% ERROR_LOO.bad_delay %]) must be a number between 0 and 999.
The number of days ([% ERROR_LOO.bad_delay | html %]) must be a number between 0 and 999.
This screen shows the subfields associated with the selected tag. You can edit subfields or add a new one by clicking on edit.
The column Koha field 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
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.
- No results match your search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %]. + No results match your search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].
You did not specify any search criteria.
[% IF ( searchdesc ) %] - No results found for that in [% LibraryName %] catalog. + No results found for that in [% LibraryName %] catalog. [% ELSE %] You did not specify any search criteria. [% END %] @@ -80,7 +80,7 @@ [% END %] ). [% END %] - + [% END # / IF total %]