X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=edithelp.pl;h=a65a50419483451fbd506c2774b69609467769b5;hb=80ff78413e8de325ec49eb0edd88cfaaf3b4f50b;hp=5cde3149d49a706f73fe6e41bfae0dc74c743593;hpb=b9d743a9281bfd6c853ffaa639577e1801f3b71b;p=koha.git diff --git a/edithelp.pl b/edithelp.pl index 5cde3149d4..a65a504194 100755 --- a/edithelp.pl +++ b/edithelp.pl @@ -4,25 +4,24 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . -use strict; +use Modern::Perl; use C4::Output; use C4::Templates; use C4::Auth; -use CGI; -use warnings; +use CGI qw ( -utf8 ); use vars qw($debug); @@ -50,10 +49,9 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( catalogue => 1, circulate => 1, parameters => 1, - borrowers => 1, + borrowers => 'edit_borrowers', permissions => 1, reserveforothers => 1, - borrow => 1, reserveforself => 1, editcatalogue => 1, updatecharges => 1, @@ -65,9 +63,11 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( sub _get_filepath ($;$) { my $referer = shift; $referer =~ /koha\/(.*)\.pl/; - my $from = "help/$1.tt"; + my $file = $1; + $file =~ s/[^0-9a-zA-Z_\-\/]*//g; + my $from = "help/$file.tt"; my $htdocs = C4::Context->config('intrahtdocs'); - my ($theme, $lang) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $input ); + my ($theme, $lang, $availablethemes) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $input ); $debug and print STDERR "help filepath: $htdocs/$theme/$lang/modules/$from"; return "$htdocs/$theme/$lang/modules/$from"; } @@ -75,7 +75,7 @@ sub _get_filepath ($;$) { $type = 'create' if $type eq 'addnew'; if ( $type eq 'create' || $type eq 'save' ) { my $file = _get_filepath($referer); - open my $fh, ">", $file; + open my $fh, ">:encoding(utf-8)", $file; if ( $fh ) { # file is open write to it print $fh @@ -96,14 +96,14 @@ elsif ( $type eq 'modify' ) { $error = "Cannot read file: '$file'."; } else { (-w $file) or $error = - "WARNING: You will not be able save, because your webserver cannot write to '$file'. Contact your admin about help file permissions."; - open (my $fh, '<', $file) or die "Cannot read file '$file'"; # unlikely death, since we just checked - my $help = ''; + "WARNING: You will not be able to save, because your webserver cannot write to '$file'. Contact your admin about help file permissions."; + open (my $fh, '<:encoding(utf-8)', $file) or die "Cannot read file '$file'"; # unlikely death, since we just checked + my $help = ''; while ( <$fh> ) { $help .= /\[% INCLUDE .* %\](.*)$/ ? $1 : $_; - } - close $fh; - $template->param( 'help' => $help ); + } + close $fh; + $template->param( 'help' => $help ); $type = 'save'; } }