Bug 6342 Help link doesn't popup anymore contextual help page

Fix help.pl script to deal with Template Toolkit.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Frédéric Demians 2011-05-15 07:23:03 +02:00 committed by Chris Cormack
parent 28eca1ec92
commit becc07cb7b
1 changed files with 11 additions and 44 deletions

55
help.pl
View File

@ -18,9 +18,9 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
use HTML::Template::Pro;
use warnings;
use C4::Output; # contains gettemplate
use C4::Templates;
use C4::Output;
# use C4::Auth;
use C4::Context;
use CGI;
@ -30,49 +30,16 @@ my $query = new CGI;
# find the script that called the online help using the CGI referer()
our $refer = $query->referer();
# workaround for popup not functioning correctly in IE
my $referurl = $query->param('url');
if ($referurl) {
$refer = $query->param('url');
$refer =~ /koha\/(.*)\.pl/;
my $from = "modules/help/$1.tt";
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 );
}
my $template = C4::Templates->new('intranet', "$htdocs/$theme/$lang/$from");
$refer =~ /.*koha\/(.*)\.pl.*/;
my $from = "modules/help/$1.tmpl";
my $template = gethelptemplate( $from, "intranet" );
# my $template
output_html_with_http_headers $query, "", $template->output;
sub gethelptemplate {
my ($tmplbase) = @_;
my $htdocs;
$htdocs = C4::Context->config('intrahtdocs');
my ( $theme, $lang ) = themelanguage( $htdocs, $tmplbase, "intranet", $query );
unless ( -e "$htdocs/$theme/$lang/$tmplbase" ) {
$tmplbase = "modules/help/nohelp.tmpl";
( $theme, $lang ) = themelanguage( $htdocs, $tmplbase, "intranet", $query );
}
my $template = HTML::Template::Pro->new(
filename => "$htdocs/$theme/$lang/$tmplbase",
die_on_bad_params => 0,
global_vars => 1,
path => ["$htdocs/$theme/$lang/includes"]
);
# XXX temporary patch for Bug 182 for themelang
$template->param(
themelang => '/intranet-tmpl' . "/$theme/$lang",
interface => '/intranet-tmpl',
theme => $theme,
lang => $lang,
intranetcolorstylesheet =>
C4::Context->preference("intranetcolorstylesheet"),
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
IntranetNav => C4::Context->preference("IntranetNav"),
yuipath => (C4::Context->preference("yuipath") eq "local"?"/intranet-tmpl/$theme/$lang/lib/yui":C4::Context->preference("yuipath")),
referer => $refer,
);
return $template;
}