MobileNumber::checkMobileLengthAndSize()   C
last analyzed

Complexity

Conditions 7
Paths 5

Size

Total Lines 23
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 7

Importance

Changes 0
Metric Value
cc 7
eloc 17
nc 5
nop 1
dl 0
loc 23
ccs 7
cts 7
cp 1
crap 7
rs 6.7272
c 0
b 0
f 0
1
<?php
2
namespace Sender;
3
4
use Sender\ExceptionClass\ParameterException;
5
6
/**
7
 * This Class for splite mobile number given string
8
 *
9
 * @package    Sender\MobileNumber
10
 * @author     VenkatS <[email protected]>
11
 * @link       https://github.com/tesark/msg91-php
12
 * @license    MIT
13
 */
14
15
class MobileNumber
16
{
17
    /**
18
     * This function provide valid mobile number array
19
     *
20
     * @param string $mobileNumber
21
     *
22
     * @return array|boolean Mobile numbers
23
     */
24 14
    public static function isValidNumber($mobileNumber)
25
    {
26 14
        if (isset($mobileNumber) && is_string($mobileNumber)) {
27 14
            $data = self::checkMobileLengthAndSize($mobileNumber);
28 14
            return $data;
29 14
        } else {
30 14
            return false;
31 14
        }
32 14
    }
33 14
    protected static function checkMobileLengthAndSize($mobileNumber)
34 12
    {
35 14
        $data = [];
36
        $mobiles = explode(",", $mobileNumber);
37
        $len     = sizeof($mobiles);
38 3
        if ($len < 20) {
39 3
            for ($i = 0; $i < $len; $i++) {
40
                $lenva = strlen($mobiles[$i]);
41
                if (is_numeric($mobiles[$i]) && $lenva >= 8 && $lenva < 15) {
42 14
                    if ($i == $len-1) {
43
                        $data += ["value" => true];
44 1
                        $data += ["mobile" => $mobiles];
45
                    }
46
                } else {
47
                    $data += ["value" => false];
48
                    $data += ["mobile" => $mobiles[$i]];
49
                }
50
            }
51
        } else {
52
            $message = "Minimum 20 mobile numbers";
53
            throw ParameterException::missinglogic($message);
54
        }
55
        return $data;
56
    }
57
}
58