Editing help system.
authorChris Cormack <crc@liblime.com>
Thu, 13 Sep 2007 22:38:50 +0000 (17:38 -0500)
committerChris Cormack <crc@liblime.com>
Thu, 13 Sep 2007 23:36:51 +0000 (18:36 -0500)
Mostly working needs prettying Russ is working on that now

Signed-off-by: Chris Cormack <crc@liblime.com>
edithelp.pl [new file with mode: 0755]
koha-tmpl/intranet-tmpl/prog/en/modules/help/edithelp.tmpl [new file with mode: 0644]

diff --git a/edithelp.pl b/edithelp.pl
new file mode 100755 (executable)
index 0000000..af3a097
--- /dev/null
@@ -0,0 +1,128 @@
+#!/usr/bin/perl
+
+# Copyright 2007 Liblime Ltd
+#
+# 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., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+use strict;
+use C4::Output;
+use C4::Auth;
+use CGI;
+
+my $input = new CGI;
+
+my $type    = $input->param('type');
+my $referer = $input->param('referer');
+my $oldreferer = $referer;
+my $help    = $input->param('help');
+my $error;
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {
+        template_name   => "help/edithelp.tmpl",
+        query           => $input,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => {
+            catalogue        => 1,
+            circulate        => 1,
+            parameters       => 1,
+            borrowers        => 1,
+            permissions      => 1,
+            reserveforothers => 1,
+            borrow           => 1,
+            reserveforself   => 1,
+            editcatalogue    => 1,
+            updatecharges    => 1,
+        },
+        debug => 1,
+    }
+);
+
+if ( $type eq 'addnew' ) {
+    $type = 'create';
+}
+elsif ( $type eq 'create' || $type eq 'save' ) {
+    $referer =~ /.*koha\/(.*)\.pl.*/;
+    my $from   = "help/$1.tmpl";
+    my $htdocs = C4::Context->config('intrahtdocs');
+#    my ( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet" );
+       my $theme = C4::Context->preference('template');
+       my $lang  = C4::Context->preference('language') || 'en';
+
+    #    if (! -e "$htdocs/$theme/$lang/$from") {
+    # doesnt exist
+    eval {
+        open( OUTFILE, ">$htdocs/$theme/$lang/$from" ) || die "Can't open file";
+    };
+    if ($@) {
+        $error = "Cant open file $htdocs/$theme/$lang/$from";
+    }
+    else {
+
+        # file is open write to it
+        print OUTFILE "<!-- TMPL_INCLUDE name=\"help-top.inc\" -->\n";
+               if ($type eq 'create'){
+                       print OUTFILE "<div class=\"main\">\n";
+               }
+        print OUTFILE "$help\n";
+           if ($type eq 'create'){
+                       print OUTFILE "</div>\n";
+               }
+        print OUTFILE "<!-- TMPL_INCLUDE name=\"help-bottom.inc\" -->\n";
+        close OUTFILE;
+               print $input->redirect("/cgi-bin/koha/help.pl?url=$oldreferer");
+    }
+
+
+    #   }
+
+}
+elsif ( $type eq 'modify' ) {
+
+    # open file load data, kill include calls, pass data to the template
+    $referer =~ /.*koha\/(.*)\.pl.*/;
+    my $from   = "help/$1.tmpl";
+    my $htdocs = C4::Context->config('intrahtdocs');
+    my ( $theme, $lang ) = themelanguage( $htdocs, $from, "intranet" );
+    eval {
+        open( INFILE, "$htdocs/$theme/$lang/$from" ) || die "Can't open file";
+    };
+    if ($@) {
+        $error = "Cant open file $htdocs/$theme/$lang/$from";
+    }
+    my $help;
+    while ( my $inp = <INFILE> ) {
+        if ( $inp =~ /TMPL\_INCLUDE/ ) {
+        }
+        else {
+            $help .= $inp;
+        }
+    }
+    close INFILE;
+    $template->param( 'help' => $help );
+
+    $type = 'save';
+}
+
+$template->param(
+    'referer' => $referer,
+    'type'    => $type,
+    'error'   => $error,
+
+);
+
+output_html_with_http_headers $input, "", $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/help/edithelp.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/help/edithelp.tmpl
new file mode 100644 (file)
index 0000000..a48081a
--- /dev/null
@@ -0,0 +1,17 @@
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->Online Help: No help for this topic!<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+
+       <div id="main-compact">
+       <h1>Online Help</h1>
+<!-- TMPL_IF NAME="error" -->
+<h5><!-- TMPL_VAR NAME="error" --></h5>
+<!-- TMPL_ELSE -->
+<form action="/cgi-bin/koha/edithelp.pl" method=post>
+<input type="hidden" name="referer" value="<!-- TMPL_VAR NAME="referer" -->">
+<input type="hidden" name="type" value="<!-- TMPL_VAR NAME="type" -->">
+<textarea name="help" cols="60" rows="20"><!-- TMPL_VAR NAME="help" --></textarea>
+<input type="submit" name="submit" value="Submit">
+</form>
+<!-- /TMPL_IF -->
+       </div>
+       
+<!-- TMPL_INCLUDE NAME="help-bottom.inc" -->