관리-도구
편집 파일: class-formcleaner.php
<?php include_once("constants.php"); require_once('classes/class-formval.php'); require_once('classes/class-badwords.php'); class formcleaner { function clean_phone($phone){ $phone = ereg_replace("[^[:digit:]]", "", $phone); if(substr($phone, 0, 1) == '1'){ $phone = substr($phone, 1); } $result = $this->str_format_number($phone, PHONE_FORMAT); return $result; } function str_format_number($String, $Format){ if ($Format == '') return $String; if ($String == '') return $String; $Result = ''; $FormatPos = 0; $StringPos = 0; While ((strlen($Format) - 1) >= $FormatPos){ //If its a number => stores it if (is_numeric(substr($Format, $FormatPos, 1))){ $Result .= substr($String, $StringPos, 1); $StringPos++; //If it is not a number => stores the caracter } else { $Result .= substr($Format, $FormatPos, 1); } //Next caracter at the mask. $FormatPos++; } return $Result; } function cleandata( $process_info ){ /* The array of variables must match the following structure to be processes correctly $process_info['emailaddress'] $process_info['phone'] $process_info['phone2'] $process_info['fax'] $process_info['grandtotal'] $process_info['cc'] New Vars that will come out $process_info['strg_total'] // creates a total for trust commerce (exp: 45 -> 45.00) $process_info['stripped_total'] // creates a total for trust commerce (exp: 45 -> 4500) $process_info['cut_cc'] // Creates a last 4 of cc */ //Remove hacker code from form if(is_array($process_info)){ foreach ($process_info as $id => $result){ $process_info["$id"] = strip_tags($result); } } // Clean data from spamers $validator = & new formval; if(is_array($process_info)){ foreach ($process_info as $id => $result){ if ($id != "emailaddress"){ if (!$validator->validate('not_email','no',$process_info["$id"])) { $process_info["$id"] = ''; } } } } // Clean bad words from data $badword_obj = new badword(); $process_info = $badword_obj->clean_badwords( $process_info ); //print "<pre>"; print_r($process_info); print "</pre>"; // Create total formated if(isset($process_info['grand_total'])){ $process_info['strg_total'] = number_format($process_info['grand_total'], 2); $process_info['stripped_total'] = str_replace (".", "", $process_info['strg_total']); } // Cleanup the CC of non characters if(isset($process_info['cc'])){ $process_info['cc'] = ereg_replace("[^[:digit:]]", "", $process_info['cc']); $process_info['cut_cc'] = substr_replace($process_info['cc'], '', 0, -4); } // Clean up Phone and mphone // Remove stuff on Phone numbers '1-', '(', ')', '-' and format, then put back in array if(isset($process_info['phone'])){ $process_info['phone'] = $this->clean_phone($process_info['phone']); } if(isset($process_info['phone2'])){ // Clean up Phone2 $process_info['phone2'] = $this->clean_phone($process_info['phone2']); } if(isset($process_info['fax'])){ // Clean up fax $process_info['fax'] = $this->clean_phone($process_info['fax']); } return $process_info; } // End Clean Data Function } // End formcleaner Class ?>