X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/d45094b7ee0dee87ae03d62f9e9a0a3e2196add8..59507c0a5e5507868ebf6db407219da3f17c8ed9:/modules/Output.pm diff --git a/modules/Output.pm b/modules/Output.pm index eff7459..c9b6525 100644 --- a/modules/Output.pm +++ b/modules/Output.pm @@ -1,3 +1,4 @@ + package Output; # @@ -5,19 +6,27 @@ package Output; # # HTML generating routines # -# Author: Patrick Canterino -# Last modified: 2004-03-12 +# Author: Patrick Canterino +# 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; }