зеркало из https://github.com/mozilla/gecko-dev.git
quips.cgi rewrite and templatisation.
This commit is contained in:
Родитель
a29b076027
Коммит
9f7179af83
|
@ -19,6 +19,7 @@
|
|||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s): Owen Taylor <otaylor@redhat.com>
|
||||
# Gervase Markham <gerv@gerv.net>
|
||||
|
||||
use diagnostics;
|
||||
use strict;
|
||||
|
@ -28,40 +29,61 @@ use lib qw(.);
|
|||
|
||||
require "CGI.pl";
|
||||
|
||||
print "Content-type: text/html\n\n";
|
||||
# Use the template toolkit (http://www.template-toolkit.org/)
|
||||
use Template;
|
||||
|
||||
PutHeader("Quips for the impatient", "Add your own clever headline");
|
||||
# Create the global template object that processes templates
|
||||
my $template = Template->new(
|
||||
{
|
||||
INCLUDE_PATH => "template/custom:template/default",
|
||||
RELATIVE => 1,
|
||||
PRE_CHOMP => 1,
|
||||
});
|
||||
|
||||
print qq{
|
||||
The buglist picks a random quip for the headline, and
|
||||
you can extend the quip list. Type in something clever or
|
||||
funny or boring and bonk on the button.
|
||||
|
||||
<FORM METHOD=POST ACTION="new_comment.cgi">
|
||||
<INPUT SIZE=80 NAME="comment"><BR>
|
||||
<INPUT TYPE="submit" VALUE="Add This Quip">
|
||||
</FORM>
|
||||
# Define the global variables and functions that will be passed to the UI
|
||||
# template.
|
||||
my $vars =
|
||||
{
|
||||
'Param' => \&Param,
|
||||
'PerformSubsts' => \&PerformSubsts,
|
||||
};
|
||||
|
||||
if (exists $::FORM{show_quips}) {
|
||||
|
||||
print qq{
|
||||
<H2>Existing headlines</H2>
|
||||
};
|
||||
my $action = $::FORM{'action'} || "";
|
||||
|
||||
if ($action eq "show") {
|
||||
# Read in the entire quip list
|
||||
if (open (COMMENTS, "<data/comments")) {
|
||||
while (<COMMENTS>) {
|
||||
print $_,"<br>\n";
|
||||
}
|
||||
my @quips;
|
||||
push (@quips, $_) while (<COMMENTS>);
|
||||
close COMMENTS;
|
||||
|
||||
$vars->{'quips'} = \@quips;
|
||||
$vars->{'show_quips'} = 1;
|
||||
}
|
||||
print "<P>";
|
||||
} else {
|
||||
print qq{
|
||||
For the impatient, you can
|
||||
<A HREF="quips.cgi?show_quips=yes">view the whole quip list</A>.
|
||||
};
|
||||
print "<P>";
|
||||
}
|
||||
|
||||
PutFooter();
|
||||
if ($action eq "add") {
|
||||
# Add the quip
|
||||
my $comment = $::FORM{"quip"};
|
||||
if (!$comment) {
|
||||
DisplayError("Please enter a quip in the text field.");
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($comment =~ m/</) {
|
||||
DisplayError("Sorry - for security reasons, support for HTML tags has
|
||||
been turned off in quips.");
|
||||
exit();
|
||||
}
|
||||
|
||||
open(COMMENTS, ">>data/comments");
|
||||
print COMMENTS $comment . "\n";
|
||||
close(COMMENTS);
|
||||
|
||||
$vars->{'added_quip'} = $comment;
|
||||
}
|
||||
|
||||
print "Content-type: text/html\n\n";
|
||||
$template->process("info/quips.tmpl", $vars)
|
||||
|| DisplayError("Template process failed: " . $template->error())
|
||||
&& exit;
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
[%# 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): Gervase Markham <gerv@gerv.net>
|
||||
#%]
|
||||
|
||||
[% INCLUDE global/header
|
||||
title = "Bugzilla Quip System"
|
||||
h1 = "Add your own clever headline"
|
||||
%]
|
||||
|
||||
[% IF added_quip %]
|
||||
<p>
|
||||
<font color="red">
|
||||
Your quip '<tt>[% added_quip %]</tt>' has been added.
|
||||
</font>
|
||||
</p>
|
||||
[% END %]
|
||||
|
||||
<p>
|
||||
Bugzilla will pick a random quip for the headline on each bug list, and
|
||||
you can extend the quip list. Type in something clever or funny or boring
|
||||
(but not obscene or offensive, please) and bonk on the button.
|
||||
</p>
|
||||
|
||||
<form method="post" action="quips.cgi">
|
||||
<input type="hidden" name="action" value="add" />
|
||||
<input size="80" name="quip" />
|
||||
<p>
|
||||
<input type="submit" value="Add This Quip" />
|
||||
</p>
|
||||
</form>
|
||||
|
||||
[% IF show_quips %]
|
||||
<h2>
|
||||
Existing quips:
|
||||
</h2>
|
||||
<ul>
|
||||
[% FOREACH quip = quips %]
|
||||
<li>[% quip %]</li>
|
||||
[% END %]
|
||||
</ul>
|
||||
[% ELSE %]
|
||||
<p>
|
||||
Those who like their wisdom in large doses can
|
||||
<a href="quips.cgi?action=show">view the whole quip list</a>.
|
||||
</p>
|
||||
[% END %]
|
||||
|
||||
[% INCLUDE global/footer %]
|
Загрузка…
Ссылка в новой задаче