2004-06-17 13:47:34 +01:00
< html >< head >
< ? php
global $vars ;
function initVars ()
{
global $vars ;
$vars = array (
" name " => " " ,
" address " => " " ,
" kinname " => " " ,
" kinaddress " => " " ,
" phone " => " " ,
" kinphone " => " " ,
" email " => " " ,
" kinemail " => " " ,
" relation " => " " ,
" veggie " => " no " ,
" student " => " yes " ,
" insurance " => " BCRA " ,
" bcranum " => " " ,
" leave_uk " => " " ,
" length_of_stay " => " " ,
" transport_ok " => " yes " ,
" transport_out " => " need " ,
" transport_back " => " need " ,
" from_uk " => " " ,
" returning_uk " => " " ,
" tent " => " no " ,
" top_tent_cap " => " " ,
" btent " => " no " ,
" base_tent_cap " => " " ,
" tent_share " => " yes " ,
" share_condition " => " " ,
" medic_info " => " " ,
" extra_info " => " " ,
" aims " => " " ,
" lifts_out " => " yes " ,
" lifts_back " => " yes " ,
" no_out " => " 2 " ,
" no_back " => " 2 " ,
" take_out " => " " ,
" take_back " => " " ,
" transport_info " => " " ,
" medication " => " " ,
" allergies " => " " ,
" bivvy " => " "
);
}
function fillVars ()
{
initVars ();
global $vars ;
$vars [ name ] = stripslashes ( $_POST [ name ]);
$vars [ address ] = stripslashes ( $_POST [ address ]);
$vars [ phone ] = stripslashes ( $_POST [ phone ]);
$vars [ kinname ] = stripslashes ( $_POST [ kinname ]);
$vars [ kinaddress ] = stripslashes ( $_POST [ kinaddress ]);
$vars [ phone ] = stripslashes ( $_POST [ phone ]);
$vars [ kinphone ] = stripslashes ( $_POST [ kinphone ]);
$vars [ email ] = stripslashes ( $_POST [ email ]);
$vars [ kinemail ] = stripslashes ( $_POST [ kinemail ]);
$vars [ relation ] = stripslashes ( $_POST [ relation ]);
$vars [ veggie ] = stripslashes ( $_POST [ veggie ]);
$vars [ student ] = stripslashes ( $_POST [ student ]);
$vars [ transport_ok ] = stripslashes ( $_POST [ transport_ok ]);
$vars [ from_uk ] = stripslashes ( $_POST [ from_uk ]);
$vars [ returning_uk ] = stripslashes ( $_POST [ returning_uk ]);
$vars [ tent ] = stripslashes ( $_POST [ tent ]);
$vars [ top_tent_cap ] = stripslashes ( $_POST [ top_tent_cap ]);
$vars [ btent ] = stripslashes ( $_POST [ btent ]);
$vars [ base_tent_cap ] = stripslashes ( $_POST [ base_tent_cap ]);
$vars [ medic_info ] = stripslashes ( $_POST [ medic_info ]);
$vars [ extra_info ] = stripslashes ( $_POST [ extra_info ]);
$vars [ aims ] = stripslashes ( $_POST [ aims ]);
$vars [ transport_info ] = stripslashes ( $_POST [ transport_info ]);
$vars [ medication ] = stripslashes ( $_POST [ medication ]);
$vars [ allergies ] = stripslashes ( $_POST [ allergies ]);
$vars [ bivvy ] = stripslashes ( $_POST [ bivvy ]);
}
function errorPage ( $err )
{
echo <<< END
< title > Error </ title >
</ head >
END ;
echo <<< END
< h1 > Sorry </ h1 >
< p >< b > $err </ b >
END ;
}
function securityChecks ()
{
global $vars ;
$error = " " ;
if ( $vars [ name ] == " " ) $error = " You must specify your full name. " ;
elseif ( $vars [ address ] == " " ) $error = " You must specify your address. " ;
elseif ( $vars [ kinname ] == " " ) $error = " You must specify the name of your next-of-kin. " ;
elseif ( $vars [ kinaddress ] == " " ) $error = " You must specify your next-of-kin's address. " ;
elseif ( $vars [ kinphone ] == " " ) $error = " You must specify your next-of-kin's phone number. " ;
elseif ( $vars [ email ] != " " && ! ereg ( '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$' , $vars [ email ])) $error = " Invalid email address (leave blank if you don't have one). " ;
elseif ( $vars [ kinemail ] != " " && ! ereg ( '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$' , $vars [ kinemail ])) $error = " Invalid next-of-kin email address (leave blank if they don't have one). " ;
elseif ( $vars [ veggie ] != " yes " && $vars [ veggie ] != " no " && $vars [ veggie ] != " mostly " ) $error = " Invalid veggie specification. " ;
elseif ( $vars [ student ] != " yes " && $vars [ student ] != " no " ) $error = " Invalid student specification. " ;
elseif ( $vars [ transport_ok ] != " yes " && $vars [ transport_ok ] != " no " ) $error = " Invalid transport specification given. " ;
elseif ( $vars [ bivvy ] != " " && $vars [ bivvy ] != " yes " ) $error = " Invalid bivvy specification. " ;
elseif ( $vars [ tent ] != " " && $vars [ tent ] != " yes " ) $error = " Invalid Top Camp tent specification. " ;
elseif ( $vars [ btent ] != " " && $vars [ btent ] != " yes " ) $error = " Invalid Base Camp tent specification. " ;
elseif ( $vars [ tent ] == " yes " && ( $vars [ top_tent_cap ] < 1 || $vars [ top_tent_cap ] > 9 )) $error = " Invalid Top Camp tent capacity given. " ;
elseif ( $vars [ btent ] == " yes " && ( $vars [ base_tent_cap ] < 1 || $vars [ base_tent_cap ] > 9 )) $error = " Invalid Base Camp tent capacity given. " ;
if ( $error != " " ) {
echo " <title>Expo 2004 Application Form Error -- Cambridge University Caving Club</title> " ;
echo " </head> " ;
2004-06-17 13:50:54 +01:00
echo " <FORM ACTION= \" http://cucc.survex.com/expo/signup/submit.php?action=commit \" METHOD= \" POST \" > " ;
2004-06-17 13:47:34 +01:00
printHidden ();
echo <<< END
< H1 > Expo 2004 Application Form Error </ H1 >
< p >< b > Sorry , but you have made a mistake on your form :</ b >< center >
$error
</ center >
< p > Please click the button below and try again .
< center >< INPUT TYPE = " submit " name = " submit " VALUE = " Modify form. " ></ center >
</ form >
END ;
return false ;
}
return true ;
}
function showForm ()
{
global $vars ;
echo <<< END
< title > Expo 2004 Application Form -- Cambridge University Caving Club </ title >
</ head >
END ;
echo <<< END
< H1 > Expo 2004 Application Form </ H1 >
< P > This is the application form for Expo 2004 , which runs from 10 th July until 14 th August .
< P > This form is not secure and by submitting
this form you consent to its contents being used for Expo purposes and
being included in the Bier Book on Expo .</ P >
< HR >
2004-06-17 13:50:54 +01:00
< FORM ACTION = " http://cucc.survex.com/expo/signup/submit.php?action=preview " METHOD = " POST " >
2004-06-17 13:47:34 +01:00
< H2 > Section A : Personal information < h2 >
< h3 > General </ h3 >
< table border = 0 >
< tr >< td colspan = 2 >< b > Your details :</ b ></ td >< td colspan = 2 >
< b > Next of kin :</ b ></ td ></ tr >
< tr >< td align = right >< i > Full </ i > name :</ td >< td >< input name = " name " value = " $vars[name] " tabindex = 1 ></ td >
< td align = right > Name :</ td >< td >< input name = " kinname " value = " $vars[kinname] " tabindex = 4 ></ td ></ tr >
< tr >< td align = right > Address :</ td >< td >
< textarea name = " address " rows = 7 cols = 20 tabindex = 1 > $vars [ address ] </ textarea ></ td >
< td align = right > Address :</ td >< td >
< textarea name = " kinaddress " rows = 7 cols = 20 tabindex = 5 > $vars [ kinaddress ] </ textarea ></ td >
</ tr >
< tr >
< td align = right > Phone :</ td >< td >< input name = " phone " tabindex = 2 value = " $vars[phone] " ></ td >
< td align = right > Phone :</ td >< td >< input name = " kinphone " tabindex = 6 value = " $vars[kinphone] " ></ td >
</ tr >
< tr >
< td align = right > Email :</ td >< td >< input name = email tabindex = 3 value = " $vars[email] " ></ td >
< td align = right > Email :</ td >< td >< input name = kinemail tabindex = 7 value = " $vars[kinemail] " ></ td >
</ tr >
< tr >
< td colspan = 2 ></ td >
< td align = right > Relation to you :</ td >< td >< input name = relation tabindex = 8 value = " $vars[relation] " ></ td >
</ tr >
</ table >
< table width = 100 %>
< tr >< td >< b > Are you a vegetarian ? </ b ></ td >
< td >< b > Are you a student / unwaged ? </ b ></ td ></ tr >
< tr >< td >< INPUT TYPE = " radio " NAME = " veggie " VALUE = " yes " tabindex = 9
END ;
if ( $vars [ veggie ] == " yes " ) echo " checked " ;
echo <<< END
> Yes </ td >< td >< INPUT TYPE = " radio " NAME = " student " VALUE = " yes " tabindex = 12
END ;
if ( $vars [ student ] == " yes " ) echo " checked " ;
echo <<< END
> Yes </ td ></ tr >
< tr >< td >< INPUT TYPE = " radio " NAME = " veggie " VALUE = " mostly " tabindex = 10
END ;
if ( $vars [ veggie ] == " mostly " ) echo " checked " ;
echo <<< END
> Mostly </ td >< td >< INPUT TYPE = " radio " NAME = " student " VALUE = " no " tabindex = 13
END ;
if ( $vars [ student ] <> " yes " ) echo " checked " ;
echo <<< END
> No </ td ></ tr >< tr >< td >< INPUT TYPE = " radio " NAME = " veggie " VALUE = " no " tabindex = 11
END ;
if ( $vars [ veggie ] <> " yes " && $vars [ veggie ] <> " mostly " ) echo " checked " ;
echo <<< END
> No </ td >< td ></ td ></ tr ></ table >
< h3 > Transport </ h2 >
2004-06-17 13:50:54 +01:00
< p > Please look now at the < a target = " _blank " href = " http://cucc.survex.com/expo/years/2004/travel.html " > transport arrangements page </ a > ( will open in a new window ) . Then select one of the following .
2004-06-17 13:47:34 +01:00
< p >< input type = " radio " name = " transport_ok " value = " yes " tabindex = 38
END ;
if ( $vars [ transport_ok ] == " yes " ) echo " checked " ;
echo <<< END
> The transport page shows my arrangements correctly .</ input >
< br >< input type = " radio " name = " transport_ok " value = " no " tabindex = 39
END ;
if ( $vars [ transport_ok ] == " no " ) echo " checked " ;
echo <<< END
> The transport page does not show my arrangements correctly .</ input >
< p > If your arrangements are shown incorrectly , then please state the
corrected version in the box below . This will automatically be
emailed to the transport co - ordinator .
< br >< TEXTAREA NAME = " transport_info " ROWS = 6 COLS = 80 tabindex = 40 > $vars [ transport_info ] </ TEXTAREA ></ p >
< h3 > Tents </ h3 >
< p > There will be two high camps in 2004 :
< ul >< li > the stone bridge bivvy site ;
< li > the old Top Camp site , to be used for exploration of
Eisl & uuml ; fth & ouml ; hle .
</ ul >
< p > There is space for three people in a Club tent at Base Camp .
There is space for five or six people in a Club tent at Top Camp .
At the stone bridge , a bivvy bag is not essential but useful if
you have one .
< P > Will you be taking any of the following ( please tick / complete as appropriate ) :< BR >
< INPUT TYPE = " checkbox " NAME = " bivvy " VALUE = " yes " tabindex = 53
END ;
if ( $vars [ bivvy ] == " yes " ) echo " checked " ;
echo <<< END
> A bivvy bag suitable for the stone bridge .< br >
< INPUT TYPE = " checkbox " NAME = " tent " VALUE = " yes " tabindex = 50
END ;
if ( $vars [ tent ] == " yes " ) echo " checked " ;
echo <<< END
> A < INPUT NAME = " top_tent_cap " SIZE = 1 MAXSIZE = 1 value = " $vars[top_tent_cap] " tabindex = 51 > person
tent for the Top Camp site .< BR >
< INPUT TYPE = " checkbox " NAME = " btent " VALUE = " yes " tabindex = 52
END ;
if ( $vars [ btent ] == " yes " ) echo " checked " ;
echo <<< END
> A < INPUT NAME = " base_tent_cap " SIZE = 1 MAXSIZE = 1 value = " $vars[base_tent_cap] " tabindex = 53 > person
tent for Base Camp .< br >
< p > Leave the boxes unchecked if you require Club tent space at a
particular site .
< h3 > Medical </ h3 >
< p > The medical information entered here will appear in the Bier Book .
Extra medical information may be communicated to
< a href = " mailto:mjg54@cam.ac.uk " > Martin Green </ a > ; this will be
placed in sealed envelopes inside the large first aid kits for use in
case of emergency . Please ensure that you communicate such information
in good time .
< P > Please list any allergies which you have :
< TEXTAREA NAME = " allergies " ROWS = 2 COLS = 80 tabindex = 68 > $vars [ allergies ] </ TEXTAREA ></ P >
< P > Please list any medication which you may be taking in Austria :
< TEXTAREA NAME = " medication " ROWS = 2 COLS = 80 tabindex = 69 > $vars [ medication ] </ TEXTAREA ></ P >
< P > Please list any other medical conditions you have that the expedition should be aware of :< BR >
< TEXTAREA NAME = " medic_info " ROWS = 5 COLS = 80 tabindex = 70 > $vars [ medic_info ] </ TEXTAREA ></ P >
< h3 > Other </ h3 >
< P > Any other information , including any skills e . g . first aid , languages , etc . that you have :< BR >
< TEXTAREA NAME = " extra_info " ROWS = 15 COLS = 80 tabindex = 71 > $vars [ extra_info ] </ TEXTAREA ></ P >
< h2 > Section B - Caving / surface work projects </ h2 >
< p > To assist organisation of gear , it would be helpful to know
people ' s possible aims on Expo . Thus if you have a particular project in
mind , please state it below :
< br >
< textarea name = " aims " rows = 15 cols = 80 tabindex = 77 > $vars [ aims ] </ textarea >
</ table >
< hr >
< h2 > All done ? </ h2 >
< p > Click the < b > Preview </ b > button below to review your submission .
< p >< INPUT TYPE = " submit " VALUE = " Preview form submission " >
</ FORM >
< hr >
< p > Please report any problems with this form to the
< a href = " mailto:Mark.Shinwell@cl.cam.ac.uk " > webmaster </ a >.</ p >
END ;
}
function insertSlashes ()
{
}
function printHidden ()
{
global $vars ;
while ( list ( $key , $value ) = each ( $vars ))
echo " <input type=hidden name= $key value= \" $value\ " > " ;
}
function previewForm ()
{
global $vars ;
echo <<< END
< title > Expo 2004 Application Form Preview -- Cambridge University Caving Club </ title >
</ head >
END ;
echo <<< END
< h1 > Expo 2004 Application Form Preview </ h1 >
< P >< b > Please check the details below and then select one of the options at the
bottom of the page .</ b >
< hr >
< H2 > Contact details </ H2 >
< h3 > Your details </ h3 >
< p >
2004-06-17 13:50:54 +01:00
< FORM ACTION = " http://cucc.survex.com/expo/signup/submit.php?action=commit " METHOD = " POST " >
2004-06-17 13:47:34 +01:00
END ;
printHidden ();
$address1 = rtrim ( ereg_replace ( " ,, " , " , " , ereg_replace ( " ( \r \n | \n | \r ) " , " , " , $vars [ address ])), " \t \n \r \0 \x0b ., " );
$kinaddress1 = rtrim ( ereg_replace ( " ,, " , " , " , ereg_replace ( " ( \r \n | \n | \r ) " , " , " , $vars [ kinaddress ])), " \t \n \r \0 \x0b ., " );
echo " <b>Full name: </b> $vars[name] . <br><b>Address: </b> $address1 .<br> " ;
echo " <b>Phone: </b> $vars[phone] .<br><b>Email: </b> " ;
if ( $vars [ email ] == " " ) echo " none " ; else echo $vars [ email ];
echo " <h3>Details for your $vars[relation] </h3><p> " ;
echo " <b>Full name: </b> $vars[kinname] . <br><b>Address: </b> $kinaddress1 .<br> " ;
echo " <b>Phone: </b> $vars[kinphone] .<br><b>Email: </b> " ;
if ( $vars [ kinemail ] == " " ) echo " none " ; else echo $vars [ kinemail ];
echo " <h2>Miscellany</h2> <p><ul><li> " ;
echo " You are " ;
switch ( $vars [ veggie ]) {
case " no " : echo " n't " ; break ;
case " mostly " : echo " mostly " ; break ;
default : break ;
}
echo " a vegetarian.<li>You are " ;
if ( $vars [ student ] == " no " ) echo " n't " ;
echo " a student/unwaged person. " ;
if ( $vars [ bivvy ] == " yes " )
echo " <li>You're taking a bivvy bag suitable for the stone bridge. " ;
if ( $vars [ tent ] == " yes " )
echo " <li>You're taking a $vars[top_tent_cap] person tent suitable for Top Camp. " ;
if ( $vars [ btent ] == " yes " )
echo " <li>You're taking a $vars[base_tent_cap] person tent suitable for Base Camp. " ;
echo " </ul><h2>Medical conditions</h2><ul> " ;
echo " <li>Allergies: " ;
if ( $vars [ allergies ] == " " )
echo " None. " ;
else
echo nl2br ( $vars [ allergies ]);
echo " <li>Medication to be taken in Austria: " ;
if ( $vars [ medication ] == " " )
echo " None. " ;
else
echo nl2br ( $vars [ medication ]);
echo " <li>Other medical conditions: " ;
if ( $vars [ medic_info ] == " " )
echo " None. " ;
else
echo nl2br ( $vars [ medic_info ]);
echo " </ul> " ;
if ( $vars [ aims ] != " " ) {
echo " <h2>Your aims for Expo</h3><p> " ;
echo nl2br ( $vars [ aims ]);
}
if ( $vars [ extra_info ] != " " ) {
echo " <h2>Other information</h2><p> " ;
echo nl2br ( $vars [ extra_info ]);
}
echo " <h2>Transport</h2><ul> " ;
if ( $vars [ transport_ok ] == " yes " )
echo " <li>The transport page shows your arrangements correctly. " ;
else {
echo " <li>The transport page does not show your arrangements correctly.<br> " ;
echo " The corrected version is: " ;
echo nl2br ( $vars [ transport_info ]);
}
echo " </ul> " ;
if ( $vars [ transport_info ] != " " ) {
echo " <h3>Other transport information</h3><p> " ;
echo nl2br ( $vars [ transport_info ]);
}
echo <<< END
< hr >
< h2 > If the above details are correct ...</ h2 >
< p >< b > Only click once to avoid submitting duplicate forms .</ b >
< center >< INPUT TYPE = " submit " name = " submit " VALUE = " I confirm that all details are correct. " ></ center >
< h2 > If you want to change something ...</ h2 >
< p > If there is an error in the above details , press the button below to change them .
< center >< INPUT TYPE = " submit " name = " submit " VALUE = " Modify form. " ></ center >
</ form >
END ;
}
function updateDatabase ()
{
global $vars ;
$temp = " " ;
$address1 = rtrim ( ereg_replace ( " ,, " , " , " , ereg_replace ( " ( \r \n | \n | \r ) " , " , " , $vars [ address ])), " \t \n \r \0 \x0b ., " );
$kinaddress1 = rtrim ( ereg_replace ( " ,, " , " , " , ereg_replace ( " ( \r \n | \n | \r ) " , " , " , $vars [ kinaddress ])), " \t \n \r \0 \x0b ., " );
$temp = $temp . " Form submission from: \n " ;
$temp = $temp . " $vars[name] \n " ;
$temp = $temp . " $address1\n " ;
$temp = $temp . " Phone: $vars[phone] \n " ;
$temp = $temp . " Email: " ;
if ( $vars [ email ] == " " ) $temp = $temp . " none " ;
else $temp = $temp . " $vars[email] " ;
$temp = $temp . " \n \n " ;
$temp = $temp . " Next of kin: \n " ;
$temp = $temp . " $vars[kinname] \n " ;
$temp = $temp . " $kinaddress1\n " ;
$temp = $temp . " Phone: $vars[kinphone] \n " ;
$temp = $temp . " Email: " ;
if ( $vars [ kinemail ] == " " ) $temp = $temp . " none " ;
else $temp = $temp . " $vars[kinemail] " ;
$temp = $temp . " \n \n " ;
$temp = $temp . " Vegetarian? $vars[veggie] \n " ;
$temp = $temp . " Student/unwaged? $vars[student] \n \n " ;
if ( $vars [ transport_ok ] == " yes " ) {
$temp = $temp . " Transport arrangements page is correct for this person. \n " ;
}
else {
$temp = $temp . " Transport arrangements need changing to: \n " ;
$temp = $temp . " $vars[transport_info] \n " ;
$temp = $temp . " (Mark has been emailed and will update the page.) \n " ;
}
$temp = $temp . " \n Taking a bivvy bag? $vars[bivvy] \n " ;
$temp = $temp . " \n Taking a Top Camp tent? $vars[tent] " ;
if ( $vars [ tent ] == " yes " )
$temp = $temp . " (capacity $vars[top_tent_cap] ) \n " ;
else $temp = $temp . " \n " ;
$temp = $temp . " \n Taking a Base Camp tent? $vars[btent] " ;
if ( $vars [ btent ] == " yes " )
$temp = $temp . " (capacity $vars[base_tent_cap] ) \n " ;
else $temp = $temp . " \n " ;
$temp = $temp . " \n Allergies: $vars[allergies] \n " ;
$temp = $temp . " Medication to be taken in Austria: $vars[medication] \n " ;
$temp = $temp . " Other medical conditions: $vars[medic_info] \n \n " ;
$temp = $temp . " Aims for Expo: $vars[aims] \n \n " ;
$temp = $temp . " Other information: $vars[extra_info] \n " ;
mail ( " David Loeffler <dl267@cam.ac.uk> \n " ,
" Expo form from $vars[name] " , $temp ,
" From: Expo forms <mark@three-tuns.net> \n " );
if ( $vars [ transport_ok ] == " no " ) {
$temp = " Transport page needs updating for $vars[name] : \n \n " ;
$temp = $temp . $vars [ transport_info ] . " \n " ;
mail ( " Mark Shinwell <mark@three-tuns.net> " ,
" Transport update from $vars[name] " , $temp ,
" From: Expo forms <mark@three-tuns.net> \n " );
}
}
function submitForm ()
{
global $vars ;
updateDatabase ();
echo <<< END
< title > Submission successful !</ title >
</ head >
END ;
echo <<< END
< h1 > Expo 2004 Application </ h1 >
< p >< b > Submission successful !</ b >
< p > Thank you for your application . Please address any questions
to the Expo Leader , < a href = " mailto:oghm2@cam.ac.uk " > Olly Madge </ a >.
< p >< a href = " http://cucc.survex.com/expo/ " > Return to the main Expo page </ a >.
END ;
}
virtual ( " main.css " );
switch ( $_GET [ action ]) {
case " blank " :
initVars ();
showForm ();
break ;
case " edit " :
fillVars ();
showForm ();
break ;
case " preview " :
fillVars ();
if ( securityChecks ()) {
previewForm ();
}
break ;
case " commit " :
switch ( $_POST [ submit ]) {
case " I confirm that all details are correct. " :
fillVars ();
if ( securityChecks ()) {
insertSlashes ();
submitForm ();
}
break ;
case " Modify form. " ;
fillVars ();
showForm ();
break ;
default :
errorPage ( " Invalid script action. " );
}
break ;
default :
errorPage ( " Invalid script action. " );
break ;
}
?>
</ td ></ tr ></ table ></ body ></ html >