<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>Loser Expo 2025 Application Form Error</title>"; echo "</head>"; echo "<FORM ACTION=\"http://expo.survex.com/signup/submit.php?action=commit\" METHOD=\"POST\">"; printHidden (); echo <<<END <h1>Expo 2025 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>Loser Expo 2025 Application Form</title> </head> END; echo <<<END <h1>Expo 2025 Signup Form</h1> <p>This is the official signup form for Expo 2024, which runs from ? until ?. <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> <p>You also give permission for any information you collect on expo (survey data, photos, trip writeups, etc) to be used in perpetuity for expo-related purposes.</p> <hr> <form ACTION="http://expo.survex.com/signup/submit.php?action=preview" METHOD="POST"> <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[kinphone2]"></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> <p>Please look now at the <a target="_blank" href="http://expo.survex.com/years/2024/travel.html">transport arrangements page</a> (will open in a new window). Then select one of the following. <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 2025: <ul><li>the stone bridge bivvy site; <li>Garlic Cave. </ul> <p>There is space for three people in a Club tent at Base 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:wookey-expo@wookware.org">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>Loser Expo 2025 Application Form Preview</title> </head> END; echo <<<END <h1>Loser Expo 2025 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> <FORM ACTION="http://expo.survex.com/signup/submit.php?action=commit" METHOD="POST"> 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"]); } echo <<<END 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 <<<END 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. echo <<<END <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 . "\nTaking a bivvy bag? $vars[bivvy]\n"; $temp = $temp . "\nTaking a Top Camp tent? $vars[tent]"; if ($vars["tent"] == "yes") $temp = $temp . " (capacity $vars[top_tent_cap])\n"; else $temp = $temp . "\n"; $temp = $temp . "\nTaking a Base Camp tent? $vars[btent]"; if ($vars["btent"] == "yes") $temp = $temp . " (capacity $vars[base_tent_cap])\n"; else $temp = $temp . "\n"; $temp = $temp . "\nAllergies: $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 ("Wookey <wookey@wookware.org>\n", "Expo form from $vars[name]", $temp, "From: Expo forms <expo@wookware.org>\n"); if ($vars["transport_ok"] == "no") { $temp = "Transport page needs updating for $vars[name]:\n\n"; $temp = $temp . $vars[transport_info] . "\n"; mail ("Test Mail <wookey-expo@wookware.org>", "Transport update from $vars[name]", $temp, "From: Expo forms <expo@wookware.org>\n"); } } function submitForm () { echo <<<END global $vars; updateDatabase (); echo <<<END <title>Submission successful!</title> </head> END; echo <<<END <h1>Loser Expo 2025 Application</h1> <p><b>Submission successful!</b> <p>Thank you for your application. Please address any questions to the Expo Leader, <a href="mailto:harrykettle@gmail.com">Harry Kettle</a>. <p><a href="http://expo.survex.com/">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>