X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=help.pl;h=ad86a2da298222b989e60d08c781a9e881f6a065;hb=1fd17efba8631f91fde33525b9de42f10c58a95a;hp=97f3462fa0279ccb5f29f2366b5c4a10b16ed671;hpb=c0234dd9b9649063acf2617fecf5c6efda38a532;p=koha.git diff --git a/help.pl b/help.pl index 97f3462fa0..ad86a2da29 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,21 +23,56 @@ 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 $file = $1; -$file =~ s/[^a-zA-Z0-9_\-\/]*//g; -my $from = "help/$file.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; + unless ( $major % 2 ) { $major-- }; + $major = sprintf("%02d", $major); + $help_version = "$version.$major"; +} +$template->param( helpVersion => $help_version ); +output_html_with_http_headers $query, "", $template->output;