data entry form
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 6417
Data::CGIForm 0.4
Data::CGIForm is a Perl module with form data interface. more>>
Data::CGIForm is a Perl module with form data interface.
Data::CGIForm is yet another way to parse and handle CGI form data. The main motivation behind this module was a simple specification based validator that could handle multiple values.
You probably dont want to use this module. CGI::Validate is a much more feature complete take on getting this sort of work done. You may then ask why this is on the CPAN, I ask that of myself from time to time....
SYNOPSIS
my %spec = (
username => qr/^([a-z0-9]+)$/,
password => {
regexp => qr/^([a-z0-9+])$/,
filter => [qw(strip_leading_ws, strip_trailing_ws)],
},
email => {
regexp => qr/^([a-z0-9@.]+)$/,
filter => &qualify_domain,
optional => 1,
errors => {
empty => You didnt enter an email address.,
invalid => Bad [% key %]: "[% value %]",
},
extra_test => &check_email_addr,
},
email2 => {
equal_to => email,
errors => {
unequal => Both email addresses must be the same.,
},
},
);
my $r = $ENV{MOD_PERL} ? Apache::Request->instance : CGI->new;
my $form = Data::CGIForm->new(datasource => $r, spec => %spec);
my @params = $form->params;
foreach $param (@params) {
next unless my $error_string = $form->error($param);
print STDERR $error_string;
}
if ($form->error(username)) {
handle_error($form->username, $form->error(username));
}
my $email = $form->param(email);
my $password = $form->password;
<<lessData::CGIForm is yet another way to parse and handle CGI form data. The main motivation behind this module was a simple specification based validator that could handle multiple values.
You probably dont want to use this module. CGI::Validate is a much more feature complete take on getting this sort of work done. You may then ask why this is on the CPAN, I ask that of myself from time to time....
SYNOPSIS
my %spec = (
username => qr/^([a-z0-9]+)$/,
password => {
regexp => qr/^([a-z0-9+])$/,
filter => [qw(strip_leading_ws, strip_trailing_ws)],
},
email => {
regexp => qr/^([a-z0-9@.]+)$/,
filter => &qualify_domain,
optional => 1,
errors => {
empty => You didnt enter an email address.,
invalid => Bad [% key %]: "[% value %]",
},
extra_test => &check_email_addr,
},
email2 => {
equal_to => email,
errors => {
unequal => Both email addresses must be the same.,
},
},
);
my $r = $ENV{MOD_PERL} ? Apache::Request->instance : CGI->new;
my $form = Data::CGIForm->new(datasource => $r, spec => %spec);
my @params = $form->params;
foreach $param (@params) {
next unless my $error_string = $form->error($param);
print STDERR $error_string;
}
if ($form->error(username)) {
handle_error($form->username, $form->error(username));
}
my $email = $form->param(email);
my $password = $form->password;
Download (0.012MB)
Added: 2006-10-04 License: Perl Artistic License Price:
1115 downloads
Data::ICal::Entry::Journal 0.12
Data::ICal::Entry::Journal is a Perl module that represents a journal entry in an iCalendar file. more>>
Data::ICal::Entry::Journal is a Perl module that represents a journal entry in an iCalendar file.
SYNOPSIS
my $vjournal = Data::ICal::Entry::Journal->new();
$vjournal->add_properties(
summary => "Minutes of my party",
description => "I cried because I wanted to.",
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vjournal);
A Data::ICal::Entry::Journal object represents a single journal entry in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
<<lessSYNOPSIS
my $vjournal = Data::ICal::Entry::Journal->new();
$vjournal->add_properties(
summary => "Minutes of my party",
description => "I cried because I wanted to.",
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vjournal);
A Data::ICal::Entry::Journal object represents a single journal entry in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
Download (0.10MB)
Added: 2007-01-17 License: Perl Artistic License Price:
1012 downloads
Data::ICal::Entry::Todo 0.11
Data::ICal::Entry::Todo is a Perl module that represents a to-do entry in an iCalendar file. more>>
Data::ICal::Entry::Todo is a Perl module that represents a to-do entry in an iCalendar file.
SYNOPSIS
my $vtodo = Data::ICal::Entry::Todo->new();
$vtodo->add_properties(
summary => "go to sleep",
status => INCOMPLETE,
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vtodo);
$vtodo->add_entry($alarm);
A Data::ICal::Entry::Todo object represents a single to-do entry in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
<<lessSYNOPSIS
my $vtodo = Data::ICal::Entry::Todo->new();
$vtodo->add_properties(
summary => "go to sleep",
status => INCOMPLETE,
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vtodo);
$vtodo->add_entry($alarm);
A Data::ICal::Entry::Todo object represents a single to-do entry in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
Download (0.10MB)
Added: 2007-01-13 License: Perl Artistic License Price:
1014 downloads
Data::ICal::Entry::FreeBusy 0.12
Data::ICal::Entry::FreeBusy is a Perl module that represents blocks of free and busy time in an iCalendar file. more>>
Data::ICal::Entry::FreeBusy is a Perl module that represents blocks of free and busy time in an iCalendar file.
SYNOPSIS
my $vfreebusy = Data::ICal::Entry::FreeBusy->new();
$vfreebusy->add_properties(
organizer => MAILTO:jsmith@host.com,
# Dat*e*::ICal is not a typo here
freebusy => Date::ICal->new( epoch => ... )->ical . / . Date::ICal->new( epoch => ... )->ical,
);
$calendar->add_entry($vfreebusy);
A Data::ICal::Entry::FreeBusy object represents a request for information about free and busy time or a reponse to such a request, in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
METHODS
ical_entry_type
Returns VFREEBUSY, its iCalendar entry name.
optional_unique_properties
According to the iCalendar standard, the following properties may be specified at most one time for a free/busy entry:
contact dtstart dtend duration dtstamp
organizer uid url
optional_repeatable_properties
According to the iCalendar standard, the following properties may be specified any number of times for free/busy entry:
attendee comment freebusy request-status
<<lessSYNOPSIS
my $vfreebusy = Data::ICal::Entry::FreeBusy->new();
$vfreebusy->add_properties(
organizer => MAILTO:jsmith@host.com,
# Dat*e*::ICal is not a typo here
freebusy => Date::ICal->new( epoch => ... )->ical . / . Date::ICal->new( epoch => ... )->ical,
);
$calendar->add_entry($vfreebusy);
A Data::ICal::Entry::FreeBusy object represents a request for information about free and busy time or a reponse to such a request, in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
METHODS
ical_entry_type
Returns VFREEBUSY, its iCalendar entry name.
optional_unique_properties
According to the iCalendar standard, the following properties may be specified at most one time for a free/busy entry:
contact dtstart dtend duration dtstamp
organizer uid url
optional_repeatable_properties
According to the iCalendar standard, the following properties may be specified any number of times for free/busy entry:
attendee comment freebusy request-status
Download (0.10MB)
Added: 2007-01-17 License: Perl Artistic License Price:
1011 downloads
Data::ICal::Entry::Event 0.12
Data::ICal::Entry::Event is a Perl module that represents an event in an iCalendar file. more>>
Data::ICal::Entry::Event is a Perl module that represents an event in an iCalendar file.
SYNOPSIS
my $vevent = Data::ICal::Entry::Event->new();
$vevent->add_properties(
summary => "my party",
description => "Ill cry if I want to",
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vevent);
$vevent->add_entry($alarm);
A Data::ICal::Entry::Event object represents a single event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
<<lessSYNOPSIS
my $vevent = Data::ICal::Entry::Event->new();
$vevent->add_properties(
summary => "my party",
description => "Ill cry if I want to",
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vevent);
$vevent->add_entry($alarm);
A Data::ICal::Entry::Event object represents a single event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
Download (0.10MB)
Added: 2007-01-17 License: Perl Artistic License Price:
1011 downloads
Data::ICal::Entry::Alarm::Audio 0.07
Data::ICal::Entry::Alarm::Audio represents an audio alarm in an iCalendar file. more>>
Data::ICal::Entry::Alarm::Audio represents an audio alarm in an iCalendar file.
SYNOPSIS
my $valarm = Data::ICal::Entry::Alarm::Audio->new();
$valarm->add_properties(
attach => [ "ftp://host.com/pub/sounds/bell-01.aud", { fmttype => "audio/basic" } ],
# Dat*e*::ICal is not a typo here
trigger => [ Date::ICal->new( epoch => ... )->ical, { value => DATE-TIME } ],
);
$vevent->add_entry($valarm);
A Data::ICal::Entry::Alarm::Audio object represents an audio alarm attached to a todo item or event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
<<lessSYNOPSIS
my $valarm = Data::ICal::Entry::Alarm::Audio->new();
$valarm->add_properties(
attach => [ "ftp://host.com/pub/sounds/bell-01.aud", { fmttype => "audio/basic" } ],
# Dat*e*::ICal is not a typo here
trigger => [ Date::ICal->new( epoch => ... )->ical, { value => DATE-TIME } ],
);
$vevent->add_entry($valarm);
A Data::ICal::Entry::Alarm::Audio object represents an audio alarm attached to a todo item or event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
Download (0.089MB)
Added: 2006-06-20 License: GPL (GNU General Public License) Price:
1222 downloads
Data::ICal::Entry::TimeZone 0.12
Data::ICal::Entry::TimeZone is a Perl module to represents a time zone definition in an iCalendar file. more>>
Data::ICal::Entry::TimeZone is a Perl module to represents a time zone definition in an iCalendar file.
SYNOPSIS
my $vtimezone = Data::ICal::Entry::TimeZone->new();
$vtimezone->add_properties(
tzid => "US-Eastern",
tzurl => "http://zones.stds_r_us.net/tz/US-Eastern"
);
$vtimezone->add_entry($daylight); # daylight/ standard not yet implemented
$vtimezone->add_entry($standard); # :-(
$calendar->add_entry($vtimezone);
A Data::ICal::Entry::TimeZone object represents the declaration of a time zone in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
This module is not yet useful, because every time zone declaration needs to contain at least one STANDARD or DAYLIGHT component, and these have not yet been implemented.
<<lessSYNOPSIS
my $vtimezone = Data::ICal::Entry::TimeZone->new();
$vtimezone->add_properties(
tzid => "US-Eastern",
tzurl => "http://zones.stds_r_us.net/tz/US-Eastern"
);
$vtimezone->add_entry($daylight); # daylight/ standard not yet implemented
$vtimezone->add_entry($standard); # :-(
$calendar->add_entry($vtimezone);
A Data::ICal::Entry::TimeZone object represents the declaration of a time zone in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
This module is not yet useful, because every time zone declaration needs to contain at least one STANDARD or DAYLIGHT component, and these have not yet been implemented.
Download (0.10MB)
Added: 2007-01-15 License: Perl Artistic License Price:
1013 downloads
Tk Web form Buddy 0.03
Tk Web form Buddy is a helper for Web forms. more>>
Tk Web form Buddy project is a helper for Web forms.
The Tk Web form Buddy is a Tk script that allows one easily to make a series of strings available to the X11 PRIMARY selection, which is useful for filling in Web forms that have common/repetitive data.
How many times have you wished to have something to always fill in your name, address, email, etc.?
Its not automatic enough to fill these in for you, but you can click on each button to make it the PRIMARY selection so that you can paste these strings into a Web form, with the middle mouse button for example.
Enhancements:
- should now work under ActiveTCL by setting the Win32 clipboard
<<lessThe Tk Web form Buddy is a Tk script that allows one easily to make a series of strings available to the X11 PRIMARY selection, which is useful for filling in Web forms that have common/repetitive data.
How many times have you wished to have something to always fill in your name, address, email, etc.?
Its not automatic enough to fill these in for you, but you can click on each button to make it the PRIMARY selection so that you can paste these strings into a Web form, with the middle mouse button for example.
Enhancements:
- should now work under ActiveTCL by setting the Win32 clipboard
Download (0.005MB)
Added: 2006-09-29 License: MIT/X Consortium License Price:
1123 downloads
Gentry 0.1.11
Gentry is a program to do data entry into a MySQL database using an GTK GUI application. more>>
This program stemmed from a need to be able to data enter data into an SQL table without having to actually type the SQL over and over again for lots of data. I also wanted to be able to put data into any table in the database.
This program connects to a local MySQL database server using your username and no password. The database must be setup for this in order to work. Additional work can (and most likely will) be done to accommodate other servers and username/password connection data. For now, it works for me and that was my primary reason for putting this program together.
As a consumer of the free software movement, I also wanted to return something to all those out there who are working hard to bring quality program to the Linux community.
Enhancements:
- MySQL development libraries
Enhancements:
Added support for the following data/column types:
- datetime
- timestamp
- float
- year
<<lessThis program connects to a local MySQL database server using your username and no password. The database must be setup for this in order to work. Additional work can (and most likely will) be done to accommodate other servers and username/password connection data. For now, it works for me and that was my primary reason for putting this program together.
As a consumer of the free software movement, I also wanted to return something to all those out there who are working hard to bring quality program to the Linux community.
Enhancements:
- MySQL development libraries
Enhancements:
Added support for the following data/column types:
- datetime
- timestamp
- float
- year
Download (0.049MB)
Added: 2005-08-08 License: GPL (GNU General Public License) Price:
1537 downloads
Data::Type 0.01.04
Data::Type is a Perl module with versatile data and value types. more>>
Data::Type is a Perl module with versatile data and value types.
SYNOPSIS
use Data::Type qw(:all);
use Error qw(:try);
try
{
verify $email , EMAIL;
verify $homepage , URI(http);
verify $cc , CREDITCARD( MASTERCARD, VISA );
verify $answer_a , YESNO;
verify $gender , GENDER;
verify one , ENUM( qw(one two three) );
verify [qw(two six)], SET( qw(one two three four five six) ) );
verify $server_ip4 , IP(v4);
verify $server_ip6 , IP(v6);
verify A35231AH1 , CINS;
verify 14565935 , ISSN;
verify DE , LANGCODE;
verify German , LANGNAME;
verify 012345678905, UPC();
verify 5276440065421319, CREDITCARD( MASTERCARD ) );
verify ATGCAAAT , BIO::DNA;
verify AUGGGAAAU , BIO::RNA;
verify 01001001110110101, BINARY;
verify 0F 0C 0A, HEX;
verify 0 , DEFINED;
verify 234 , NUM( 20 );
verify 1 , BOOL( true );
verify 100 , INT;
verify 1.1 , REAL;
my $foo = bless( 123, SomeThing );
verify $foo , REF;
verify $foo , REF( qw(SomeThing Else) );
verify [ bar ] , REF( ARRAY );
verify x 20 , VARCHAR( 20 );
verify 2001-01-01 , DATE( MYSQL );
verify 16 Nov 94 22:28:20 PST , DATE( DATEPARSE );
verify 9999-12-31 23:59:59, DATETIME;
verify 1970-01-01 00:00:00, TIMESTAMP;
verify -838:59:59 , TIME;
verify 2155 , YEAR;
verify 69 , YEAR(2);
verify 0 x 20 , TINYTEXT;
verify 0 x 20 , MEDIUMTEXT;
verify 0 x 20 , LONGTEXT;
verify 0 x 20 , TEXT;
verify 80 , PORT;
verify www.cpan.org, DOMAIN;
}
catch Type::Exception with
{
my $e = shift;
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
foreach my $entry ( testplan( $e->type ) )
{
printf "texpecting it %s %s ", $entry->[1] ? is : is NOT, $entry->[0]->info();
}
};
# believe it or not, this really works
foreach ( EMAIL, WORD, CREDITCARD( MASTERCARD, VISA ), BIO::DNA, HEX )
{
print $_->info;
print $_->usage;
print $_->export; # does it have other names
print $_->param; # what are my choice i.e. [yes,no]
print $_->isa( IType::Business ); # is it a Business related type ?
print $_->VERSION; # first apperance in Data::Type release
}
# tied interface (alias typ)
try
{
typ ENUM( qw(DNA RNA) ), ( my $a, my $b );
print "a is typed" if istyp( $a );
$a = DNA; # $alias only accepts DNA or RNA
$a = RNA;
$a = xNA; # throws exception
untyp( $alias );
}
catch Type::Exception ::with
{
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
};
dverify( $email, EMAIL ) or die $!;
my $g = Data::Type::Guard->new(
allow => [ Human, Others ], # blessed objects of that type
tests =>
{
email => EMAIL( 1 ), # mxcheck ON ! see Email::Valid
firstname => WORD,
social_id => [ NUM, VARCHAR( 10 ) ],
contacts => sub { my %args = @_; exists $args{lucy} },
}
);
$g->inspect( $h );
# compact version
overify { email => EMAIL( 1 ), firstname => WORD }, $object_a, $object_b;
print toc();
print catalog();
This module supports versatile data and value types. Out of the ordinary it supports parameterised types (like databases have i.e. VARCHAR(80) ). When you try to feed a typed variable against some odd data, this module explains what he would have expected.
<<lessSYNOPSIS
use Data::Type qw(:all);
use Error qw(:try);
try
{
verify $email , EMAIL;
verify $homepage , URI(http);
verify $cc , CREDITCARD( MASTERCARD, VISA );
verify $answer_a , YESNO;
verify $gender , GENDER;
verify one , ENUM( qw(one two three) );
verify [qw(two six)], SET( qw(one two three four five six) ) );
verify $server_ip4 , IP(v4);
verify $server_ip6 , IP(v6);
verify A35231AH1 , CINS;
verify 14565935 , ISSN;
verify DE , LANGCODE;
verify German , LANGNAME;
verify 012345678905, UPC();
verify 5276440065421319, CREDITCARD( MASTERCARD ) );
verify ATGCAAAT , BIO::DNA;
verify AUGGGAAAU , BIO::RNA;
verify 01001001110110101, BINARY;
verify 0F 0C 0A, HEX;
verify 0 , DEFINED;
verify 234 , NUM( 20 );
verify 1 , BOOL( true );
verify 100 , INT;
verify 1.1 , REAL;
my $foo = bless( 123, SomeThing );
verify $foo , REF;
verify $foo , REF( qw(SomeThing Else) );
verify [ bar ] , REF( ARRAY );
verify x 20 , VARCHAR( 20 );
verify 2001-01-01 , DATE( MYSQL );
verify 16 Nov 94 22:28:20 PST , DATE( DATEPARSE );
verify 9999-12-31 23:59:59, DATETIME;
verify 1970-01-01 00:00:00, TIMESTAMP;
verify -838:59:59 , TIME;
verify 2155 , YEAR;
verify 69 , YEAR(2);
verify 0 x 20 , TINYTEXT;
verify 0 x 20 , MEDIUMTEXT;
verify 0 x 20 , LONGTEXT;
verify 0 x 20 , TEXT;
verify 80 , PORT;
verify www.cpan.org, DOMAIN;
}
catch Type::Exception with
{
my $e = shift;
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
foreach my $entry ( testplan( $e->type ) )
{
printf "texpecting it %s %s ", $entry->[1] ? is : is NOT, $entry->[0]->info();
}
};
# believe it or not, this really works
foreach ( EMAIL, WORD, CREDITCARD( MASTERCARD, VISA ), BIO::DNA, HEX )
{
print $_->info;
print $_->usage;
print $_->export; # does it have other names
print $_->param; # what are my choice i.e. [yes,no]
print $_->isa( IType::Business ); # is it a Business related type ?
print $_->VERSION; # first apperance in Data::Type release
}
# tied interface (alias typ)
try
{
typ ENUM( qw(DNA RNA) ), ( my $a, my $b );
print "a is typed" if istyp( $a );
$a = DNA; # $alias only accepts DNA or RNA
$a = RNA;
$a = xNA; # throws exception
untyp( $alias );
}
catch Type::Exception ::with
{
printf "Expected %s %s at %s line %sn",
$e->value,
$e->type->info,
$e->was_file,
$e->was_line;
};
dverify( $email, EMAIL ) or die $!;
my $g = Data::Type::Guard->new(
allow => [ Human, Others ], # blessed objects of that type
tests =>
{
email => EMAIL( 1 ), # mxcheck ON ! see Email::Valid
firstname => WORD,
social_id => [ NUM, VARCHAR( 10 ) ],
contacts => sub { my %args = @_; exists $args{lucy} },
}
);
$g->inspect( $h );
# compact version
overify { email => EMAIL( 1 ), firstname => WORD }, $object_a, $object_b;
print toc();
print catalog();
This module supports versatile data and value types. Out of the ordinary it supports parameterised types (like databases have i.e. VARCHAR(80) ). When you try to feed a typed variable against some odd data, this module explains what he would have expected.
Download (0.022MB)
Added: 2006-10-02 License: Perl Artistic License Price:
1117 downloads
Data.FormValidator 0.04
Data.FormValidators aim is to bring all the benefits of the perl module Data::FormValidator over to javascript. more>>
Data.FormValidators aim is to bring all the benefits of the perl module Data::FormValidator over to javascript, using the same input profiles (they can be dumped into javascript objects using the perl module Data::JavaScript.
Data.FormValidator library lets you define profiles which declare the required and optional fields and any constraints they might have.
The results are provided as an object which makes it easy to handle missing and invalid results, return error messages about which constraints failed, or process the resulting valid data.
IMPORTANT NOTE: JavaScript form validation is NOT a replacement for data validation in your backend scripts. This is the primary reason this module was written... so that it would be easy to share the same validation profile for both the frontend (via Data.FormValidator.js) and backend (via Data::FormValidator.pm).
Enhancements:
- A problem where some functions were not terminated by a semi-colon, so JavaScript compactors would end up creating broken code was fixed.
<<lessData.FormValidator library lets you define profiles which declare the required and optional fields and any constraints they might have.
The results are provided as an object which makes it easy to handle missing and invalid results, return error messages about which constraints failed, or process the resulting valid data.
IMPORTANT NOTE: JavaScript form validation is NOT a replacement for data validation in your backend scripts. This is the primary reason this module was written... so that it would be easy to share the same validation profile for both the frontend (via Data.FormValidator.js) and backend (via Data::FormValidator.pm).
Enhancements:
- A problem where some functions were not terminated by a semi-colon, so JavaScript compactors would end up creating broken code was fixed.
Download (0.047MB)
Added: 2006-01-20 License: GPL (GNU General Public License) Price:
1372 downloads
Tie::Form 0.02
Tie::Form is a Perl module to access a machine readable database file that minics a hardcopy form. more>>
Tie::Form is a Perl module to access a machine readable database file that minics a hardcopy form.
SYNOPSIS
require Tie::Form;
#####
# Using support methods and file handle with
# the file subroutines such as open(), readline()
# print(), close()
#
tie *FORM_FILEHANDLE, Tie::Form, @options
$form = tied *FORM_FILEHANDLE;
#####
# Using support methods only, no file subroutines
#
$form = Tie::Form->new(@options);
$encoded_fields = $form->decode_record($record);
@fields = $form->decode_field($encoded_fields);
$encoded_fields = $form->encode_field (@fields);
$record = $form->encode_record($encoded_fields);
$record = $form->get_record();
####
# Subroutine interface
#
$encoded_fields = decode_record($record);
@fields = decode_field($encoded_fields);
$encoded_fields = encode_field (@fields);
$record = encode_record($encoded_fields);
If a subroutine or method will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}.
<<lessSYNOPSIS
require Tie::Form;
#####
# Using support methods and file handle with
# the file subroutines such as open(), readline()
# print(), close()
#
tie *FORM_FILEHANDLE, Tie::Form, @options
$form = tied *FORM_FILEHANDLE;
#####
# Using support methods only, no file subroutines
#
$form = Tie::Form->new(@options);
$encoded_fields = $form->decode_record($record);
@fields = $form->decode_field($encoded_fields);
$encoded_fields = $form->encode_field (@fields);
$record = $form->encode_record($encoded_fields);
$record = $form->get_record();
####
# Subroutine interface
#
$encoded_fields = decode_record($record);
@fields = decode_field($encoded_fields);
$encoded_fields = encode_field (@fields);
$record = encode_record($encoded_fields);
If a subroutine or method will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}.
Download (0.087MB)
Added: 2007-02-16 License: Perl Artistic License Price:
980 downloads
AxKit::XSP::PerForm 1.83
AxKit::XSP::PerForm is an XSP Taglib for making complex forms easy. more>>
AxKit::XSP::PerForm is an XSP Taglib for making complex forms easy.
SYNOPSIS
AxAddXSPTaglib AxKit::XSP::PerForm
PerForm is a large and complex taglib for AxKit XSP that facilitates creating large and complex HTML, WML, or other types of data-entry forms. PerForm tends to make life easier for you if your form data is coming from different data sources, such as DBI, or even XML.
PerForm works as an XSP taglib, meaning you simply add some custom XML tags to your XSP page, and PerForm does the rest. Well, almost... PerForm works mainly by callbacks, as you will see below.
EXAMPLE FORM
Ignoring the outside XSP and namespace declarations, assuming the prefix "f" is bound to the PerForm namespace:
< f:form name="add_user" >
First name: < f:textfield name="firstname" width="30" maxlength="50"/ >
< br / >
Last name: < f:textfield name="lastname" width="30" maxlength="50"/ >
< br / >
< f:submit name="save" value="Save" goto="users.xsp" / >
< f:cancel name="cancel" value="Cancel" goto="home.html" / >
< /f:form >
Now it is important to bear in mind that this is just the form, and alone it is fairly useless. You also need to add callbacks. Youll notice with each of these callbacks you recieve a $ctxt object. This is simply an empty hash-ref that you can use in the callbacks to maintain state. Actually "empty" is an exhageration - it contains two entries always: Form and Apache. "Form" is a simply a hashref of the entries in the form (actually it is an Apache::Table object, which allows for supporting multi-valued parameters). So for example, the firstname below is in $ctxt-{Form}{firstname} >. "Apache" is the $r apache request object for the current request, which is useful for access to the URI or headers.
sub validate_firstname {
my ($ctxt, $value) = @_;
$value =~ s/^s*//;
$value =~ s/s*$//;
die "No value" unless $value;
die "Invalid firstname - non word character not allowed"
if $value =~ /W/;
}
sub validate_lastname {
return validate_firstname(@_);
}
sub submit_save {
my ($ctxt) = @_;
# save values to a database
warn("User: ", $ctxt->{Form}{firstname}, " ", $ctxt->{Form}{lastname}, "n");
}
Now these methods need to be global to your XSP page, rather than "closures" within the XSP pages main handler routine. How do you do that? Well its simple. Just put them within a < xsp:logic > section before any user defined tags. For example, if your XSP page happens to use XHTML as its basic format (something I do a lot), your page might be constructed as follows (namespace declarations omitted for brevity):
< xsp:page >
< xsp:logic >
... form logic here ...
< /xsp:logic >
< html >
< head >< title >An Example Form< /title >< /head >
< body >
< h1 >An Example Form< /h1 >
< f:form >
... form definition here ...
< /f:form >
< /body >
< /html >
< /xsp:page >
[Note that the page-global methods is a useful technique in other situations, because unlike Apache::Registry scripts, this wont create a closure from methods defined there].
<<lessSYNOPSIS
AxAddXSPTaglib AxKit::XSP::PerForm
PerForm is a large and complex taglib for AxKit XSP that facilitates creating large and complex HTML, WML, or other types of data-entry forms. PerForm tends to make life easier for you if your form data is coming from different data sources, such as DBI, or even XML.
PerForm works as an XSP taglib, meaning you simply add some custom XML tags to your XSP page, and PerForm does the rest. Well, almost... PerForm works mainly by callbacks, as you will see below.
EXAMPLE FORM
Ignoring the outside XSP and namespace declarations, assuming the prefix "f" is bound to the PerForm namespace:
< f:form name="add_user" >
First name: < f:textfield name="firstname" width="30" maxlength="50"/ >
< br / >
Last name: < f:textfield name="lastname" width="30" maxlength="50"/ >
< br / >
< f:submit name="save" value="Save" goto="users.xsp" / >
< f:cancel name="cancel" value="Cancel" goto="home.html" / >
< /f:form >
Now it is important to bear in mind that this is just the form, and alone it is fairly useless. You also need to add callbacks. Youll notice with each of these callbacks you recieve a $ctxt object. This is simply an empty hash-ref that you can use in the callbacks to maintain state. Actually "empty" is an exhageration - it contains two entries always: Form and Apache. "Form" is a simply a hashref of the entries in the form (actually it is an Apache::Table object, which allows for supporting multi-valued parameters). So for example, the firstname below is in $ctxt-{Form}{firstname} >. "Apache" is the $r apache request object for the current request, which is useful for access to the URI or headers.
sub validate_firstname {
my ($ctxt, $value) = @_;
$value =~ s/^s*//;
$value =~ s/s*$//;
die "No value" unless $value;
die "Invalid firstname - non word character not allowed"
if $value =~ /W/;
}
sub validate_lastname {
return validate_firstname(@_);
}
sub submit_save {
my ($ctxt) = @_;
# save values to a database
warn("User: ", $ctxt->{Form}{firstname}, " ", $ctxt->{Form}{lastname}, "n");
}
Now these methods need to be global to your XSP page, rather than "closures" within the XSP pages main handler routine. How do you do that? Well its simple. Just put them within a < xsp:logic > section before any user defined tags. For example, if your XSP page happens to use XHTML as its basic format (something I do a lot), your page might be constructed as follows (namespace declarations omitted for brevity):
< xsp:page >
< xsp:logic >
... form logic here ...
< /xsp:logic >
< html >
< head >< title >An Example Form< /title >< /head >
< body >
< h1 >An Example Form< /h1 >
< f:form >
... form definition here ...
< /f:form >
< /body >
< /html >
< /xsp:page >
[Note that the page-global methods is a useful technique in other situations, because unlike Apache::Registry scripts, this wont create a closure from methods defined there].
Download (0.013MB)
Added: 2007-07-23 License: Perl Artistic License Price:
823 downloads
Data::ICal::Entry::Alarm::Procedure 0.12
Data::ICal::Entry::Alarm::Procedure is a Perl module that represents a procedure-call alarm in an iCalendar file. more>>
Data::ICal::Entry::Alarm::Procedure is a Perl module that represents a procedure-call alarm in an iCalendar file.
SYNOPSIS
my $valarm = Data::ICal::Entry::Alarm::Procedure->new();
$valarm->add_properties(
attach => [ "ftp://host.com/novo-procs/felizano.exe", { fmttype => "application/binary" } ],
# Dat*e*::ICal is not a typo here
trigger => [ Date::ICal->new( epoch => ... )->ical, { value => DATE-TIME } ],
);
$vevent->add_entry($valarm);
A Data::ICal::Entry::Alarm::Procedure object represents an alarm that calls a procedure (in some application-defined way), which is attached to a todo item or event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
METHODS
new
Creates a new Data::ICal::Entry::Alarm::Procedure object; sets its ACTION property to PROCEDURE.
ical_entry_type
Returns VALARM, its iCalendar entry name.
optional_unique_properties
According to the iCalendar standard, the following properties may be specified at most one time for a procedure-call alarm:
duration repeat description
Note that if one of duration or repeat is specified, the other one must be also, though this module does not enforce that restriction.
mandatory_unique_properties
According to the iCalendar standard, the trigger and attach properties must be specified exactly once for a procedure-call alarm. (In addition, the action property must be specified exactly once, but the module automatically sets it for you.)
<<lessSYNOPSIS
my $valarm = Data::ICal::Entry::Alarm::Procedure->new();
$valarm->add_properties(
attach => [ "ftp://host.com/novo-procs/felizano.exe", { fmttype => "application/binary" } ],
# Dat*e*::ICal is not a typo here
trigger => [ Date::ICal->new( epoch => ... )->ical, { value => DATE-TIME } ],
);
$vevent->add_entry($valarm);
A Data::ICal::Entry::Alarm::Procedure object represents an alarm that calls a procedure (in some application-defined way), which is attached to a todo item or event in an iCalendar file. (Note that the iCalendar RFC refers to entries as "components".) It is a subclass of Data::ICal::Entry and accepts all of its methods.
METHODS
new
Creates a new Data::ICal::Entry::Alarm::Procedure object; sets its ACTION property to PROCEDURE.
ical_entry_type
Returns VALARM, its iCalendar entry name.
optional_unique_properties
According to the iCalendar standard, the following properties may be specified at most one time for a procedure-call alarm:
duration repeat description
Note that if one of duration or repeat is specified, the other one must be also, though this module does not enforce that restriction.
mandatory_unique_properties
According to the iCalendar standard, the trigger and attach properties must be specified exactly once for a procedure-call alarm. (In addition, the action property must be specified exactly once, but the module automatically sets it for you.)
Download (0.10MB)
Added: 2007-01-25 License: Perl Artistic License Price:
1002 downloads
Contact Form 2.01.00
Contact Form is a perl script that you can run on your website that will allow others to send you email through a web interface. more>>
Contact Form is a perl script that you can run on your website that will allow others to send you email through a web interface. Unlike other web to email gateways, Contact Form is designed to thwart spammers.
It does not allow email to be sent to unknown addresses, nor does it reveal addresses that it knows.
Main features:
- Allow email to be sent to a list of known email addresses through a web interface.
- Prevent email from being sent to other addresses.
- Never reveal email addresses through the web interface.
- Contain no cross site scripting (XSS) vulnerabilities.
- Do not allow arbitrary code to be run on the host.
- Provide adequate information in email headers to trace any spammers.
- Allow, but do not require, an external form.
- Server side validity checking of all data before email is sent.
- Optional client side validity checking of all data before the form is submitted.
- A default configuration that requires only a list of email addresses to be ready for use.
- A customizable interface that allows arbitrary fields.
- Easy to change the way it looks to integrate into your website
Setup:
- Download the contactform archive.
- Extract the contents of the download.
- Place contact.pl in your webservers cgi-bin directory or another place that allows scripts.
- Edit contact.pl to change the email addresses to which email can be sent.
- Optional - Change any other parameters in contact.pl to taste.
- Point your web browser at contact.pl on your server.
- Send yourself email through the web.
<<lessIt does not allow email to be sent to unknown addresses, nor does it reveal addresses that it knows.
Main features:
- Allow email to be sent to a list of known email addresses through a web interface.
- Prevent email from being sent to other addresses.
- Never reveal email addresses through the web interface.
- Contain no cross site scripting (XSS) vulnerabilities.
- Do not allow arbitrary code to be run on the host.
- Provide adequate information in email headers to trace any spammers.
- Allow, but do not require, an external form.
- Server side validity checking of all data before email is sent.
- Optional client side validity checking of all data before the form is submitted.
- A default configuration that requires only a list of email addresses to be ready for use.
- A customizable interface that allows arbitrary fields.
- Easy to change the way it looks to integrate into your website
Setup:
- Download the contactform archive.
- Extract the contents of the download.
- Place contact.pl in your webservers cgi-bin directory or another place that allows scripts.
- Edit contact.pl to change the email addresses to which email can be sent.
- Optional - Change any other parameters in contact.pl to taste.
- Point your web browser at contact.pl on your server.
- Send yourself email through the web.
Download (0.021MB)
Added: 2007-07-10 License: GPL (GNU General Public License) Price:
844 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above data entry form search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed