My fault entirely - it looks like I haven’t pasted all the code. So here it is in its entirety:
// Email / Contact Form
//
// Simple XHTML validating email form, that sends different subjects and messages.
// people in a company.
//
// revised by G Flower 21 July 2006
//
// Version 1.0
// September 9, 2005
//
[email protected]
//
// DO NOT ALTER THE FOLLOWING TWO LINES
$recipient_array = array();
///////////////////////////////////
// <----- BEGIN CONFIG ----->
///////////////////////////////////
// Edit only what’s between the quotation marks in the lines below.
// These will be the subjects that your users can choose from popup
// lists. You can have as many as you want. Each one must be set up like so:
// Make sure to remove empty ones that you aren’t using. Just delete the entire line.
// Generic email to use for all parts. You can edit
// the individual instances for more control.
// Defaults to the built-in email notification account which is set in the System Configuration.
// Can be set by using as follows:
// [[ContactForm? &sendTo=`
[email protected]`]]
$email = (isset($sendTo))? $sendTo : ’[(emailsender)]’;
// enter the subject line
$the_subject = "Web Inquiry";
// Recipient ... add or remove lines as needed
// Format (as few or as many as desired):
// $recipient_array["Your Text Here"] = ’
[email protected]’;
$recipient_array["Factor/retailer software"] = ’
[email protected]’;
$recipient_array["Workshop software"] = ’
[email protected]’;
$recipient_array["Tyre software"] = ’
[email protected]’;
$recipient_array["E-commerce"] = ’
[email protected]’;
$recipient_array["Support enquiry"] = ’
[email protected]’;
$recipient_array["Website enquiry"] = ’
[email protected]’;
// enter "static" in order to use the solo recipient
$recipient_type = "";
$static_recipient = "$email";
// Instructions
$instructions = "Please select the type of message you’d like to send so we can route it properly. All fields are required.";
// Success Message
$success = "Thanks for contacting [(site_url)]. Someone will get back to you soon. You may submit another message in the form below.";
// Class for containing Success Message <p>
$successClass = "message";
// Failure <p> class
$failClass = "error";
// Empy Field failure message
$emptyFields = "One of the fields was left blank. Please put something in all fields.";
// General failure message
$generalFail = "Sorry, there was an error! Please try again later.";
// Bad email failure message
$failedEmail= (isset($_POST[’email’]))? $_POST[’email’]: ’’;
$emailFail = "The email address you supplied does not appear to be valid. Please try again.";
// Debug mode for testing
$debug = false;
// <----- END CONFIG ----->
///////////////////////////////////
$SendMail = ’’;
if ($debug && $_POST) {
$SendMail .= "POST variables from Document ID [*id*]:\n";
foreach ($_POST as $key => $value) {
$SendMail .= "\t$key => $value\n";
}
}
$from= ’’;
$from_email= ’’;
$message= ’’;
$postSend= isset($_POST[’send’])? $_POST[’send’]: ’false’;
if ($postSend == ’true’) {
$todata = explode("|", $_POST[’to’]);
$to = ($recipient_type=="static") ? $static_recipient : $todata[0];
$from = $_POST[’name’];
$from_email = $_POST[’email’];
$the_subject .= " - " . $todata[1];
$message = $_POST[’message’];
if ( ($from == ’’)||($from_email == ’’)||($message == ’’) ) {
$SendMail .= "<p class=\"$failClass\">$emptyFields</p>";
} elseif (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $from_email)) {
$subject = $the_subject;
$headers = "From: $from <$from_email>\r\n";
// clean out potential tomfoolery...
$message = $modx->stripTags($message);
$body = "Name: $from\nEmail: $from_email\nMessage:\n\n" . $message;
if (mail($to, $subject, $body, $headers)) {
$SendMail .= "<p class=\"$successClass\">$success</p>";
$SendMail .= ($debug) ? "<p>$to\n$headers\n$subject\n$body</p>" : ’’;
$from="";
$from_email="";
$message="";
} else {
$SendMail .= "<p class=’$failClass’>$generalFail</p>";
$send = "false";
}
} else {
$SendMail .= "<p class=\"$failClass\">$emailFail</p>";
$send = "false";
}
} else {
$SendMail .= "<p>$instructions</p>";
}
$SendMail .=<<<EOD
<div class="emailform">
<form method="post" name="EmailForm" id="EmailForm" action="[~[*id*]~]" >
<fieldset>
<input type="hidden" name="send" value="true" />
<label for="name">Your Name: <input type="text" name="name" id="name" size="30" value="$from" /></label>
<label for="email">Your Email Address: <input type="text" name="email" id="email" size="30" value="$from_email" /></label>
<label for="to">Regarding:
<select name="to" id="to">
EOD;
foreach ($recipient_array as $key=>$value) {
$SendMail .= "<option value=\"{$value}|{$key}\">{$key}</option>\n";
}
$SendMail .=<<<EOD
</select>
</label>
<label for="message">Message:
<textarea cols="50" rows="10" name="message" id="message">$message</textarea>
</label>
<label>Send this message:<input type="submit" value="Send" class="button" /></label>
</fieldset>
</form>
</div>
EOD;
return $SendMail;