039a1e96c1
The problem was probably a side effect of bug 7038 I've checked that things are OK in translated languages. Test plan: * open help on a page with help in english (mainpage.pl) * open help on a page with help in another language (mainpage.pl) => you'll see the online help, as usual * open help on a page without help in english (acqui/addorderiso2709.pl) * open help on a page without help in another language (acqui/addorderiso2709.pl) => you'll get the "oops, no help available, sorry", no more the Perl error Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
60 lines
1.9 KiB
Perl
Executable file
60 lines
1.9 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Copyright 2010 Koha Development team
|
|
#
|
|
# 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 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.
|
|
|
|
use strict;
|
|
use warnings;
|
|
use C4::Templates;
|
|
use C4::Output;
|
|
# use C4::Auth;
|
|
use C4::Context;
|
|
use CGI;
|
|
|
|
sub _help_template_file_of_url {
|
|
my $url = shift;
|
|
my $file;
|
|
if ($url =~ /koha\/(.*)\.pl/) {
|
|
$file = $1;
|
|
} else {
|
|
$file = 'mainpage';
|
|
}
|
|
$file =~ s/[^a-zA-Z0-9_\-\/]*//g;
|
|
return "help/$file.tt";
|
|
}
|
|
|
|
my $query = new CGI;
|
|
|
|
# find the script that called the online help using the CGI referer()
|
|
our $refer = $query->param('url');
|
|
$refer = $query->referer() if !$refer || $refer eq 'undefined';
|
|
my $from = _help_template_file_of_url($refer);
|
|
my $htdocs = C4::Context->config('intrahtdocs');
|
|
|
|
#
|
|
# checking that the help file exist, otherwise, display nohelp.tt page
|
|
#
|
|
my ( $theme, $lang ) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $query );
|
|
unless ( -e "$htdocs/$theme/$lang/modules/$from" ) {
|
|
$from = "help/nohelp.tt";
|
|
( $theme, $lang ) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $query );
|
|
}
|
|
|
|
my $template = C4::Templates::gettemplate($from, 'intranet', $query);
|
|
$template->param( referer => $refer );
|
|
|
|
output_html_with_http_headers $query, "", $template->output;
|