From 4cde47cdf30a0f3f97c782e8b13cde0149851143 Mon Sep 17 00:00:00 2001
From: "jocuri%softhome.net" <>
Date: Tue, 28 Feb 2006 23:41:04 +0000
Subject: Fix ThrowCodeError calls by giving them an unique ID (tree fix).
---
Bugzilla/Hook.pm | 4 ++--
Bugzilla/Template/Plugin/Hook.pm | 2 +-
template/en/default/global/code-error.html.tmpl | 7 +++++++
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index 97bec6c5c..9d8059478 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -43,8 +43,8 @@ sub process {
trick_taint($extension);
if (-e $extension.'/code/'.$name.'.pl') {
do($extension.'/code/'.$name.'.pl');
- ThrowCodeError("An error occured processing hook \"$name\" in ".
- "Bugzilla extension \"$extension\": $@") if $@;
+ ThrowCodeError('extension_invalid', {
+ name => $name, extension => $extension }) if $@;
}
}
diff --git a/Bugzilla/Template/Plugin/Hook.pm b/Bugzilla/Template/Plugin/Hook.pm
index 2f94c1dbe..7ff707fc1 100644
--- a/Bugzilla/Template/Plugin/Hook.pm
+++ b/Bugzilla/Template/Plugin/Hook.pm
@@ -52,7 +52,7 @@ sub process {
# sanity check:
if (!$template =~ /[\w\.\/\-_\\]+/) {
- ThrowCodeError("Template with invalid file name found in hook call: $template");
+ ThrowCodeError('template_invalid', { name => $template});
}
# also get extension hook files that live in extensions/:
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index a0e4e3a9a..d9220f27b 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -103,6 +103,10 @@
[% ELSIF error == "cookies_need_value" %]
Every cookie must have a value.
+ [% ELSIF error == "extension_invalid" %]
+ An error occured processing hook [% name FILTER html %] in
+ extension [% extension FILTER html %].
+
[% ELSIF error == "field_type_mismatch" %]
Cannot seem to handle [% field FILTER html %]
and [% type FILTER html %]
together.
@@ -292,6 +296,9 @@
[% ELSIF error == "template_error" %]
[% template_error_msg FILTER html %]
+ [% ELSIF error == "template_invalid" %]
+ Template with invalid file name found in hook call: [% name FILTER html %].
+
[% ELSIF error == "unable_to_retrieve_password" %]
I was unable to retrieve your old password from the database.
--
cgit v1.2.1