summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/svc_phone.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm
index 11a5a0ee0..88582d393 100644
--- a/FS/FS/svc_phone.pm
+++ b/FS/FS/svc_phone.pm
@@ -120,6 +120,22 @@ Class method which returns an SQL fragment to search for the given string.
sub search_sql {
my( $class, $string ) = @_;
+
+ if ( $conf->exists('svc_phone-allow_alpha_phonenum') ) {
+ $string =~ s/\W//g;
+ } else {
+ $string =~ s/\D//g;
+ }
+
+ my $conf = new FS::Conf;
+ my $ccode = ( $conf->exists('default_phone_countrycode')
+ && $conf->config('default_phone_countrycode')
+ )
+ ? $conf->config('default_phone_countrycode')
+ : '1';
+
+ $string =~ s/^$ccode//;
+
$class->search_sql_field('phonenum', $string );
}