X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=help.pl;h=b8122085b2766dc510da6cb8785bb8d4c916491f;hb=4a5045da0ab750c9927e4e70e5f679d6a156493a;hp=18d27ddee47f2161f11280f8fe9b19ad0c0091ac;hpb=ef5d4d7bf8caf84c917fdbcd22005767b6f9e960;p=koha.git diff --git a/help.pl b/help.pl index 18d27ddee4..b8122085b2 100755 --- a/help.pl +++ b/help.pl @@ -4,18 +4,18 @@ # # 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 warnings; @@ -23,19 +23,55 @@ use C4::Templates; use C4::Output; # use C4::Auth; use C4::Context; -use CGI; +use CGI qw ( -utf8 ); + +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; +# Init the interface to get the correct language. +# This is usually set by get_template_and_user +C4::Context->interface('intranet'); + # 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'); -$refer =~ /koha\/(.*)\.pl/; -my $from = "help/$1.tt"; +# +# 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 ); +$template->param( + referer => $refer, + intranetstylesheet => C4::Context->preference("intranetstylesheet"), + intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), +); -output_html_with_http_headers $query, "", $template->output; +my $help_version = C4::Context->preference("Version"); +if ( $help_version =~ m|^(\d+)\.(\d{2}).*$| ) { + my $version = $1; + my $major = $2; + if ( $major % 2 ) { $major-- }; + $help_version = "$version.$major"; +} +$template->param( helpVersion => $help_version ); +output_html_with_http_headers $query, "", $template->output;