CGI-Portable
view release on metacpan or search on metacpan
lib/DemoMailForm.pm view on Meta::CPAN
use CGI::Portable::AppStatic 0.50;
@ISA = qw(CGI::Portable::AppStatic);
use CGI::MultiValuedHash 1.09;
use HTML::FormTemplate 2.021;
######################################################################
=head1 SYNOPSIS
=head2 Use Default Question
#!/usr/bin/perl
use strict;
use warnings;
require CGI::Portable;
my $globals = CGI::Portable->new();
require CGI::Portable::AdapterCGI;
my $io = CGI::Portable::AdapterCGI->new();
$io->fetch_user_input( $globals );
$globals->default_application_title( 'Demo Email Form' );
$globals->default_maintainer_name( 'Tony Simons' );
$globals->default_maintainer_email_address( 'tony@aardvark.net' );
my %CONFIG = ();
$globals->set_prefs( \%CONFIG );
$globals->call_component( 'DemoMailForm' );
$io->send_user_output( $globals );
1;
=head2 Use Custom Questions Defined Here
my %CONFIG = (
custom_fd => 1,
field_defn => [
{
visible_title => "What's your age?",
type => 'textfield',
name => 'age',
is_required => 1,
validation_rule => '\d',
error_message => 'You must enter a number.',
}, {
visible_title => "What's the combination?",
type => 'checkbox_group',
name => 'words',
'values' => ['eenie', 'meenie', 'minie', 'moe'],
default => ['eenie', 'minie'],
labels => [qw( This That And Another )],
}, {
visible_title => "Who do you love?",
type => 'textfield',
name => 'name',
}, {
visible_title => "What's your favorite colour?",
type => 'popup_menu',
name => 'color',
'values' => ['red', 'green', 'blue', 'chartreuse'],
},
],
);
=head2 Use Custom Questions Defined In Perl File
use Cwd;
$globals->file_path_root( cwd() ); # let us default to current working dir
$globals->file_path_delimiter( $^O=~/Mac/i ? ":" : $^O=~/Win/i ? "\\" : "/" );
my %CONFIG = (
custom_fd => 1,
field_defn => 'survey_questions.txt', # do Perl code to make array ref
);
=head2 Use Custom Questions Defined In simple Boulder File
use Cwd;
$globals->file_path_root( cwd() ); # let us default to current working dir
$globals->file_path_delimiter( $^O=~/Mac/i ? ":" : $^O=~/Win/i ? "\\" : "/" );
my %CONFIG = (
custom_fd => 1,
field_defn => 'survey_questions.txt', # file in simple Boulder format
fd_in_seqf => 1,
);
=head2 Customize Subject Of Your Emails
my %CONFIG = (
email_subj => 'Another Survey Response',
);
=head2 Customize Webpage Intro Text
my %CONFIG = (
msg_new_title => 'Leave A Message', # custom title for new messages
msg_new_head => <<__endquote, # custom heading for new messages
<h1>Leave A Message</h1>
<p>Please leave a message after the beep. Answer the questions as faithfully
and truthfully as you can, as we have a lie detector set up and any false
answers will be met with spam.</p>
__endquote
);
=head1 DESCRIPTION
This Perl 5 object class is part of a demonstration of CGI::Portable in use.
It is one of a set of "application components" that takes its settings and user
input through CGI::Portable and uses that class to send its user output.
This demo module set can be used together to implement a web site complete with
static html pages, e-mail forms, guest books, segmented text document display,
usage tracking, and url-forwarding. Of course, true to the intent of
CGI::Portable, each of the modules in this demo set can be used independantly
of the others.
=head1 SYNTAX
( run in 1.124 second using v1.01-cache-2.11-cpan-364913b4093 )