#
# HTML generating routines
#
-# Author: Patrick Canterino <patshaping@gmx.net>
-# Last modified: 2004-02-06
+# Author: Patrick Canterino <patrick@patshaping.de>
+# Last modified: 2005-05-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 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 ###
@EXPORT = qw(error_template
error
- abort
- error_in_use);
+ abort);
my $tpl_error;
# error_template()
#
-# Set the path to the template file using for error messages
+# Set the path to the template file used for error messages
# (I'm lazy...)
#
# Params: Template file
# 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)
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))
{
}
}
- my $output = header(-type => "text/html");
+ my $output = header(-type => 'text/html');
$output .= $tpl->get_template;
return \$output;
# Print an error message and exit script
# ^^^^^
#
-# Params: Error message
+# Params: 1. Error message
+# 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);
+ my $output = error(shift,shift,shift);
print $$output;
exit;
}
-# error_in_use()
-#
-# Create a message, which shows, that a
-# file is currently in use
-#
-# Params: File, which is in use
-#
-# Return: Formatted message (Scalar Reference)
-
-sub error_in_use($)
-{
- my $file = shift;
-
- return error("The file '".encode_entities($file)."' is currently edited by someone else.",upper_path($file));
-}
-
# it's true, baby ;-)
1;