Bug 6342 Help link doesn't popup anymore contextual help page
authorFrédéric Demians <f.demians@tamil.fr>
Sun, 15 May 2011 05:23:03 +0000 (07:23 +0200)
committerChris Cormack <chrisc@catalyst.net.nz>
Sat, 28 May 2011 06:54:38 +0000 (18:54 +1200)
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>

help.pl

diff --git a/help.pl b/help.pl
index f871e3c..58354b0 100755 (executable)
--- a/help.pl
+++ b/help.pl
@@ -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.tmpl";
+$refer =~ /koha\/(.*)\.pl/;
+my $from = "modules/help/$1.tt";
 
-my $template = gethelptemplate( $from, "intranet" );
+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");
 
-# 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;
-}