1 | <?php |
||
4 | class Utils |
||
5 | { |
||
6 | |||
7 | /** |
||
8 | * @return array |
||
9 | */ |
||
10 | 4 | public static function parseSourceId($sourceId) |
|
11 | { |
||
12 | 4 | if (is_file($sourceId)) { |
|
13 | return $sourceId; |
||
14 | 4 | } elseif (preg_match('/^[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+/', $sourceId)) { |
|
15 | 1 | $parsedSourceId = parse_url($sourceId); |
|
16 | 1 | if (isset($parsedSourceId['query'])) { |
|
17 | 1 | parse_str($parsedSourceId['query'], $parsedSourceId['query']); |
|
18 | 1 | } |
|
19 | 1 | $pathTokens = explode('.', $parsedSourceId['path']); |
|
20 | 1 | $method = array_pop($pathTokens); |
|
21 | 1 | $service = join('.', $pathTokens); |
|
22 | |||
23 | return array( |
||
24 | 1 | 'service' => $service, |
|
25 | 1 | 'method' => $method, |
|
26 | 1 | 'arguments' => isset($parsedSourceId['query'])?$parsedSourceId['query']:null |
|
27 | 1 | ); |
|
28 | } |
||
29 | |||
30 | 3 | return $sourceId; |
|
31 | } |
||
32 | |||
33 | /** |
||
34 | * @return bool |
||
35 | */ |
||
36 | 5 | public static function isWindows() |
|
40 | |||
41 | /** |
||
42 | * @return bool |
||
43 | */ |
||
44 | 1 | public static function isCli() |
|
48 | |||
49 | /** |
||
50 | * @return string |
||
51 | */ |
||
52 | 5 | public static function whoAmI() |
|
63 | |||
64 | /** |
||
65 | * @return array |
||
66 | */ |
||
67 | 5 | public static function numbersToRangeText(array $numbers) |
|
92 | |||
93 | 4 | private static function addRangeText(array &$ranges, array $currentRange) |
|
104 | |||
105 | } |
||
106 |