From 6ae2fd1cfdab799ea974100288d100bec1f0e81e Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Sat, 26 Jan 2002 06:40:02 +0000 Subject: quips.cgi rewrite and templatisation. --- quips.cgi | 76 ++++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 27 deletions(-) (limited to 'quips.cgi') diff --git a/quips.cgi b/quips.cgi index d6fff6cfa..f1a41b4b9 100755 --- a/quips.cgi +++ b/quips.cgi @@ -19,6 +19,7 @@ # Rights Reserved. # # Contributor(s): Owen Taylor +# Gervase Markham use diagnostics; use strict; @@ -28,40 +29,61 @@ use lib qw(.); require "CGI.pl"; -print "Content-type: text/html\n\n"; - -PutHeader("Quips for the impatient", "Add your own clever headline"); +# Use the template toolkit (http://www.template-toolkit.org/) +use Template; -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. +# Create the global template object that processes templates +my $template = Template->new( +{ + INCLUDE_PATH => "template/custom:template/default", + RELATIVE => 1, + PRE_CHOMP => 1, +}); -
-
- -
+# 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{ -

Existing headlines

-}; +my $action = $::FORM{'action'} || ""; +if ($action eq "show") { + # Read in the entire quip list if (open (COMMENTS, ") { - print $_,"
\n"; - } + my @quips; + push (@quips, $_) while (); close COMMENTS; + + $vars->{'quips'} = \@quips; + $vars->{'show_quips'} = 1; } - print "

"; -} else { - print qq{ -For the impatient, you can -view the whole quip list. -}; - print "

"; } -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/>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; -- cgit v1.2.3-24-g4f1b