summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgerv%gerv.net <>2002-09-22 00:17:03 +0200
committergerv%gerv.net <>2002-09-22 00:17:03 +0200
commit66493d5e7e811c387faefd8f27edadcaf762c829 (patch)
tree20cf654b57eb3fdbcd225ab9396dc48bc1d3c243
parenta29e0e0640faad00f8c1bf792b93260047f16956 (diff)
downloadbugzilla-66493d5e7e811c387faefd8f27edadcaf762c829.tar.gz
bugzilla-66493d5e7e811c387faefd8f27edadcaf762c829.tar.xz
Bug 108987 - Linkify script to use quoteUrls on texts provided by user. Patch by gerv; r=kiko.
-rw-r--r--bug_form.pl1
-rw-r--r--globals.pl3
-rwxr-xr-xlong_list.cgi1
-rwxr-xr-xpage.cgi9
-rwxr-xr-xprocess_bug.cgi1
-rw-r--r--template/en/default/pages/linked.html.tmpl43
-rw-r--r--template/en/default/pages/linkify.html.tmpl38
7 files changed, 90 insertions, 6 deletions
diff --git a/bug_form.pl b/bug_form.pl
index e6b59e051..8d7a2b02e 100644
--- a/bug_form.pl
+++ b/bug_form.pl
@@ -58,7 +58,6 @@ sub show_bug {
my $vars = $::vars;
$vars->{'GetBugLink'} = \&GetBugLink;
- $vars->{'quoteUrls'} = \&quoteUrls,
$vars->{'lsearch'} = \&lsearch,
$vars->{'header_done'} = (@_),
diff --git a/globals.pl b/globals.pl
index 3edcab460..4570a5658 100644
--- a/globals.pl
+++ b/globals.pl
@@ -1545,6 +1545,9 @@ $::vars =
# Generic linear search function
'lsearch' => \&Bugzilla::Util::lsearch ,
+ # quoteUrls - autolinkifies text
+ 'quoteUrls' => \&quoteUrls ,
+
# UserInGroup - you probably want to cache this
'UserInGroup' => \&UserInGroup ,
diff --git a/long_list.cgi b/long_list.cgi
index eba094699..6acee0332 100755
--- a/long_list.cgi
+++ b/long_list.cgi
@@ -98,7 +98,6 @@ $vars->{'bugs'} = \@bugs;
$vars->{'use_keywords'} = 1 if (@::legal_keywords);
-$vars->{'quoteUrls'} = \&quoteUrls;
$vars->{'str2time'} = \&str2time;
# Work out a sensible filename for Content-Disposition.
diff --git a/page.cgi b/page.cgi
index af0903c30..960774cc4 100755
--- a/page.cgi
+++ b/page.cgi
@@ -39,11 +39,14 @@ ConnectToDatabase();
quietly_check_login();
-if (defined $::FORM{'id'}) {
+if ($::FORM{'id'}) {
+ # Remove all dodgy chars, and split into name and ctype.
$::FORM{'id'} =~ s/[^\w\-\.]//g;
- $::FORM{'id'} =~ /(.*)(\.(.*))?/;
+ $::FORM{'id'} =~ /(.*)\.(.*)/;
- my $format = GetFormat($1, undef, $3);
+ my $format = GetFormat($1, undef, $2);
+
+ $vars->{'form'} = \%::FORM;
print "Content-Type: $format->{'ctype'}\n\n";
diff --git a/process_bug.cgi b/process_bug.cgi
index be661c629..f62285ffb 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -1089,7 +1089,6 @@ foreach my $id (@idlist) {
$vars->{'mform'} = \%::MFORM;
$vars->{'bug_id'} = $id;
- $vars->{'quoteUrls'} = \&quoteUrls;
SendSQL("UNLOCK TABLES");
diff --git a/template/en/default/pages/linked.html.tmpl b/template/en/default/pages/linked.html.tmpl
new file mode 100644
index 000000000..8c854e2bd
--- /dev/null
+++ b/template/en/default/pages/linked.html.tmpl
@@ -0,0 +1,43 @@
+<!-- 1.0@bugzilla.org -->
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Stefan Seifert <nine@detonation.org>
+ # Gervase Markham <gerv@gerv.net>
+ #%]
+
+[% INCLUDE global/header.html.tmpl title = "Your Linkified Text" %]
+
+<p>
+ Copy and paste the text below:
+</p>
+
+<p>
+ <tt>
+ [% quoteUrls(form.text) FILTER html %]
+ </tt>
+</p>
+
+<p>
+ It will end up looking like this:
+</p>
+
+<p>
+ [% quoteUrls(form.text) %]
+</p>
+
+[% INCLUDE global/footer.html.tmpl %]
diff --git a/template/en/default/pages/linkify.html.tmpl b/template/en/default/pages/linkify.html.tmpl
new file mode 100644
index 000000000..57f455dd2
--- /dev/null
+++ b/template/en/default/pages/linkify.html.tmpl
@@ -0,0 +1,38 @@
+<!-- 1.0@bugzilla.org -->
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Stefan Seifert <nine@detonation.org>
+ # Gervase Markham <gerv@gerv.net>
+ #%]
+
+[% INCLUDE global/header.html.tmpl title = "Linkify Text" %]
+
+<p>
+ If you enter some text, this form will return it marked up like a
+ standard Bugzilla comment. That is, valid bug numbers, URLs, email addresses
+ and so on will be replaced with appropriate HTML links.
+</p>
+
+<form action="page.cgi" method="post">
+ <textarea cols="80" rows="20" name="text"></textarea>
+ <br>
+ <input type="hidden" name="id" value="linked.html">
+ <input value="Linkify" type="submit">
+</form>
+
+[% INCLUDE global/footer.html.tmpl %]