From b951f1b2bb1f432cee8bc14956a175c8953999ec Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 5 Apr 2017 20:05:26 +0200 Subject: Rename script contact → index. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contact.cgi | 122 ------------------------------------------------------------ index.cgi | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 122 deletions(-) delete mode 100755 contact.cgi create mode 100755 index.cgi diff --git a/contact.cgi b/contact.cgi deleted file mode 100755 index bd79eef..0000000 --- a/contact.cgi +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/perl -w - -use CGI::FormBuilder; - -my $build_path = '../build'; - -# TODO: check if protocol-agnostic URL works -my $webroot = 'https://form.omni-presence.dk/contact/'; -my $req_path = $build_path . '/html/contact/index.html'; -my $ack_path = $build_path . '/html/contact/thanks/index.html'; - -my $webmaster = 'webmaster@omni-presence.dk'; -my $frontdesk = 'info@omni-presence.dk'; -my $helpdesk = 'dr@jones.dk'; - -# Set this to 1 for a separate confirmation page -my ($confirm) = 1; - -# Built-in email validation is too simplistic -my $valid_email = '/^[+_A-Za-z0-9-]+(\.[+_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[_A-Za-z0-9-]+)$/'; - -my $form = CGI::FormBuilder->new( - lang => 'en', - title => 'Omni-presence contact form', - method => 'POST', - fields => [qw/ - name - email - human - eyes - comment - /], - validate => { - email => $valid_email, - _email => $valid_email, #fake check to silence warning of variable used only once - }, - required => [qw/ - name - email - human - /], - messages => ':en_US', - submit => ['Submit', 'Submit via secure connection'], - action => $webroot, #avoids loosing submitted values when redirected from other site -); - -$form->field( - name => 'name', - class => 'form-control', -); -$form->field( - name => 'email', - id => 'inputEmail', - class => 'form-control', - placeholder => 'Email', -); -$form->field( - name => 'human', - label => '', - class => 'checkbox', - options => ["I'm not a robot!"], - multiple => 0, - message => '- Sorry, no robots allowed!', -); -$form->field( - name => 'eyes', - label => 'eye color', - class => 'form-control', - type => 'select', - options => [qw(blue green other)], -); -$form->field( - name => 'comment', - class => 'form-control', - type => 'textarea', - rows => 5, -); - -my ($form_required_text) = $form->{opt}{messages}{form_required_text}; -my ($mail_from) = $webmaster; -my ($mail_to, $mail_subject); - -if ($form->submitted) { - $infostring = "Thanks for your interest in omni-presence!"; - if ($form->validate) { - $mail_to = $frontdesk; - $mail_subject = 'Omni-presence contact form'; - } else { - $mail_to = "$frontdesk, $helpdesk"; - $mail_subject = 'ERROR in omni-presence contact form'; - $infostring .= "\n

NB! There was an error in one or more of the fields. The info was sent anyway, but you are adviced to go back, check that all fields are properly filed out, and then send again."; - $confirm = 0; - }; - # Abuse subject to add additional headers -# $mail_subject .= "\n" . 'Content-Type: text/plain; charset="ISO-8859-1";'; -# $mail_subject .= "\n" . 'Content-Transfer-Encoding: 8bit'; - $form->mailresults( - to => $mail_to, - from => $mail_from, - subject => "$mail_subject", - ); - if ($confirm) { - $infostring .= "\n

The following info has been submitted:"; - $form->{opt}{messages}{form_confirm_text} = "$infostring"; - print $form->confirm( -# header => 1, - template => $ack_path - ); - } else { - print $form->render( -# header => 1, - sticky => (! $form->validate), -#FIXME text => $infostring, - template => $req_path - ); - } -} else { - print $form->render( -# header => 1, - template => $req_path - ); -} diff --git a/index.cgi b/index.cgi new file mode 100755 index 0000000..bd79eef --- /dev/null +++ b/index.cgi @@ -0,0 +1,122 @@ +#!/usr/bin/perl -w + +use CGI::FormBuilder; + +my $build_path = '../build'; + +# TODO: check if protocol-agnostic URL works +my $webroot = 'https://form.omni-presence.dk/contact/'; +my $req_path = $build_path . '/html/contact/index.html'; +my $ack_path = $build_path . '/html/contact/thanks/index.html'; + +my $webmaster = 'webmaster@omni-presence.dk'; +my $frontdesk = 'info@omni-presence.dk'; +my $helpdesk = 'dr@jones.dk'; + +# Set this to 1 for a separate confirmation page +my ($confirm) = 1; + +# Built-in email validation is too simplistic +my $valid_email = '/^[+_A-Za-z0-9-]+(\.[+_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[_A-Za-z0-9-]+)$/'; + +my $form = CGI::FormBuilder->new( + lang => 'en', + title => 'Omni-presence contact form', + method => 'POST', + fields => [qw/ + name + email + human + eyes + comment + /], + validate => { + email => $valid_email, + _email => $valid_email, #fake check to silence warning of variable used only once + }, + required => [qw/ + name + email + human + /], + messages => ':en_US', + submit => ['Submit', 'Submit via secure connection'], + action => $webroot, #avoids loosing submitted values when redirected from other site +); + +$form->field( + name => 'name', + class => 'form-control', +); +$form->field( + name => 'email', + id => 'inputEmail', + class => 'form-control', + placeholder => 'Email', +); +$form->field( + name => 'human', + label => '', + class => 'checkbox', + options => ["I'm not a robot!"], + multiple => 0, + message => '- Sorry, no robots allowed!', +); +$form->field( + name => 'eyes', + label => 'eye color', + class => 'form-control', + type => 'select', + options => [qw(blue green other)], +); +$form->field( + name => 'comment', + class => 'form-control', + type => 'textarea', + rows => 5, +); + +my ($form_required_text) = $form->{opt}{messages}{form_required_text}; +my ($mail_from) = $webmaster; +my ($mail_to, $mail_subject); + +if ($form->submitted) { + $infostring = "Thanks for your interest in omni-presence!"; + if ($form->validate) { + $mail_to = $frontdesk; + $mail_subject = 'Omni-presence contact form'; + } else { + $mail_to = "$frontdesk, $helpdesk"; + $mail_subject = 'ERROR in omni-presence contact form'; + $infostring .= "\n

NB! There was an error in one or more of the fields. The info was sent anyway, but you are adviced to go back, check that all fields are properly filed out, and then send again."; + $confirm = 0; + }; + # Abuse subject to add additional headers +# $mail_subject .= "\n" . 'Content-Type: text/plain; charset="ISO-8859-1";'; +# $mail_subject .= "\n" . 'Content-Transfer-Encoding: 8bit'; + $form->mailresults( + to => $mail_to, + from => $mail_from, + subject => "$mail_subject", + ); + if ($confirm) { + $infostring .= "\n

The following info has been submitted:"; + $form->{opt}{messages}{form_confirm_text} = "$infostring"; + print $form->confirm( +# header => 1, + template => $ack_path + ); + } else { + print $form->render( +# header => 1, + sticky => (! $form->validate), +#FIXME text => $infostring, + template => $req_path + ); + } +} else { + print $form->render( +# header => 1, + template => $req_path + ); +} -- cgit v1.2.3