Bug 6628 fixing security vulnerability

Signed-off-by: Frère Sébastien Marie <semarie-koha@latrappe.fr>
 - patch taken from master
 - I also corrected two invalid calls to themelanguage (tests are not possible else)
Signed-off-by: Chris Nighswonger <chris.nighswonger@gmail.com>
This commit is contained in:
Chris Cormack 2011-11-26 07:39:51 +13:00 committed by Chris Nighswonger
parent 170950e91b
commit 382b4c2b3d
1 changed files with 5 additions and 3 deletions

View File

@ -32,13 +32,15 @@ our $refer = $query->param('url');
$refer = $query->referer() if !$refer || $refer eq 'undefined';
$refer =~ /koha\/(.*)\.pl/;
my $from = "modules/help/$1.tt";
my $file = $1;
$file =~ s/[^a-zA-Z0-9_\-\/]*//g;
my $from = "modules/help/$file.tt";
my $htdocs = C4::Context->config('intrahtdocs');
my ( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet", $query );
my ( $theme, $lang ) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $query );
unless ( -e "$htdocs/$theme/$lang/$from" ) {
$from = "modules/help/nohelp.tt";
( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet", $query );
( $theme, $lang ) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $query );
}
my $template = C4::Templates->new('intranet', "$htdocs/$theme/$lang/$from");
$template->param( referer => $refer );