| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | <?php/** * @file * CCK Field for Polish phone numbers. *//** * Polish phone number regex helper. */function _pl_regex() {  return '/^    ([1-9]\d) # 2-digit area code    ([1-9]\d{2}) # 3-digit phone prefix (cannot start with 0)    (\d{4})    $/x';}/** * Verifies that $number is a valid 9-digit Polish phone number. */function pl_validate_number($number, $ext = '', &$error) {  $number = cck_phone_clean_number($number);  $regex = _pl_regex();  $result = preg_match($regex, $number, $matches);  if ($result) {    return TRUE;  }  else {    $error = '"%phone_input" is not a valid Polish phone number, it should be a 9-digit      number like "99 999 99 99".';    return FALSE;  }}/** * Helper for formatting output. * Output as +48 (AA) BBB CCCC */function _pl_formatter($element) {  $phone = '';  $regex = _pl_regex();  $result = preg_match($regex, $element['number'], $matches);  if ($result) {    $phone = '(' . $matches[1] . ') ' . $matches[2] . ' ' . $matches[3];  }  return $phone;}/** * Default formatter for international phone number. */function pl_formatter_default($element) {  $cc = cck_phone_countrycodes($element['country_codes']);  $number = _pl_formatter($element);  return $cc['code'] . ' ' . $number;}/** * Local formatter for local phone number. */function pl_formatter_local($element) {  return _pl_formatter($element);}
 |