Improve flow for cleaning contact numbers. #572
This commit is contained in:
parent
bfc86abd6a
commit
3d89199fd8
1 changed files with 36 additions and 31 deletions
|
|
@ -83,40 +83,13 @@ class ImportCarClubCustomerDataCommand extends Command
|
|||
{
|
||||
$c_num = trim($contact_num);
|
||||
|
||||
// remove any non digit character from string
|
||||
$clean_number = preg_replace('~\D~', '', $c_num);
|
||||
error_log('cleaned ' . $clean_number);
|
||||
|
||||
// QUESTION: why are these all ifs and not else ifs?
|
||||
|
||||
// does it fit our 09XXXXXXXXX pattern?
|
||||
if (preg_match('/^09[0-9]{9}$/', $clean_number))
|
||||
{
|
||||
// remove first '0'
|
||||
$clean_number = substr($clean_number, 1);
|
||||
error_log("CONVERTED TO $clean_number");
|
||||
}
|
||||
|
||||
// does it fit our 63XXXXXXXXXX pattern?
|
||||
if (preg_match('/^63[0-9]{10}$/', $clean_number))
|
||||
{
|
||||
// remove the 63
|
||||
$clean_number = substr($clean_number, 2);
|
||||
error_log("CONVERTED TO $clean_number");
|
||||
}
|
||||
|
||||
// does it fit our 9XXXXXXXXX pattern?
|
||||
if (!preg_match('/^9[0-9]{9}$/', $clean_number))
|
||||
{
|
||||
error_log('not a mobile number');
|
||||
// set clean_number to blank since we don't save a non-mobile number
|
||||
$clean_number = '';
|
||||
}
|
||||
// clean the numbers
|
||||
$cleaned_number = $this->normalizeContactNumber($c_num);
|
||||
|
||||
// not a blank, save it
|
||||
if ($clean_number != '')
|
||||
if ($cleaned_number != '')
|
||||
{
|
||||
$clean_nums[] = $clean_number;
|
||||
$clean_nums[] = $cleaned_number;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -428,4 +401,36 @@ class ImportCarClubCustomerDataCommand extends Command
|
|||
|
||||
return $new_cust_tag;
|
||||
}
|
||||
|
||||
protected function normalizeContactNumber($c_num)
|
||||
{
|
||||
// remove any non digit character from string
|
||||
$clean_number = preg_replace('~\D~', '', $c_num);
|
||||
error_log('cleaned ' . $clean_number);
|
||||
|
||||
// does it fit our 09XXXXXXXXX pattern?
|
||||
if (preg_match('/^09[0-9]{9}$/', $clean_number))
|
||||
{
|
||||
// remove first '0'
|
||||
$clean_number = substr($clean_number, 1);
|
||||
error_log("CONVERTED TO $clean_number");
|
||||
return $clean_number;
|
||||
}
|
||||
// does it fit our 63XXXXXXXXXX pattern?
|
||||
else if (preg_match('/^63[0-9]{10}$/', $clean_number))
|
||||
{
|
||||
// remove the 63
|
||||
$clean_number = substr($clean_number, 2);
|
||||
error_log("CONVERTED TO $clean_number");
|
||||
return $clean_number;
|
||||
}
|
||||
// does it fit our 9XXXXXXXXX pattern?
|
||||
else if (preg_match('/^9[0-9]{9}$/', $clean_number))
|
||||
{
|
||||
error_log("already cleaned $clean_number");
|
||||
return $clean_number;
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue