diff options
-rw-r--r-- | Bugzilla/Hook.pm | 4 | ||||
-rw-r--r-- | Bugzilla/Template/Plugin/Hook.pm | 2 | ||||
-rw-r--r-- | 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 <code>[% field FILTER html %]</code> and <code>[% type FILTER html %]</code> 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. |