]> git.p6c8.net - devedit.git/blobdiff - modules/Output.pm
Make use of new methods defined by template class.
[devedit.git] / modules / Output.pm
index eff7459661f11adb6d0540b8159e063968ad065e..c9b652561a25fb438eddf2c9c3890cc1dcd2d284 100644 (file)
@@ -1,3 +1,4 @@
+
 package Output;
 
 #
@@ -5,19 +6,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: 2005-05-10
+#
+# Copyright (C) 1999-2000 Roland Bluethgen, Frank Schoenmann
+# Copyright (C) 2003-2009 Patrick Canterino
+# All Rights Reserved.
+#
+# This file can be distributed and/or modified under the terms of
+# of the Artistic License 1.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 +55,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,21 +68,25 @@ 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->set_var('BACK',encode_html($path));
+ $tpl->set_var('BACK_URL',escape($path));
+ $tpl->set_var('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))
   {
-   $tpl->fillin($key,$value);
+   $tpl->set_var($key,$value);
   }
  }
 
- my $output = header(-type => "text/html");
+ $tpl->parse;
+
+ my $output = header(-type => 'text/html');
  $output   .= $tpl->get_template;
 
  return \$output;
@@ -84,11 +98,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