Hello, i have 2 problems on my website. Both are related to the tep_validate_email() functon. I'm not too good with php, but i can edit and save files without problems. I also saw that there are many people with the same problem but not one reply to how it can be fixed. Anyone who can offer help i would greatly appreciate it.
1. When creating an account for someone under Admin the following error comes up:
• "Fatal error: Call to undefined function tep_validate_email() in /home/content/38/7595538/html/admin/create_account_process.php on line 103"
2. Editing and Saving a users Account in Admin gives error:
• "Fatal error: Call to undefined function tep_validate_email() in /homepages/27/d276362377/htdocs/caviar4you.com/admin/customers.php on line 78"
My validation.php looks like this:
<?php
/*
$Id: validations.php,v 1.1.1.1 2004/03/04 23:40:51 ccwjr Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
////////////////////////////////////////////////////////////////////////////////////////////////
//
// Function : tep_validate_email
//
// Arguments : email email address to be checked
//
// Return : true - valid email address
// false - invalid email address
//
// Description : function for validating email address that conforms to RFC 822 specs
//
// This function is converted from a JavaScript written by
// Sandeep V. Tamhankar (
stamhankar@hotmail.com). The original JavaScript
// is available at
http://javascript.internet.com //
// Sample Valid Addresses:
//
//
first.last@host.com //
firstlast@host.to // "first last"@host.com
// "first@last"@host.com
//
first-last@host.com // first.last@[123.123.123.123]
//
// Invalid Addresses:
//
// first
last@host.com //
//
////////////////////////////////////////////////////////////////////////////////////////////////
function tep_validate_email($email) {
$valid_address = true;
$mail_pat = '^(.+)@(.+)$';
$valid_chars = "[^] \(\)<>@,;:\.\\\"\[]";
$atom = "$valid_chars+";
$quoted_user='(\"[^\"]*\")';
$word = "($atom|$quoted_user)";
$user_pat = "^$word(\.$word)*$";
$ip_domain_pat='^\[([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\]$';
$domain_pat = "^$atom(\.$atom)*$";
if (eregi($mail_pat, $email, $components)) {
$user = $components[1];
$domain = $components[2];
// validate user
if (eregi($user_pat, $user)) {
// validate domain
if (eregi($ip_domain_pat, $domain, $ip_components)) {
// this is an IP address
for ($i=1;$i<=4;$i++) {
if ($ip_components[$i] > 255) {
$valid_address = false;
break;
}
}
}
else {
// Domain is a name, not an IP
if (eregi($domain_pat, $domain)) {
/* domain name seems valid, but now make sure that it ends in a valid TLD or ccTLD
and that there's a hostname preceding the domain or country. */
$domain_components = explode(".", $domain);
// Make sure there's a host name preceding the domain.
if (sizeof($domain_components) < 2) {
$valid_address = false;
} else {
$top_level_domain = strtolower($domain_components[sizeof($domain_components)-1]);
// Allow all 2-letter TLDs (ccTLDs)
if (eregi('^[a-z][a-z]$', $top_level_domain) != 1) {
$tld_pattern = '';
// Get authorized TLDs from text file
$tlds = file(DIR_WS_INCLUDES . 'tld.txt');
while (list(,$line) = each($tlds)) {
// Get rid of comments
$words = explode('#', $line);
$tld = trim($words[0]);
// TLDs should be 3 letters or more
if (eregi('^[a-z]{3,}$', $tld) == 1) {
$tld_pattern .= '^' . $tld . '$|';
}
}
// Remove last '|'
$tld_pattern = substr($tld_pattern, 0, -1);
if (eregi("$tld_pattern", $top_level_domain) == 0) {
$valid_address = false;
}
}
}
}
else {
$valid_address = false;
}
}
}
else {
$valid_address = false;
}
}
else {
$valid_address = false;
}
if ($valid_address && ENTRY_EMAIL_ADDRESS_CHECK == 'true') {
if (!checkdnsrr($domain, "MX") && !checkdnsrr($domain, "A")) {
$valid_address = false;
}
}
return $valid_address;
}
?>