mirror of https://github.com/itflow-org/itflow
Fix php errors thrown when formatPhone is blank
This commit is contained in:
parent
2032b48ad3
commit
14d8dc6fa6
|
|
@ -194,135 +194,161 @@ function truncate($text, $chars) {
|
|||
}
|
||||
|
||||
function formatPhoneNumber($phoneNumber, $country_code = '', $show_country_code = false) {
|
||||
|
||||
// Remove all non-digit characters
|
||||
$digits = preg_replace('/\D/', '', $phoneNumber);
|
||||
$formatted = '';
|
||||
|
||||
// If no digits at all, fallback early
|
||||
if (strlen($digits) === 0) {
|
||||
return $phoneNumber;
|
||||
}
|
||||
|
||||
// Helper function to safely check the first digit
|
||||
$startsWith = function($str, $char) {
|
||||
return isset($str[0]) && $str[0] === $char;
|
||||
};
|
||||
|
||||
switch ($country_code) {
|
||||
case '1': // USA/Canada — (123) 456-7890
|
||||
case '1': // USA/Canada
|
||||
if (strlen($digits) === 10) {
|
||||
$formatted = '(' . substr($digits, 0, 3) . ') ' . substr($digits, 3, 3) . '-' . substr($digits, 6);
|
||||
}
|
||||
break;
|
||||
|
||||
case '44': // UK — 07123 456 789
|
||||
if ($digits[0] === '0') $digits = substr($digits, 1);
|
||||
case '44': // UK
|
||||
if ($startsWith($digits, '0')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
if (strlen($digits) === 10) {
|
||||
$formatted = '0' . substr($digits, 0, 4) . ' ' . substr($digits, 4, 3) . ' ' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '61': // Australia — 0412 345 678
|
||||
if ($digits[0] === '0') $digits = substr($digits, 1);
|
||||
case '61': // Australia
|
||||
if ($startsWith($digits, '0')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
if (strlen($digits) === 9) {
|
||||
$formatted = '0' . substr($digits, 0, 4) . ' ' . substr($digits, 4, 3) . ' ' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '91': // India — 91234 56789
|
||||
case '91': // India
|
||||
if (strlen($digits) === 10) {
|
||||
$formatted = substr($digits, 0, 5) . ' ' . substr($digits, 5);
|
||||
}
|
||||
break;
|
||||
|
||||
case '81': // Japan — 03-1234-5678
|
||||
if ($digits[0] === '0') $digits = substr($digits, 1);
|
||||
case '81': // Japan
|
||||
if ($startsWith($digits, '0')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
if (strlen($digits) >= 9 && strlen($digits) <= 10) {
|
||||
$formatted = '0' . substr($digits, 0, 2) . '-' . substr($digits, 2, 4) . '-' . substr($digits, 6);
|
||||
}
|
||||
break;
|
||||
|
||||
case '49': // Germany — 030 12345678
|
||||
if ($digits[0] === '0') $digits = substr($digits, 1);
|
||||
case '49': // Germany
|
||||
if ($startsWith($digits, '0')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
if (strlen($digits) >= 10) {
|
||||
$formatted = '0' . substr($digits, 0, 3) . ' ' . substr($digits, 3);
|
||||
}
|
||||
break;
|
||||
|
||||
case '33': // France — 01 23 45 67 89
|
||||
if ($digits[0] === '0') $digits = substr($digits, 1);
|
||||
case '33': // France
|
||||
if ($startsWith($digits, '0')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
if (strlen($digits) === 9) {
|
||||
$formatted = '0' . implode(' ', str_split($digits, 2));
|
||||
}
|
||||
break;
|
||||
|
||||
case '34': // Spain — 612 345 678
|
||||
case '34': // Spain
|
||||
if (strlen($digits) === 9) {
|
||||
$formatted = substr($digits, 0, 3) . ' ' . substr($digits, 3, 3) . ' ' . substr($digits, 6);
|
||||
}
|
||||
break;
|
||||
|
||||
case '39': // Italy — 312 345 6789
|
||||
if ($digits[0] === '0') $digits = substr($digits, 1);
|
||||
case '39': // Italy
|
||||
if ($startsWith($digits, '0')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
$formatted = '0' . implode(' ', str_split($digits, 3));
|
||||
break;
|
||||
|
||||
case '55': // Brazil — (11) 91234-5678
|
||||
case '55': // Brazil
|
||||
if (strlen($digits) === 11) {
|
||||
$formatted = '(' . substr($digits, 0, 2) . ') ' . substr($digits, 2, 5) . '-' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '7': // Russia — 8 (912) 345-67-89
|
||||
if ($digits[0] === '8') $digits = substr($digits, 1);
|
||||
case '7': // Russia
|
||||
if ($startsWith($digits, '8')) {
|
||||
$digits = substr($digits, 1);
|
||||
}
|
||||
if (strlen($digits) === 10) {
|
||||
$formatted = '8 (' . substr($digits, 0, 3) . ') ' . substr($digits, 3, 3) . '-' . substr($digits, 6, 2) . '-' . substr($digits, 8);
|
||||
}
|
||||
break;
|
||||
|
||||
case '86': // China — 138 0013 8000
|
||||
case '86': // China
|
||||
if (strlen($digits) === 11) {
|
||||
$formatted = substr($digits, 0, 3) . ' ' . substr($digits, 3, 4) . ' ' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '82': // South Korea — 010-1234-5678
|
||||
case '82': // South Korea
|
||||
if (strlen($digits) === 11) {
|
||||
$formatted = substr($digits, 0, 3) . '-' . substr($digits, 3, 4) . '-' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '62': // Indonesia — 0812 3456 7890
|
||||
if ($digits[0] !== '0') $digits = '0' . $digits;
|
||||
case '62': // Indonesia
|
||||
if (!$startsWith($digits, '0')) {
|
||||
$digits = '0' . $digits;
|
||||
}
|
||||
if (strlen($digits) === 12) {
|
||||
$formatted = substr($digits, 0, 4) . ' ' . substr($digits, 4, 4) . ' ' . substr($digits, 8);
|
||||
}
|
||||
break;
|
||||
|
||||
case '63': // Philippines — 0912 345 6789
|
||||
case '63': // Philippines
|
||||
if (strlen($digits) === 11) {
|
||||
$formatted = substr($digits, 0, 4) . ' ' . substr($digits, 4, 3) . ' ' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '234': // Nigeria — 0801 234 5678
|
||||
if ($digits[0] !== '0') $digits = '0' . $digits;
|
||||
case '234': // Nigeria
|
||||
if (!$startsWith($digits, '0')) {
|
||||
$digits = '0' . $digits;
|
||||
}
|
||||
if (strlen($digits) === 11) {
|
||||
$formatted = substr($digits, 0, 4) . ' ' . substr($digits, 4, 3) . ' ' . substr($digits, 7);
|
||||
}
|
||||
break;
|
||||
|
||||
case '27': // South Africa — 082 123 4567
|
||||
case '27': // South Africa
|
||||
if (strlen($digits) >= 9 && strlen($digits) <= 10) {
|
||||
$formatted = substr($digits, 0, 3) . ' ' . substr($digits, 3, 3) . ' ' . substr($digits, 6);
|
||||
}
|
||||
break;
|
||||
|
||||
case '971': // UAE — 050 123 4567
|
||||
case '971': // UAE
|
||||
if (strlen($digits) === 9) {
|
||||
$formatted = substr($digits, 0, 3) . ' ' . substr($digits, 3, 3) . ' ' . substr($digits, 6);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// If no match, do nothing here and use fallback below
|
||||
// fallback — do nothing, use raw digits later
|
||||
break;
|
||||
}
|
||||
|
||||
// no formatting? Use raw digits
|
||||
if (!$formatted) {
|
||||
$formatted = $digits ?: $phoneNumber; // Use original input if digits are empty
|
||||
$formatted = $digits ?: $phoneNumber;
|
||||
}
|
||||
|
||||
return $show_country_code && $country_code ? "+$country_code $formatted" : $formatted;
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ if (isset($_POST['edit_contact'])) {
|
|||
|
||||
}
|
||||
|
||||
mysqli_query($mysqli,"UPDATE contacts SET contact_name = '$name', contact_title = '$title', contact_phone_country_code = '$phone_country_code', contact_phone = '$phone', contact_extension = '$extension', contact_mobile_country_code = '$phone_country_code', contact_mobile = '$mobile', contact_email = '$email', contact_pin = '$pin', contact_notes = '$notes', contact_important = $contact_important, contact_billing = $contact_billing, contact_technical = $contact_technical, contact_department = '$department', contact_location_id = $location_id, contact_user_id = $contact_user_id WHERE contact_id = $contact_id");
|
||||
mysqli_query($mysqli,"UPDATE contacts SET contact_name = '$name', contact_title = '$title', contact_phone_country_code = '$phone_country_code', contact_phone = '$phone', contact_extension = '$extension', contact_mobile_country_code = '$mobile_country_code', contact_mobile = '$mobile', contact_email = '$email', contact_pin = '$pin', contact_notes = '$notes', contact_important = $contact_important, contact_billing = $contact_billing, contact_technical = $contact_technical, contact_department = '$department', contact_location_id = $location_id, contact_user_id = $contact_user_id WHERE contact_id = $contact_id");
|
||||
|
||||
// Upload Photo
|
||||
if (isset($_FILES['file']['tmp_name'])) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue