ossp-pkg/tabea/test/output.cgi.1
#!/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;
$|++;
# 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|<br>\n|sg;
print STDOUT $cgi->header(-expires => '+1s') .
"<title>TabeaTest :: ERROR</title>",
"<h1>TabeaTest :: ERROR</h1>\n" .
"<pre>$err</pre>\n";
exit(0);
};
my $username;
my $form = '';
my $page;
if ($form eq '') {
$page .= "<br><br>We are testing<br>" ;
$page .= "\n\nHere comes the text output:<br>\n" ;
$page .= &text();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the password output:<br>\n" ;
$page .= &password();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the checkbox output:<br>\n" ;
$page .= &checkbox();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the radio output:<br>\n" ;
$page .= &radio();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the image output:<br>\n" ;
$page .= &image();
# $page .= &hidden();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the submit output:<br>\n" ;
$page .= &submit();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the reset output:<br>\n" ;
$page .= &reset();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the select output:<br>\n" ;
$page .= &select();
$page .= "<br><br>\n" ;
$page .= "\n\nHere comes the textaraea output:<br>\n" ;
$page .= &textarea();
}
else {
die "no correct dialog found";
}
$page .= $cgi->endform;
#print STDOUT $cgi->header(-cookie => $cookies, -expires => '+1s') . $page;
print STDOUT $cgi->header() . $page;
sub text{
my $text;
# Text Field: INPUT TYPE=TEXT
# <p>Street Address: <input name=street><br>
# Postal City code: <input name=city size=16 maxlength=16><br>
# Zip Code: <input name=zip size=10 maxlength=10 value="99999-9999"><br>
$text .= "<p>Street Address: <input name=street><br>" .
"Postal City code: <input name=city size=16 maxlength=16><br>" .
"Zip Code: <input name=zip size=10 maxlength=10 value=\"99999-9999\"><br>" ;
#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 password {
my $text;
# # Password Field: INPUT TYPE=PASSWORD
# <p>Name: <input name=login> Password: <input type=password name=passwd>
$text .= "<p>Name: <input name=login> Password: <input type=password name=passwd>" ;
# item {
# name login
# visible "Name:"
# type text
# }
# item {
# name passwd
# visible "Password:"
# type password
# }
#
#
return $text;
}
sub checkbox {
my $text;
# # Check Box: INPUT TYPE=CHECKBOX
#
# # <p>What flavors do you like?
## # <input type=checkbox name=flavor value=vanilla checked>Vanilla<br>
# <input type=checkbox name=flavor value=strawberry>Strawberry<br>
# # <input type=checkbox name=flavor value=chocolate checked>Chocolate<br>
$text .= "<p>What flavors do you like?\n" .
"<input type=checkbox name=flavor value=vanilla checked>Vanilla<br>\n" .
"<input type=checkbox name=flavor value=strawberry>Strawberry<br>\n" .
"<input type=checkbox name=flavor value=chocolate checked>Chocolate<br>\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 radio {
my $text;
# # Radio Button: INPUT TYPE=RADIO
#
# # <p>Which is your favorite?
# # <input type=radio name=flavor value=vanilla checked>Vanilla<br>
# # <input type=radio name=flavor value=strawberry>Strawberry<br>
# # <input type=radio name=flavor value=chocolate>Chocolate<br>
$text .= "<p>Which is your favorite?\n" .
"<input type=radio name=flavor value=vanilla checked>Vanilla<br>\n" .
"<input type=radio name=flavor value=strawberry>Strawberry<br>\n" .
"<input type=radio name=flavor value=chocolate>Chocolate<br>\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 image {
my $text;
# # Image Pixel: INPUT TYPE=IMAGE
#
# # <input type=image name=point value=map.gif>
# $text .= "<input type=image name=point value=\"./1.gif\">\n" ;
$text .= "<img alt=\"gif not found\" src=\"/ossp-cgi/test/1.gif\">\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?)
#
# # <input type=hidden name=context value="l2k3j4l2k3j4l2k3j4lk23">
$text .= "<input type=hidden name=context value=\"l2k3j4l2k3j4l2k3j4lk23\">\n" ;
#
# item {
# name context
# type hidden
# value {
# name "l2k3j4l2k3j4l2k3j4lk23"
# }
# }
#
#
return $text;
}
sub submit {
my $text;
# # Submit Button: INPUT TYPE=SUBMIT
#
# # <input type=submit name=recipient value=internal><br>
# # <input type=submit name=recipient value=world>
$text .= "<input type=submit name=recipient value=internal><br>\n" .
"<input type=submit name=recipient value=world>\n" ;
#
# item {
# name recipient
# type submit
# value {
# name internal
# }
# value {
# name world
# }
# }
#
return $text;
}
sub reset {
my $text;
#
# # Reset Button: INPUT TYPE=RESET
#
# # <input type=reset>
$text .= "<input type=reset>\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
#
# # <SELECT NAME="flavor" SIZE="2">
# # <OPTION>Vanilla
# # <OPTION>Strawberry
# # <OPTION value="RumRasin">Rum and Raisin
# # <OPTION selected>Peach and Orange
# # </SELECT>
#
$text .= "<SELECT NAME=\"flavor\" SIZE=\"2\">\n" .
"<OPTION>Vanilla\n" .
"<OPTION>Strawberry\n" .
"<OPTION value=\"RumRasin\">Rum and Raisin\n" .
"<OPTION selected>Peach and Orange\n" .
"</SELECT>\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 textarea {
my $text;
# # Text Area: TEXTAREA
#
# # <TEXTAREA NAME="address" ROWS=6 COLS=64>
# # HaL Computer Systems
# # 1315 Dell Avenue
# # Campbell, California 95008
# # </TEXTAREA>
#
$text .= "<TEXTAREA NAME=\"address\" ROWS=6 COLS=64>\n" .
"HaL Computer Systems\n" .
"Dell Avenue\n" .
"Campbell, California 95008\n" .
"</TEXTAREA>\n" ;
# item {
# name "address"
# type textarea[64][6]
# value {
# name "HaL Computer Systems\n1315 Dell Avenue\nCampbell, California 95008"
# }
# }
#
return $text;
}