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);
|
$c_num = trim($contact_num);
|
||||||
|
|
||||||
// remove any non digit character from string
|
// clean the numbers
|
||||||
$clean_number = preg_replace('~\D~', '', $c_num);
|
$cleaned_number = $this->normalizeContactNumber($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 = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
// not a blank, save it
|
// 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;
|
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