#!/usr/opkg/bin/perl -w
#
# This program is for testing the possibilities
# of creating an output in html
# Later test the possibiliies to read in the values
# from an cfg file and convert this to html
#
require 5.000;
use strict;
use CGI;
use IO;
use Data::Dumper;
use lib ".";
use TESTPM::Cfg;
$|++;
# establish CGI query object
my $cgi = new CGI;
# activate a general error handler
$SIG{__DIE__} = sub {
my ($err) = @_;
#$err =~ s|at\s+\S+\s+line\s+(\d+)|(line $1)|s;
$err =~ s|\n|
\n|sg;
print STDOUT $cgi->header(-expires => '+1s') .
"
$err\n"; exit(0); }; # read config my $filename = "/d1/ps/work/ossp-pkg/tabea/test/tabea-cfg.in"; my $filein = new IO::File "<$filename" || die; my $config = ''; $config .= $_ while (<$filein>); $filein->close(); my @resword = ("item", "visible", "type", "value", "checked", "description", "selected"); my @types =("text", "password", "checkbox", "radio", "image", "hidden", "submit", "reset", "selectmultiple", "textarea"); my $CF = &config_read($filename); #my $dump = Data::Dumper->Dump([$CF]); #my $cfgtext = $dump ; my $dump = Data::Dumper->Dump([$CF]) ; #print $cfgtext $dump; #print $cfgtext . Data::Dumper->Dump([$CF]); #print Data::Dumper->Dump([$CF]); my @cf = TESTPM::Cfg->parsit($dump); my $form = ''; for my $name (qw(output results)) { my $val = $cgi->param("dialog_$name") || ""; if ($val ne '') { $form = $name; } } my $page = $cgi->startform( -method => "POST", -action => $cgi->url(-full => 1)); if ($form eq '') { $page .= "
Street Address:
# Postal City code:
# Zip Code:
$text .= "
Street Address:
" .
"Postal City code:
" .
"Zip Code:
" ;
#item {
# name street
# visible "Street Address:"
# type text
#}
#item {
# name city
# visible "Postal City code:"
# type text[16][16]
#}
#item {
# name zip
# visible "Zip Code:"
# type text[10][10]
# value {
# name "99999-9999"
# }
#}
return $text;
}
sub text_result{
my $text;
$text .= $cgi->param('street') . "
" ;
return $text;
}
sub password {
my $text;
# # Password Field: INPUT TYPE=PASSWORD
#
Name: Password: $text .= "
Name: Password: " ;
# item {
# name login
# visible "Name:"
# type text
# }
# item {
# name passwd
# visible "Password:"
# type password
# }
#
#
return $text;
}
sub password_result{
my $text;
$text .= $cgi->param('passwd') . "
" ;
return $text;
}
sub checkbox {
my $text;
# # Check Box: INPUT TYPE=CHECKBOX
#
# #
What flavors do you like?
## # Vanilla
# Strawberry
# # Chocolate
$text .= "
What flavors do you like?\n" .
"Vanilla
\n" .
"Strawberry
\n" .
"Chocolate
\n" ;
#
# item {
# name flavor
# visible "What flavors do you like?"
# type checkbox
# value {
# name vanilla
# visible "Vanilla"
# checked
# }
# value {
# name strawberry
# visible "Strawberry"
# }
# value {
# name chocolate
# visible "Chocolate"
# checked
# }
# }
#
return $text;
}
sub checkbox_result{
my $text;
$text .= $cgi->param('flavor') . "
" ;
return $text;
}
sub radio {
my $text;
# # Radio Button: INPUT TYPE=RADIO
#
# #
Which is your favorite?
# # Vanilla
# # Strawberry
# # Chocolate
$text .= "
Which is your favorite?\n" .
"Vanilla
\n" .
"Strawberry
\n" .
"Chocolate
\n" ;
#
# item {
# name flavor
# visible "Which is your favorite?"
# type radio
# value {
# name vanilla
# visible "Vanilla"
# checked
# }
# value {
# name strawberry
# visible "Strawberry"
# }
# value {
# name chocolate
# visible "Chocolate"
# }
# }
#
#
return $text;
}
sub radio_result{
my $text;
$text .= $cgi->param('flavor') . "
" ;
return $text;
}
sub image {
my $text;
# # Image Pixel: INPUT TYPE=IMAGE
#
# #
# $text .= "\n" ;
$text .= "\n";
#
# item {
# name point
# visible "Choose a point on the map:"
# type image
# value {
# name "map.gif"
# }
# }
#
#
return $text;
}
sub hidden {
my $text;
# # Hidden Field: INPUT TYPE=HIDDEN (FIXME do we really need this?)
#
# #
$text .= "\n" ;
#
# item {
# name context
# type hidden
# value {
# name "l2k3j4l2k3j4l2k3j4lk23"
# }
# }
#
#
return $text;
}
sub submit {
my $text;
# # Submit Button: INPUT TYPE=SUBMIT
#
# #
# #
$text .= "
\n" .
"\n" ;
#
# item {
# name recipient
# type submit
# value {
# name internal
# }
# value {
# name world
# }
# }
#
return $text;
}
sub submit_result{
my $text;
$text .= $cgi->param('recipient') . "
" ;
return $text;
}
sub reset {
my $text;
#
# # Reset Button: INPUT TYPE=RESET
#
# #
$text .= "\n" ;
#
# item {
# description "You may clear the form and start over at any time:"
# type reset
# }
return $text;
}
sub select {
my $text;
# # Selection: SELECT
# # Option: OPTION
#
# #
#
$text .= "\n" ;
# item {
# name flavor
# type select[2] //or type selectmultipe[2]
# value {
# name "Vanilla"
# }
# value {
# name "Strawberry"
# }
# value {
# name RumRasin
# visible "Rum and Raisin"
# }
# value {
# name "Peach and Orange"
# selected
# }
#
# }
#
#
return $text;
}
sub select_result{
my $text;
$text .= $cgi->param('flavor') . "
" ;
return $text;
}
sub textarea {
my $text;
# # Text Area: TEXTAREA
#
# #
#
$text .= "\n" ;
# item {
# name "address"
# type textarea[64][6]
# value {
# name "HaL Computer Systems\n1315 Dell Avenue\nCampbell, California 95008"
# }
# }
#
return $text;
}
sub textarea_result{
my $text;
$text .= $cgi->param('address') . "
" ;
return $text;
}
# read configuration
sub config_read {
my ($file) = @_;
# read file into memory
my $fh = new IO::File "<$file" || die;
my $config = '';
$config .= $_ while (<$fh>);
$fh->close();
## Class method usage
my $cf = TESTPM::Cfg->parsit($config);
## Object method usage
#my $te=new PM2::Cfg();
#my $cf=$te->parsit($config);
return $cf;
}