Completed
Push — phoneNumberMatcher ( 6b28c4 )
by Joshua
18:40
created

Valid   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 3
dl 0
loc 24
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A verify() 0 9 3
1
<?php
2
3
namespace libphonenumber\Leniency;
4
5
use libphonenumber\PhoneNumber;
6
use libphonenumber\PhoneNumberMatcher;
7
use libphonenumber\PhoneNumberUtil;
8
9
class Valid extends AbstractLeniency
10
{
11
    protected static $level = 2;
12
13
    /**
14
     * Phone numbers accepted are PhoneNumberUtil::isPossibleNumber() and PhoneNumberUtil::isValidNumber().
15
     * Numbers written in national format must have their national-prefix present if it is usually written
16
     * for a number of this type.
17
     *
18
     * @param PhoneNumber $number
19
     * @param string $candidate
20
     * @param PhoneNumberUtil $util
21
     * @return bool
22
     */
23
    public static function verify(PhoneNumber $number, $candidate, PhoneNumberUtil $util)
24
    {
25
        if (!$util->isValidNumber($number)
26
            || !PhoneNumberMatcher::containsOnlyValidXChars($number, $candidate, $util)) {
27
            return false;
28
        }
29
30
        return PhoneNumberMatcher::isNationalPrefixPresentIfRequired($number, $util);
31
    }
32
}
33