NAME
CGI::AppBuilder::Form - Configuration initializer
SYNOPSIS
use CGI::AppBuilder::Form;
my $ab = CGI::AppBuilder::Form->new(
'ifn', 'my_init.cfg', 'opt', 'vhS:a:');
my ($q, $ar, $ar_log) = $ab->start_app($0, \%ARGV);
print $ab->disp_form($q, $ar);
DESCRIPTION
This class provides methods for reading and parsing configuration files.
new (ifn => 'file.cfg', opt => 'hvS:') This is a inherited method from CGI::AppBuilder. See the same method in CGI::AppBuilder for more details.
disp_form ($q, $ar)
Input variables:
$q - CGI object
$ar - array ref for parameters
Variables used or routines called:
CGI::AppBuilder::Message
echo_msg - echo messages
set_param - get a parameter from hash array
CGI::AppBuilder::Config
eval_variables - replace value names with their values.
How to use:
my $ifn = 'myConfig.ini';
my ($q,$ar) = $s->get_inputs($ifn);
$self->disp_form($q, $ar);
Return: none
This method expects the following varialbes in $ar:
gk - GUI key items
gi - GUI items
gc - GUI columns
gf - GUI form
db - database connection varialbes (optional)
vars_keep - variables separated by comma for hidden variables
hr_form - hash ref containing attributes for <FORM> such as
-target = "main"
This method performs the following tasks:
explode_html ($gi, $pr)
Input variables:
$gi - a hash ref
$pr - a parameter hash ref
Variables used or routines called:
CGI::AppBuilder::Message
echo_msg - echo messages
How to use:
my $ifn = 'myConfig.ini';
my ($q,$ar) = $s->get_inputs($ifn);
$self->explote_html($ar->{gi}, $ar);
Return: none
This method enables a 'x' command in your GUI definition and processes the complex elements in the hash ref. For instance, you have a GUI hash:
gi = { # GUI Items
rts => ['rpt_src',['DataFax Generic','Study Specific'],
'DataFax Generic'],
xtd_rts => 'radio_group',
act1 => td('Action'),
act2 => td({-colspan=>'2',-align=>'center'},
gk->{opf} . submit('a','Go') . ' ' . submit('a','Update') .
' ' . reset() ),
xcp_act => 'act1,act2',
act => submit('a','Go') . ' ' . reset(),
}
and the method will copy (xcp_act) the results (HTML text) of $gi->{act1} and and $gi->{act2} into one. The $gi->{xcp_act} will contains the combined string.
The 'xtd_' instructs the method to use $gi->{rts} as arguments for the method name in $gi->{xtd_rts}.
explode_variable ($xr, $i, $pr)
Input variables:
$xr - a hash ref such as the elements of gi,gk,gc,gf in
GUI hash array
$i - one of gi, gk, gc and gf
$pr - a parameter hash ref containing the values for $i to be
used in $xr
Variables used or routines called:
CGI::AppBuilder::Message
echo_msg - echo messages
How to use:
my $ifn = 'myConfig.ini';
my ($q,$ar) = $s->get_inputs($ifn);
my $gi = $self->explode_variable($ar, 'gi', $ar);
my $gc = $self->explode_variable($ar, 'gc', $ar);
Return: hash or hash ref for $i.
This method replaces variable names with their values and HTML commands with their results.
replace_named_variables ($ar, $vs, $ks) Input variables:
$ar - a hash ref containing the elements of gi,gk,gc,gf in
GUI hash array
$vs - a list of variable names separated by comma such as
'ar,db,gi,gk,gc'
$ks - a list of key elements separated by comma such as
'gk,gi,gc,gf'
Variables used or routines called:
None
How to use:
my $ifn = 'myConfig.ini';
my ($q,$ar) = $s->get_inputs($ifn);
$self->replace_named_variables($ar, 'ar,db,gk,gi,gc','gk,gi,gc,gf');
Return: None.
This method replaces named variables with their values in $ar.
HISTORY
SEE ALSO (some of docs that I check often)
Oracle::Loader, Oracle::Trigger, CGI::Getopt, File::Xcopy,
CGI::AppBuilder, CGI::AppBuilder::Message, CGI::AppBuilder::Log,
CGI::AppBuilder::Config, etc.
AUTHOR
Copyright (c) 2005 Hanming Tu. All rights reserved.
This package is free software and is provided "as is" without
express or implied warranty. It may be used, redistributed and/or
modified under the terms of the Perl Artistic License (see
http://www.perl.com/perl/misc/Artistic.html)