$fieldValue) {
foreach ($bannedStopWords as $stopWordKey => $stopWordValue) {
$pattern = '/.*' . preg_quote($stopWordValue, '/') . '.*/i';
if (is_array($fieldValue)) {
$fieldValue = implode(",", $fieldValue);
}
if (get_magic_quotes_gpc()) {
$fieldValue = stripslashes($fieldValue);
}
if (preg_match($pattern, $fieldValue)) {
echo '
ErrorYour request has been rejected.
';
exit;
}
}
}
}
function DoStripSlashes($fieldValue) {
// temporary fix for PHP6 compatibility - magic quotes deprecated in PHP6
if ( function_exists( 'get_magic_quotes_gpc' ) && get_magic_quotes_gpc() ) {
if (is_array($fieldValue) ) {
return array_map('DoStripSlashes', $fieldValue);
} else {
return trim(stripslashes($fieldValue));
}
} else {
return $fieldValue;
}
}
function FilterCChars($theString) {
return preg_replace('/[\x00-\x1F]/', '', $theString);
}
function ProcessTABCVSField($theString, $textSeparator) {
if ($textSeparator == 'tab') {
$theString = preg_replace('/\t/', ' ', $theString);
}
$theString = preg_replace('/\"/', '""', $theString);
return $theString;
}
function CheckEmail($email, $optional) {
if ( (strlen($email) == 0) && ($optional === kOptional) ) {
return true;
} elseif ( eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email) ) {
return true;
} else {
return false;
}
}
function CheckTelephone($telephone, $valFormat, $optional) {
if ( (strlen($telephone) == 0) && ($optional === kOptional) ) {
return true;
} elseif ( ereg($valFormat, $telephone) ) {
return true;
} else {
return false;
}
}
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$clientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$clientIP = $_SERVER['REMOTE_ADDR'];
}
StopWordsCheck();
$FTGname = DoStripSlashes( $_POST['name'] );
$FTGemail = DoStripSlashes( $_POST['email'] );
$FTGcompany = DoStripSlashes( $_POST['company'] );
$FTGphone = DoStripSlashes( $_POST['phone'] );
$FTGjumpMenu = DoStripSlashes( $_POST['jumpMenu'] );
$FTGgo_button = DoStripSlashes( $_POST['go_button'] );
$FTGRadioGroupFormType = DoStripSlashes( $_POST['RadioGroupFormType'] );
$FTGotherdescription = DoStripSlashes( $_POST['otherdescription'] );
$FTGnameofquotedform = DoStripSlashes( $_POST['nameofquotedform'] );
$FTGprintquantity = DoStripSlashes( $_POST['printquantity'] );
$FTGprintsize = DoStripSlashes( $_POST['printsize'] );
$FTGoverallsize = DoStripSlashes( $_POST['overallsize'] );
$FTGparts = DoStripSlashes( $_POST['parts'] );
$FTGpapercolors = DoStripSlashes( $_POST['papercolors'] );
$FTGinkcolors = DoStripSlashes( $_POST['inkcolors'] );
$FTGradio = DoStripSlashes( $_POST['radio'] );
$FTGprintalikeno_explain = DoStripSlashes( $_POST['printalikeno_explain'] );
$FTGholesinfo = DoStripSlashes( $_POST['holesinfo'] );
$FTGmarginalwords = DoStripSlashes( $_POST['marginalwords'] );
$FTGbackprinting = DoStripSlashes( $_POST['backprinting'] );
$FTGRadioGroup1 = DoStripSlashes( $_POST['RadioGroup1'] );
$FTGRadioGroup2 = DoStripSlashes( $_POST['RadioGroup2'] );
$FTGRadioGroup3 = DoStripSlashes( $_POST['RadioGroup3'] );
$FTGprint_camerareadyart = DoStripSlashes( $_POST['print_camerareadyart'] );
$FTGprint_otherinfo = DoStripSlashes( $_POST['print_otherinfo'] );
$FTGpromoname = DoStripSlashes( $_POST['promoname'] );
$FTGpromoitemnumber = DoStripSlashes( $_POST['promoitemnumber'] );
$FTGpromo_quantity = DoStripSlashes( $_POST['promo_quantity'] );
$FTGRadioGroup4 = DoStripSlashes( $_POST['RadioGroup4'] );
$FTGpromoitemcolor = DoStripSlashes( $_POST['promoitemcolor'] );
$FTGpromo_inkcolor = DoStripSlashes( $_POST['promo_inkcolor'] );
$FTGpromoeventdate = DoStripSlashes( $_POST['promoeventdate'] );
$FTGpromo_art = DoStripSlashes( $_POST['promo_art'] );
$FTGpromo_otherinfo = DoStripSlashes( $_POST['promo_otherinfo'] );
$FTGapparel_qty = DoStripSlashes( $_POST['apparel_qty'] );
$FTGapparel_name = DoStripSlashes( $_POST['apparel_name'] );
$FTGapparel_itemnumber = DoStripSlashes( $_POST['apparel_itemnumber'] );
$FTGpromo_color = DoStripSlashes( $_POST['promo_color'] );
$FTGRadioGroup5 = DoStripSlashes( $_POST['RadioGroup5'] );
$FTGpromo_noofcolors = DoStripSlashes( $_POST['promo_noofcolors'] );
$FTGRadioGroup6 = DoStripSlashes( $_POST['RadioGroup6'] );
$FTGapparel_date = DoStripSlashes( $_POST['apparel_date'] );
$FTGapparel_otherinfo = DoStripSlashes( $_POST['apparel_otherinfo'] );
$validationFailed = false;
# Fields Validations
if (!CheckEmail($FTGemail, kMandatory)) {
$FTGErrorMessage['email'] = 'OOPS! Something is wrong. Please enter a valid e-mail address.';
$validationFailed = true;
}
if (!CheckTelephone($FTGphone, '[0-9]{3}\-[0-9]{3}\-[0-9]{4}', kMandatory)) {
$FTGErrorMessage['phone'] = 'Please enter your number like this:‹99-999-9999';
$validationFailed = true;
}
# Include message in error page and dump it to the browser
if ($validationFailed === true) {
$errorPage = 'ErrorErrors found: ';
$errorPage = str_replace('', $FTGname, $errorPage);
$errorPage = str_replace('', $FTGemail, $errorPage);
$errorPage = str_replace('', $FTGcompany, $errorPage);
$errorPage = str_replace('', $FTGphone, $errorPage);
$errorPage = str_replace('', $FTGjumpMenu, $errorPage);
$errorPage = str_replace('', $FTGgo_button, $errorPage);
$errorPage = str_replace('', $FTGRadioGroupFormType, $errorPage);
$errorPage = str_replace('', $FTGotherdescription, $errorPage);
$errorPage = str_replace('', $FTGnameofquotedform, $errorPage);
$errorPage = str_replace('', $FTGprintquantity, $errorPage);
$errorPage = str_replace('', $FTGprintsize, $errorPage);
$errorPage = str_replace('', $FTGoverallsize, $errorPage);
$errorPage = str_replace('', $FTGparts, $errorPage);
$errorPage = str_replace('', $FTGpapercolors, $errorPage);
$errorPage = str_replace('', $FTGinkcolors, $errorPage);
$errorPage = str_replace('', $FTGradio, $errorPage);
$errorPage = str_replace('', $FTGprintalikeno_explain, $errorPage);
$errorPage = str_replace('', $FTGholesinfo, $errorPage);
$errorPage = str_replace('', $FTGmarginalwords, $errorPage);
$errorPage = str_replace('', $FTGbackprinting, $errorPage);
$errorPage = str_replace('', $FTGRadioGroup1, $errorPage);
$errorPage = str_replace('', $FTGRadioGroup2, $errorPage);
$errorPage = str_replace('', $FTGRadioGroup3, $errorPage);
$errorPage = str_replace('', $FTGprint_camerareadyart, $errorPage);
$errorPage = str_replace('', $FTGprint_otherinfo, $errorPage);
$errorPage = str_replace('', $FTGpromoname, $errorPage);
$errorPage = str_replace('', $FTGpromoitemnumber, $errorPage);
$errorPage = str_replace('', $FTGpromo_quantity, $errorPage);
$errorPage = str_replace('', $FTGRadioGroup4, $errorPage);
$errorPage = str_replace('', $FTGpromoitemcolor, $errorPage);
$errorPage = str_replace('', $FTGpromo_inkcolor, $errorPage);
$errorPage = str_replace('', $FTGpromoeventdate, $errorPage);
$errorPage = str_replace('', $FTGpromo_art, $errorPage);
$errorPage = str_replace('', $FTGpromo_otherinfo, $errorPage);
$errorPage = str_replace('', $FTGapparel_qty, $errorPage);
$errorPage = str_replace('', $FTGapparel_name, $errorPage);
$errorPage = str_replace('', $FTGapparel_itemnumber, $errorPage);
$errorPage = str_replace('', $FTGpromo_color, $errorPage);
$errorPage = str_replace('', $FTGRadioGroup5, $errorPage);
$errorPage = str_replace('', $FTGpromo_noofcolors, $errorPage);
$errorPage = str_replace('', $FTGRadioGroup6, $errorPage);
$errorPage = str_replace('', $FTGapparel_date, $errorPage);
$errorPage = str_replace('', $FTGapparel_otherinfo, $errorPage);
$errorPage = str_replace('', $FTGErrorMessage['email'], $errorPage);
$errorPage = str_replace('', $FTGErrorMessage['phone'], $errorPage);
$errorList = @implode("
\n", $FTGErrorMessage);
$errorPage = str_replace('', $errorList, $errorPage);
echo $errorPage;
}
if ( $validationFailed === false ) {
# Email to Form Owner
$emailSubject = FilterCChars("Request for Quote");
$emailBody = "name : $FTGname\n"
. "email : $FTGemail\n"
. "company : $FTGcompany\n"
. "phone : $FTGphone\n"
. "jump Menu : $FTGjumpMenu\n"
. "go button : $FTGgo_button\n"
. "Radio Group Form Type : $FTGRadioGroupFormType\n"
. "otherdescription : $FTGotherdescription\n"
. "nameofquotedform : $FTGnameofquotedform\n"
. "printquantity : $FTGprintquantity\n"
. "printsize : $FTGprintsize\n"
. "overallsize : $FTGoverallsize\n"
. "parts : $FTGparts\n"
. "papercolors : $FTGpapercolors\n"
. "inkcolors : $FTGinkcolors\n"
. "radio : $FTGradio\n"
. "printalikeno explain : $FTGprintalikeno_explain\n"
. "holesinfo : $FTGholesinfo\n"
. "marginalwords : $FTGmarginalwords\n"
. "backprinting : $FTGbackprinting\n"
. "Radio Group1 : $FTGRadioGroup1\n"
. "Radio Group2 : $FTGRadioGroup2\n"
. "Radio Group3 : $FTGRadioGroup3\n"
. "print camerareadyart : $FTGprint_camerareadyart\n"
. "print otherinfo : $FTGprint_otherinfo\n"
. "promoname : $FTGpromoname\n"
. "promoitemnumber : $FTGpromoitemnumber\n"
. "promo quantity : $FTGpromo_quantity\n"
. "Radio Group4 : $FTGRadioGroup4\n"
. "promoitemcolor : $FTGpromoitemcolor\n"
. "promo inkcolor : $FTGpromo_inkcolor\n"
. "promoeventdate : $FTGpromoeventdate\n"
. "promo art : $FTGpromo_art\n"
. "promo otherinfo : $FTGpromo_otherinfo\n"
. "apparel qty : $FTGapparel_qty\n"
. "apparel name : $FTGapparel_name\n"
. "apparel itemnumber : $FTGapparel_itemnumber\n"
. "promo color : $FTGpromo_color\n"
. "Radio Group5 : $FTGRadioGroup5\n"
. "promo noofcolors : $FTGpromo_noofcolors\n"
. "Radio Group6 : $FTGRadioGroup6\n"
. "apparel date : $FTGapparel_date\n"
. "apparel otherinfo : $FTGapparel_otherinfo\n"
. "";
$emailTo = 'karen@jimdickens.com';
$emailFrom = FilterCChars("karen@jimdickens.com");
$emailHeader = "From: $emailFrom\n"
. "MIME-Version: 1.0\n"
. "Content-type: text/plain; charset=\"UTF-8\"\n"
. "Content-transfer-encoding: 8bit\n";
mail($emailTo, $emailSubject, $emailBody, $emailHeader);
#====================================================
# Dump field values to a text file =
#====================================================
$dumpRecord = sprintf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s",
ProcessTABCVSField($FTGname, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGemail, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGcompany, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGphone, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGjumpMenu, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGgo_button, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroupFormType, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGotherdescription, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGnameofquotedform, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGprintquantity, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGprintsize, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGoverallsize, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGparts, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpapercolors, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGinkcolors, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGradio, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGprintalikeno_explain, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGholesinfo, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGmarginalwords, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGbackprinting, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroup1, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroup2, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroup3, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGprint_camerareadyart, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGprint_otherinfo, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromoname, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromoitemnumber, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromo_quantity, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroup4, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromoitemcolor, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromo_inkcolor, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromoeventdate, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromo_art, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromo_otherinfo, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGapparel_qty, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGapparel_name, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGapparel_itemnumber, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromo_color, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroup5, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGpromo_noofcolors, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGRadioGroup6, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGapparel_date, kTextDumpFieldSeparator),
ProcessTABCVSField($FTGapparel_otherinfo, kTextDumpFieldSeparator),
$clientIP,
date('Y-m-d H:i:s'));
$dumpRecord = str_replace("\n", "\\n", $dumpRecord);
$dumpRecord = str_replace("\r", "\\r", $dumpRecord);
$dumpRecord = $dumpRecord . "\n";
$fileDump = '/jimdickens.com/quoterequest.txt';
$fileHandle = @fopen($fileDump, 'a');
if ($fileHandle === false) {
echo 'ErrorText Dump Error: Cannot write to the text file: ' . $fileDump . '
. Script will quit now.';
if (ini_get('track_errors')) {
echo 'PHP Error: ' . $php_errormsg;
}
exit;
} else {
fwrite($fileHandle, $dumpRecord);
fclose($fileHandle);
}
# Redirect user to success page
header("Location: http://www.jimdickens.com/webdocs/thankyou.html");
}
?>