]> git.p6c8.net - devedit.git/blobdiff - modules/Output.pm
D'oh!
[devedit.git] / modules / Output.pm
index eff7459661f11adb6d0540b8159e063968ad065e..1a3d7fca51f4df5655e3c9d45822b03d48525574 100644 (file)
@@ -5,19 +5,27 @@ package Output;
 #
 # HTML generating routines
 #
-# Author:        Patrick Canterino <patshaping@gmx.net>
-# Last modified: 2004-03-12
+# Author:        Patrick Canterino <patrick@patshaping.de>
+# Last modified: 2011-02-11
+#
+# Copyright (C) 1999-2000 Roland Bluethgen, Frank Schoenmann
+# Copyright (C) 2003-2011 Patrick Canterino
+# All Rights Reserved.
+#
+# This file can be distributed and/or modified under the terms of
+# of the Artistic License 2.0 (see also the LICENSE file found at
+# the top level of the Dev-Editor distribution).
 #
 
 use strict;
 
 use vars qw(@EXPORT);
 
-use CGI qw(header);
-use Tool;
+use CGI qw(header
+           escape);
 
-use HTML::Entities;
 use Template;
+use Tool;
 
 ### Export ###
 
@@ -46,7 +54,8 @@ sub error_template($)
 # Format an error message
 #
 # Params: 1. Error message
-#         2. Virtual path to which a link should be displayed (optional)
+#         2. Display a link to this path at the bottom of the page (optional)
+#            Please use the unencoded form of the string!
 #         3. Hash reference: Template variables (optional)
 #
 # Return: Formatted message (Scalar Reference)
@@ -58,13 +67,14 @@ sub error($;$$)
  my $tpl = new Template;
  $tpl->read_file($tpl_error);
 
- $tpl->fillin("ERROR",$message);
- $tpl->fillin("DIR",$path);
- $tpl->fillin("SCRIPT",encode_entities($ENV{'SCRIPT_NAME'}));
+ $tpl->fillin('ERROR',$message);
+ $tpl->fillin('BACK',encode_html($path));
+ $tpl->fillin('BACK_URL',escape($path));
+ $tpl->fillin('SCRIPT',encode_html($ENV{'SCRIPT_NAME'}));
 
- $tpl->parse_if_block("dir",defined $path);
+ $tpl->parse_if_block('dir',defined $path);
 
- if(ref($vars) eq "HASH")
+ if(ref($vars) eq 'HASH')
  {
   while(my ($key,$value) = each(%$vars))
   {
@@ -72,7 +82,7 @@ sub error($;$$)
   }
  }
 
- my $output = header(-type => "text/html");
+ my $output = header(-type => 'text/html');
  $output   .= $tpl->get_template;
 
  return \$output;
@@ -84,11 +94,12 @@ sub error($;$$)
 # ^^^^^
 #
 # Params: 1. Error message
-#         2. Hash reference: Template variables (optional)
+#         2. Display a link to this path at the bottom of the page (optional)
+#         3. Hash reference: Template variables (optional)
 
-sub abort($;$)
+sub abort($;$$)
 {
- my $output = error(shift,undef,shift);
+ my $output = error(shift,shift,shift);
  print $$output;
  exit;
 }

patrick-canterino.de