summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkiko%async.com.br <>2004-04-12 06:31:44 +0200
committerkiko%async.com.br <>2004-04-12 06:31:44 +0200
commitfcf2c1a1a5900f51a6e20c6b2391677bf6fb729c (patch)
treecf7053f9d72de657ec11a909632a65a96b0d7ab6
parent4d1ced8f750508a70c938a932c09a0cd56103c28 (diff)
downloadbugzilla-fcf2c1a1a5900f51a6e20c6b2391677bf6fb729c.tar.gz
bugzilla-fcf2c1a1a5900f51a6e20c6b2391677bf6fb729c.tar.xz
Fix for bug 238865-v1: remove %FORM from page.cgi. Does so, fixing the
linked page template and adding a code error for the "bad id provided" case. r=vladd, a=myk.
-rwxr-xr-xpage.cgi13
-rw-r--r--template/en/default/global/code-error.html.tmpl5
-rw-r--r--template/en/default/pages/linked.html.tmpl6
3 files changed, 18 insertions, 6 deletions
diff --git a/page.cgi b/page.cgi
index b68a9313b..6e78317fc 100755
--- a/page.cgi
+++ b/page.cgi
@@ -42,14 +42,19 @@ Bugzilla->login();
my $cgi = Bugzilla->cgi;
-if ($::FORM{'id'}) {
+my $id = $cgi->param('id');
+if ($id) {
# Remove all dodgy chars, and split into name and ctype.
- $::FORM{'id'} =~ s/[^\w\-\.]//g;
- $::FORM{'id'} =~ /(.*)\.(.*)/;
+ $id =~ s/[^\w\-\.]//g;
+ $id =~ /(.*)\.(.*)/;
+ if (!$2) {
+ # if this regexp fails to match completely, something bad came in
+ ThrowCodeError("bad_page_cgi_id", { "page_id" => $id });
+ }
my $format = GetFormat("pages/$1", undef, $2);
- $vars->{'form'} = \%::FORM;
+ $cgi->param('id', $id);
print $cgi->header($format->{'ctype'});
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index 342d67102..c5233b8e8 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -56,6 +56,11 @@
[% ELSIF error == "authres_unhandled" %]
An authorization handler return value was not handled by the login code.
+ [% ELSIF error == "bad_page_cgi_id" %]
+ [% title = "Invalid Page ID" %]
+ The ID <code>[% page_id FILTER html %]</code> is not a
+ valid page identifier.
+
[% ELSIF error == "bug_error" %]
Trying to retrieve [% terms.bug %] [%+ bug.bug_id FILTER html %] returned
the error [% bug.error FILTER html %].
diff --git a/template/en/default/pages/linked.html.tmpl b/template/en/default/pages/linked.html.tmpl
index 2a3521a35..fcb5ee9d0 100644
--- a/template/en/default/pages/linked.html.tmpl
+++ b/template/en/default/pages/linked.html.tmpl
@@ -21,6 +21,8 @@
#%]
[% INCLUDE global/header.html.tmpl title = "Your Linkified Text" %]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
<p>
Copy and paste the text below:
@@ -30,7 +32,7 @@
<p>
<pre>
-[%- form.text FILTER quoteUrls FILTER html -%]
+[%- cgi.param("text") FILTER quoteUrls FILTER html -%]
</pre>
</p>
@@ -45,7 +47,7 @@
<p>
<pre>
-[%- form.text FILTER quoteUrls -%]
+[%- cgi.param("text") FILTER quoteUrls -%]
</pre>
</p>