updated release notes for 3.14.0 beta
[koha.git] / help.pl
diff --git a/help.pl b/help.pl
index 7208a8a..fde99d9 100755 (executable)
--- a/help.pl
+++ b/help.pl
@@ -25,23 +25,40 @@ use C4::Output;
 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';
-
-$refer =~ /koha\/(.*)\.pl/;
-my $from = "modules/help/$1.tt";
-
+my $from = _help_template_file_of_url($refer);
 my $htdocs = C4::Context->config('intrahtdocs');
-my ( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet", $query );
-unless ( -e "$htdocs/$theme/$lang/$from" ) {
-    $from = "modules/help/nohelp.tt";
-    ( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet", $query );
+
+#
+# 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->new('intranet', "$htdocs/$theme/$lang/$from");
-$template->param( referer => $refer );
 
-output_html_with_http_headers $query, "", $template->output;
+my $template = C4::Templates::gettemplate($from, 'intranet', $query);
+$template->param(
+    referer => $refer,
+    intranetstylesheet => C4::Context->preference("intranetstylesheet"),
+    intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
+);
 
+output_html_with_http_headers $query, "", $template->output;