Commit f7b4a61c authored by Florian Schlichting's avatar Florian Schlichting

Imported Upstream version 2.5.0~rc2

parent 2951f16f
=pod
=head 2.5.0
- Do not clear old code before compiling a Embperl page
in Perl >= 5.14.x because it causes seg faults. This
leads to "subroutine redifined" warings, when a
page was changed and is reloaded.
- Corrected use of G_KEEPERR when calling eval, because
of changed meaning, which cause the message "Compiling
error" instead of the real error message.
- Adapted tests to Perl 5.14 & 5.16
- Fixed a refcounting problem cause message "Attempt to
free unreferenced scalar" during mod_perl startup
with Perl 5.14.x
- Fix output inside of Registry script for mod_perl 2.0.4+
- Fix problem with error output on stderr for Windows 64Bit
- removed support for XALAN XML parser. It was outdated
anyway. libxml2 is still supported.
- Fixed a C type declaration which caused RTF files to not
correctly escaped with newer GCC's.
- Embperl::Form is totally overhauled with many new features.
It uses now jQuery as javascript library, instead
of prototype. NOTE: This is an incompatible change. If
you are using Embperl::Form before, you need to
adapt your html code!
- Fix some Unicode issues in Embperl::Form::Validate
- Embperl::Form::Validate is now able to highlight input
fields with wrong input
- Applied the following debian patches: delay.patch,
fix-string-typo.patch, fix-pod-errors.patch, fix-whatis.patch,
new_process_group.patch, fix-pod-unescaped-unicode.patch,
german.patch and utf8.patch which mainly corrects
spelling and typo errors. NOTE: modperl.patch and
Makefile.PL.patch are not applied, because they are
debian specific. Thanks to Florian Schlichting for
providing uptodate information about the patches
and adaptions for Embperl 2.5.
- Applied further spell corrections from Florian Schlichting.
- Log Errors form Embperl::Syntax::Mail to error log
=head 2.4.0 4. Oct 2010
- Support for CGI.pm 3.43 (included within Perl 5.10.1)
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ECOS
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -10,7 +11,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: Cmd.xs 294756 2005-08-07 00:03:03Z richter $
# $Id: Cmd.xs 1382642 2012-09-10 05:33:29Z richter $
#
###################################################################################
......
This diff is collapsed.
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ECOS
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -10,7 +11,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: DOM.xs 580492 2007-09-28 21:44:19Z richter $
# $Id: DOM.xs 1382642 2012-09-10 05:33:29Z richter $
#
###################################################################################
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2004 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -10,7 +11,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: Embperl.pm 1004025 2010-10-03 18:50:24Z richter $
# $Id: Embperl.pm 1382642 2012-09-10 05:33:29Z richter $
#
###################################################################################
......@@ -49,7 +50,7 @@ use vars qw(
@ISA = qw(Exporter DynaLoader);
$VERSION = '2.4.0' ;
$VERSION = '2.5.0_2' ;
if ($modperl = $ENV{MOD_PERL})
......@@ -501,6 +502,7 @@ sub export
use strict ;
}
#######################################################################################
package Apache::Embperl;
......
......@@ -41,7 +41,7 @@ configure Embperl and how to access the different Embperl objects and
their data. Also take a look at L<perldoc Embperl::Object|EmbperlObject.pod>
to learn how to use Embperl page as objects.
Additionaly there are a few introductions documents should consider to read:
Additionally there are a few introductions documents should consider to read:
L<Intro.pod>, L<IntroEmbperl2.pod> and L<IntroEmbperlObject.pod>.
......@@ -259,21 +259,21 @@ first B<Arg> accordingly.
=item B<next>
Inside of looks same as Perl next statement. You could also use the following
syntax, which allows to add an addtional condition (or any other Perl code):
syntax, which allows you to add an addtional condition (or any other Perl code):
[* next if ($foo) *]
=item B<last>
Inside of looks same as Perl last statement. You could also use the following
syntax, which allows to add an addtional condition (or any other Perl code):
syntax, which allows you to add an addtional condition (or any other Perl code):
[* last if ($foo) *]
=item B<redo>
Inside of looks same as Perl redo statement. You could also use the following
syntax, which allows to add an addtional condition (or any other Perl code):
syntax, which allows you to add an addtional condition (or any other Perl code):
[* redo if ($foo) *]
......@@ -401,7 +401,7 @@ In addtion you can define some initial Perl code for the subroutine:
[$ endsub $]
If you have a couple of commonly used subroutines you can define then in one
file and import them into the modules where they are neccesary:
file and import them into the modules where they are necessary:
[- Execute ({ inputfile => 'mylib.htm', import => 1 }) -]
......@@ -433,11 +433,11 @@ Output to embperl log file
=item err
Output to stderr, which normaly goes to the httpd error log.
Output to stderr, which normally goes to the httpd error log.
=back
If the output paramter is omitted, C<pre> is assumed.
If the output parameter is omitted, C<pre> is assumed.
The following parameter can be a literal text (in quotes) or a list
of variables.
......@@ -569,7 +569,7 @@ http-headers can also be set by the function B<header_out>
This is the same as using the Apache function
[- $req_rec -> header_out("Language" => "DE"); -]
[- $req_rec -> header_out("Language" => "DE"); -]
=item B<A>, B<EMBED>, B<IMG>, B<IFRAME>, B<FRAME>, B<LAYER>
......@@ -677,7 +677,7 @@ POST.
If multiple fields with the same name are sent to a Embperl page, they will
put in the same hash element and separated be tabs. You can split it up in
an array, by writting:
an array, by writing:
@array = split (/\t/, $fdat{'fieldname'}) ;
......@@ -828,10 +828,10 @@ together.
Turn HTML and URL escaping on and off. The default is on ($escmode =
3).
B<NOTE:> Normaly you can disable escaping by preceeding the item that
normaly is escaped with a backslash. While this is a handy thing, it could
B<NOTE:> Normaly you can disable escaping by preceding the item that
normally is escaped with a backslash. While this is a handy thing, it could
be very dangerous in situations, where content that is inserted by some
user is redisplayed, because they can enter arbitary HTML and preceed them
user is redisplayed, because they can enter arbitrary HTML and preceed them
with a backslash to avoid correct escaping when their input is redisplayed
again. To avoid this problem, add 4 to the values below. This will cause
Embperl to ignore the backslash when it does output escaping at all.
......@@ -913,7 +913,7 @@ for further docs)
You can put any http headers you want to send into this hash.
If you set a location header,
Embperl will automaticly set the status to 301 (Redirect). Example:
Embperl will automatically set the status to 301 (Redirect). Example:
[- $http_headers_out{'Location'} = "http://www.ecos.de/embperl/" -]
......@@ -1135,8 +1135,8 @@ a Embperl::Req object, which is passed as first parameter to every Embperl page
Must be called by scripts that use C<SetupSession>,
but do not call L<Embperl::Execute|Execute>. This is neccessary to set the cookie
for the user session id, in case a new session is created, which is normaly done by
but do not call L<Embperl::Execute|Execute>. This is necessary to set the cookie
for the user session id, in case a new session is created, which is normally done by
L<Embperl::Execute|Execute>.
SetSessionCookie does only set the cookie for the user session and it works only
......@@ -1410,7 +1410,7 @@ Here is an example:
(
'de' =>
{
'heading' => 'Überschrift',
'heading' => '\[:U]berschrift',
'bar' => 'Absenden',
},
'en' =>
......@@ -1743,7 +1743,7 @@ you need commercial support, ecos can provide it for you. We offer:
=over 4
=item * Consulting and assitance for you and your programmers
=item * Consulting and assistance for you and your programmers
=item * Planning of your dynamic website
......@@ -1758,9 +1758,9 @@ you need commercial support, ecos can provide it for you. We offer:
You can reach us via http://www.ecos.de or info@ecos.de
=head2 How to Support the Developement of Embperl
=head2 How to Support the Development of Embperl
If you use and like Embperl and want to support it's ongoing developement
If you use and like Embperl and want to support it's ongoing development
you have two possibilities:
=over 4
......@@ -1779,7 +1779,7 @@ Buy commercial support (see above). Also you B<may> get the same answers
to your questions on the mailing list, by buying the commercial support
you not only buy support for yourself and can be sure you get an answer,
you also give us the possibility to put more power in the further
developement of Embperl.
development of Embperl.
=back
......@@ -1794,7 +1794,7 @@ Embperl http://perl.apache.org/embperl/
Embperl (german) http://www.ecos.de/embperl/
DBIx::Recordset http://www.embperl.org/pub/perl/dbi
DBIx::Recordset http://search.cpan.org/~grichter/
Apache web server http://www.apache.org/
......@@ -1804,9 +1804,9 @@ mod_perl http://perl.apache.org/dist/
Apache Perl Modules http://www.perl.com/CPAN/modules/by-module/Apache/
Embperl http://www.embperl.org/pub/perl/embperl
Embperl http://www.embperl.org/downloads
DBIx::Recordset http://www.embperl.org/pub/perl/dbi
DBIx::Recordset http://search.cpan.org/~grichter/
PPM for ActiveState
......
/*###################################################################################
#
# Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ECOS
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -10,7 +11,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: App.pm 294776 2005-09-25 13:43:39Z richter $
# $Id: App.pm 1382642 2012-09-10 05:33:29Z richter $
#
###################################################################################
......@@ -295,7 +296,7 @@ __END__
=head1 NAME
Embperl base class for application objects
Embperl::App - Embperl base class for application objects
=head1 SYNOPSIS
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -10,7 +11,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: Constant.pm 294756 2005-08-07 00:03:03Z richter $
# $Id: Constant.pm 1382642 2012-09-10 05:33:29Z richter $
#
###################################################################################
......
This diff is collapsed.
This diff is collapsed.
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -62,8 +63,8 @@ $]
<td class="cBase cControlBox cControlAddRemoveBox" colspan="[+ $span +]">
<input type="hidden" id="[+ $name +]" name="[+ $name +]">
<img src="/images/toleft.gif" title="Hinzufgen" onClick="[+ $nsprefix +]addremoveAddOption (document, document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])">
<img src="/images/toright.gif" title="Entfernen" onClick="[+ $nsprefix +]addremoveRemoveOption (document, document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])">
<img src="[+ $self -> {imagedir} +]/toleft.gif" title="Hinzufgen" onClick="[+ $nsprefix +]addremoveAddOption (document, document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])">
<img src="[+ $self -> {imagedir} +]/toright.gif" title="Entfernen" onClick="[+ $nsprefix +]addremoveRemoveOption (document, document.getElementById('[+ $self->{src} +]'), document.getElementById('[+ $self->{dest} +]'), document.getElementById('[+ $name +]'), [+ $self->{removesource} +])">
[#
print "<input class="cStandardButton" type=button value="Hinzufgen" onClick="[+ $nsprefix +]addremoveAddOption (document, this.form.elements['$self->{src}'], this.form.elements['$self->{dest}'], this.form.elements['$self->{name}'], $self->{removesource})">\n" ;
......@@ -121,7 +122,7 @@ move to the destionation box. If set to false, the items will be copied.
=head1 Author
G. Richter (richter@dev.ecos.de)
G. Richter (richter at embperl dot org)
=head1 See Also
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
#
# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id$
#
###################################################################################
package Embperl::Form::Control::age ;
use strict ;
use base 'Embperl::Form::Control::number' ;
use Embperl::Inline ;
use vars qw{%fdat} ;
use Date::Calc qw{Delta_DHMS};
# ---------------------------------------------------------------------------
#
# init - init the new control
#
sub init
{
my ($self) = @_ ;
$self->{unit} ||= '' ;
return $self ;
}
# ------------------------------------------------------------------------------------------
#
# init_data - daten aufteilen
#
sub init_data
{
my ($self, $req, $parentctrl) = @_ ;
my $fdat = $req -> {docdata} || \%fdat ;
my $name = $self->{name} ;
my $val = $fdat->{$name} ;
return if ($val eq '' || $req -> {"ef_age_init_done_$name"}) ;
#20060914041444Z
my ($year, $mon, $mday, $hour, $min, $sec, $tz) = ($val =~ /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(.)$/) ;
my ($sec2, $min2, $hour2, $mday2, $mon2, $year2) = gmtime ;
$mon2++ ;
$year2+=1900 ;
#warn "$_[0] $year,$mon,$mday, $hour,$min,$sec,$year2,$mon2,$mday2, $hour2,$min2,$sec2" ;
my ($Dd,$Dh,$Dm,$Ds) = eval { Delta_DHMS($year,$mon,$mday, $hour,$min,$sec,
$year2,$mon2,$mday2, $hour2,$min2,$sec2) } ;
$fdat->{$name} = $Dd > 0?"${Dd}Tage":sprintf ('%d:%02dh', $Dh, $Dm) ;
$req -> {"ef_age_init_done_$name"} = 1 ;
}
# ------------------------------------------------------------------------------------------
#
# prepare_fdat - daten zusammenfuehren
#
sub prepare_fdat
{
my ($self, $req) = @_ ;
my $fdat = $req -> {form} || \%fdat ;
my $name = $self->{name} ;
my $val = $fdat->{$name} ;
return if ($val eq '') ;
}
1 ;
__EMBPERL__
__END__
=pod
=head1 NAME
Embperl::Form::Control::age - A age input control with optional unit inside an Embperl Form
=head1 SYNOPSIS
{
type => 'age',
text => 'blabla',
name => 'foo',
unit => 'sec',
}
=head1 DESCRIPTION
Used to create a age input control inside an Embperl Form.
Will format date as days:hours:minutes from current time.
Optionaly it can display an unit after the input field.
See Embperl::Form on how to specify parameters.
=head2 PARAMETER
=head3 type
Needs to be 'age'
=head3 name
Specifies the name of the control
=head3 text
Will be used as label for the numeric input control
=head3 size
Gives the size in characters. (Default: 10)
=head3 maxlength
Gives the maximun length in characters
=head3 unit
Gives a string that should be displayed right of the input field.
(
=head1 Author
G. Richter (richter at embperl dot org)
=head1 See Also
perl(1), Embperl, Embperl::Form
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -32,10 +33,13 @@ __EMBPERL__
[$ sub show ($self, $data)
my $span = ($self->{width_percent}) ;
$]
<td class="cBase cControlBox" colspan="[+ $span +]">[+ $self->{text} +]</td>
[$endsub$]
my $state = $self -> {state} ;
$]<table class="[+ $state +] ef-element ef-element-width-[+ $self -> {width_percent} +]">
<tr>
<td class="ef-label-box">[+ $self->{text} +]</td>
</tr>
</table>[$endsub$]
__END__
......@@ -72,7 +76,7 @@ Could be used to give a text that should be displayed inside the blank area
=head1 Author
G. Richter (richter@dev.ecos.de)
G. Richter (richter at embperl dot org)
=head1 See Also
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -34,14 +35,15 @@ __EMBPERL__
my $span = ($self->{width_percent}) ;
$self->{button} ||= [{}] ;
my $state = $self -> {state} ;
$]
<td class="cBase cControlBox cControlButtonBox" colspan="[+ $span +]">
<td class="cBase cControlBox cControlButtonBox" colspan="[+ $span +] [+ $state +]">
[$ foreach my $button (@{$self->{button}}) $]
[$if $self -> {symbol} $]
<div class="cControlButtonDiv"
title="[+ $self -> {showtext}?($self->{text}):$self -> form -> convert_label ($self) +]"
[$if $self -> {onclick} $] onClick="[+ do { local $escmode = 0 ; $self -> {onclick} } +]" [$endif$]
><img class="cControlButtonSymbol" src="[+ $self -> {symbol} +]">
[+ do { local $escmode = 0 ; $self -> {eventattrs} } +]><img class="cControlButtonSymbol" src="[+ $self -> {symbol} +]">
[+ $self -> {showvalue}?($self -> {value} || $self->{text}):$self -> form -> convert_label ($self) +]
</div>
[$else$]
......@@ -51,6 +53,7 @@ $]
value="[+ $self -> {showvalue}?($self -> {value} || $self->{text}):$self -> form -> convert_label ($self) +]"
title="[+ $self -> {showtext}?($self->{text}):$self -> form -> convert_label ($self) +]"
[$if $self -> {onclick} $] onClick="[+ do { local $escmode = 0 ; $self -> {onclick} } +]" [$endif$]
[+ do { local $escmode = 0 ; $self -> {eventattrs} } +]
[$if $self -> {image} $]
type="image" src="[+ $self -> {image} +]"
[$else$]
......@@ -147,7 +150,7 @@ hashref of the key-value pairs of all attribute the button needs.
=head1 Author
G. Richter (richter@dev.ecos.de), A. Beckert (beckert@ecos.de)
G. Richter (richter at embperl dot org), A. Beckert (beckert@ecos.de)
=head1 See Also
......
###################################################################################
#
# Embperl - Copyright (c) 1997-2010 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 1997-2008 Gerald Richter / ecos gmbh www.ecos.de
# Embperl - Copyright (c) 2008-2012 Gerald Richter
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
......@@ -64,8 +65,7 @@ sub show_control_readonly
my $val = $self -> {value} ;
$val = 1 if ($val eq '') ;
$self -> {value} = $fdat{$name} eq $val?'X':'-' ;
$self -> SUPER::show_control_readonly ($req) ;
$self -> SUPER::show_control_readonly ($req, $fdat{$name} eq $val?'X':'-') ;
}
......@@ -79,17 +79,20 @@ __EMBPERL__
# show_control - output the control
#]
[$ sub show_control ($self)
[$ sub show_control ($self, $req)
my $name = $self -> {name} ;
my $val = $self -> {value} || 1 ;
my $nsprefix = $self -> form -> {jsnamespace} ;
$val =~ s/%%%name%%%/$fdat{$name}/g ;
$val =~ s/%%(.+?)%%/$fdat{$1}/g ;
my ($ctlattrs, $ctlid, $ctlname) = $self -> get_std_control_attr($req) ;
push @{$self -> form -> {fields2empty}}, $name ;
$]
<input type="checkbox" class="cBase cControlCheckbox" name="[+ $name +]" value="[+ $val +]"
[$if ($self -> {sublines} || $self -> {subobjects}) $] OnClick="[+ $nsprefix +]show_checked(document, this)" [$endif$]
[+ do { local $escmode = 0 ; $self -> {eventattrs} } +]>
<input type="checkbox" name="[+ $ctlname +]" [+ do { local $escmode = 0 ; $ctlattrs } +] value="[+ $val +]"
>[$if ($self -> {trigger}) $]<script >$('#[+ $ctlid +]').ef_checkbox ()</script>[$endif$]
[$endsub$]
__END__
......@@ -125,17 +128,33 @@ Needs to be 'checkbox'
Specifies the name of the checkbox control
=head3 force_name
overwrites the name of the control. This is especially useful
inside grids, where you can force the name of all checkboxes
in all rows to be the same name.
=head3 text
Will be used as label for the checkbox control
=head3 value
Gives the value of the checkbox
Gives the value for the checkbox.
%%<xx>%% is replaced by $fdat{<xx>}
%%%name%%% is replaced by $fdat{<name>}, where <name> is the value that
is given with name parameter. Is is especially useful inside of grids
where the actual name of the html control is computed dynamicly.
=head3 class
Extra css class
=head1 Author
G. Richter (richter@dev.ecos.de)
G. Richter (richter at embperl dot org)
=head1 See Also
......
###################################################################################