572c586793
This patch uses the version number of the Koha database to dynamically generate links from help to the appropriate version of the manual. Test plan (for 3.15 branch): - Open a help page - Verify the manual link is correct (point to 3.14 manual) - change the version in mysql: update systempreferences set value="3.1600000" where variable="version"; - Verify the manual link now points to the future 3.16 manual. Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Work as described. No koha-qa errors Tested on top of Bug 10671 On master (BD version 3.13.xxx) help links point to 3.12 manual Changing version to 3.14/15 points to 3.14 manual Changing version to 3.16 points to the future :) Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
73 lines
2.3 KiB
Perl
Executable file
73 lines
2.3 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,
|
|
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
|
|
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
|
|
);
|
|
|
|
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;
|