]> git.p6c8.net - devedit.git/blobdiff - modules/Output.pm
When removing multiple files, just redirect if all files have been removed
[devedit.git] / modules / Output.pm
index 449731fda4f2091644b844127eacb34472a50798..bf38904eefcd16f4da57c36970d32bb29fb0485d 100644 (file)
@@ -5,19 +5,27 @@ package Output;
 #
 # HTML generating routines
 #
-# Author:        Patrick Canterino <patshaping@gmx.net>
-# Last modified: 2004-02-06
+# Author:        Patrick Canterino <patrick@patshaping.de>
+# Last modified: 2005-04-22
+#
+# 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 ###
 
@@ -25,14 +33,13 @@ use base qw(Exporter);
 
 @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
@@ -47,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)
@@ -59,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))
   {
@@ -73,7 +82,7 @@ sub error($;$$)
   }
  }
 
- my $output = header(-type => "text/html");
+ my $output = header(-type => 'text/html');
  $output   .= $tpl->get_template;
 
  return \$output;
@@ -84,31 +93,17 @@ sub error($;$$)
 # 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;

patrick-canterino.de