Improves phone prefix detection.
authorStéphane Jacob <sj@m4x.org>
Mon, 3 Oct 2011 09:40:17 +0000 (11:40 +0200)
committerStéphane Jacob <sj@m4x.org>
Mon, 3 Oct 2011 09:40:17 +0000 (11:40 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
classes/phone.php

index 8356f64..be6f3ad 100644 (file)
@@ -187,10 +187,10 @@ class Phone
         if ((!isset($format['phoneprf'])) || ($format['phoneprf'] == '')) {
             $res = XDB::query('SELECT  phonePrefix AS phoneprf, phoneFormat AS format
                                  FROM  geoloc_countries
-                                WHERE  phonePrefix = {?} OR phonePrefix = {?} OR phonePrefix = {?}
-                             ORDER BY  phonePrefix DESC
+                                WHERE  phonePrefix = SUBSTRING({?}, 1, LENGTH(phonePrefix))
+                             ORDER BY  LENGTH(phonePrefix) DESC
                                 LIMIT  1',
-                              substr($tel, 0, 1), substr($tel, 0, 2), substr($tel, 0, 3));
+                              $tel);
             if ($res->numRows() == 0) {
                 // No country found, does not format more than prepending a '+' sign.
                 $this->error = true;