From d8754bc0dd5c4d54a14c3b567105736453b29819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= Date: Sat, 17 Sep 2011 09:09:23 +0200 Subject: [PATCH] Bug 6649 Allow help screens editing edithelp.pl hadn't been updated to allow help screen editing. --- edithelp.pl | 31 ++++++++++++++++--------------- help.pl | 3 ++- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/edithelp.pl b/edithelp.pl index d1975ba..4d7e0c0 100755 --- a/edithelp.pl +++ b/edithelp.pl @@ -41,7 +41,7 @@ my $error; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { - template_name => "help/edithelp.tmpl", + template_name => "help/edithelp.tt", query => $input, type => "intranet", authnotrequired => 0, @@ -63,29 +63,30 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( sub _get_filepath ($;$) { my $referer = shift; - $referer =~ /.*koha\/(.+)\.pl.*/; - my $from = "help/$1.tmpl"; + $referer =~ /koha\/(.*)\.pl/; + my $from = "help/$1.tt"; my $htdocs = C4::Context->config('intrahtdocs'); my ($theme, $lang) = themelanguage( $htdocs, $from, "intranet", $input ); $debug and print STDERR "help filepath: $htdocs/$theme/$lang/modules/$from"; return "$htdocs/$theme/$lang/modules/$from"; } -if ( $type eq 'addnew' ) { - $type = 'create'; -} -elsif ( $type eq 'create' || $type eq 'save' ) { +$type = 'create' if $type eq 'addnew'; +if ( $type eq 'create' || $type eq 'save' ) { my $file = _get_filepath($referer); - unless (open (OUTFILE, ">$file")) {$error = "Cannot write file: '$file'";} else { - #open (OUTFILE, ">$file") or die "Cannot write file: '$file'"; # unlikely death, since we just checked + open my $fh, ">", $file; + if ( $fh ) { # file is open write to it - print OUTFILE "\n"; - print OUTFILE ($type eq 'create') ? "
\n$help\n
" : $help; - print OUTFILE "\n\n"; - close OUTFILE; + print $fh + " [% INCLUDE 'help-top.inc' %]\n", + $type eq 'create' ? "
\n$help\n
" : $help, + "\n[% INCLUDE 'help-bottom.inc' %]\n"; + close $fh; print $input->redirect("/cgi-bin/koha/help.pl?url=$oldreferer"); } - + else { + $error = "Cannot write file: '$file'"; + } } elsif ( $type eq 'modify' ) { # open file load data, kill include calls, pass data to the template @@ -98,7 +99,7 @@ elsif ( $type eq 'modify' ) { open (INFILE, $file) or die "Cannot read file '$file'"; # unlikely death, since we just checked my $help = ''; while ( my $inp = ) { - unless ( $inp =~ /TMPL\_INCLUDE/ ) { + unless ( $inp =~ /INCLUDE/ ) { $help .= $inp; } } diff --git a/help.pl b/help.pl index 58354b0..21c27c64 100755 --- a/help.pl +++ b/help.pl @@ -28,7 +28,7 @@ use CGI; my $query = new CGI; # find the script that called the online help using the CGI referer() -our $refer = $query->referer(); +our $refer = $query->param('url') || $query->referer(); $refer =~ /koha\/(.*)\.pl/; my $from = "modules/help/$1.tt"; @@ -40,6 +40,7 @@ unless ( -e "$htdocs/$theme/$lang/$from" ) { ( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet", $query ); } my $template = C4::Templates->new('intranet', "$htdocs/$theme/$lang/$from"); +$template->param( referer => $refer ); output_html_with_http_headers $query, "", $template->output; -- 1.7.6.1