X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-CGI-Ex;a=blobdiff_plain;f=samples%2Fapp%2Fapp1%2Flib%2FApp1%2FPickDomain.pm;fp=samples%2Fapp%2Fapp1%2Flib%2FApp1%2FPickDomain.pm;h=e106b5392ceea39945e5c7d16b202287de80b18d;hp=0000000000000000000000000000000000000000;hb=ed00221d27dfab1e82ec2ea040ab4c399a91c545;hpb=0b04f67c06c1db11969096f07dfc7dbb23bf99ba diff --git a/samples/app/app1/lib/App1/PickDomain.pm b/samples/app/app1/lib/App1/PickDomain.pm new file mode 100644 index 0000000..e106b53 --- /dev/null +++ b/samples/app/app1/lib/App1/PickDomain.pm @@ -0,0 +1,49 @@ +package App1::PickDomain; + +=head1 NAME + +App1::PickDomain - usually the first step - pick a domain + +=cut + +use strict; +use warnings; +use base qw(App1); + +sub hash_swap { + my $self = shift; + return { + remote_addr => $ENV{'REMOTE_ADDR'}, + time => scalar(localtime), + }; +} + +sub hash_validation { + return { + 'group no_alert' => 1, + 'group no_confirm' => 1, + domain => { + required => 1, + to_lower_case => 1, + type => 'DOMAIN', + type_error => 'Please enter a valid domain', + }, + }; +} + +sub finalize { + my $self = shift; + my $domain = $self->form->{'domain'}; + + # contrived "check" for availability + # in theory - these checks would also cache with something like memcache + if ($domain =~ /^(\w+)\.com$/) { # for this test - .com isn't available + $self->stash->{'domain_prefix'} = $1; + } else { + $self->stash->{'domain_available'} = 1; + } + + return 1; +} + +1;