$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"); } ?>