Conditions | 1 |
Paths | 1 |
Total Lines | 3 |
Code Lines | 1 |
Lines | 0 |
Ratio | 0 % |
Tests | 0 |
CRAP Score | 2 |
Changes | 0 |
Metric | Value |
---|---|
eloc | 1 |
c | 0 |
b | 0 |
f | 0 |
dl | 0 |
loc | 3 |
ccs | 0 |
cts | 0 |
cp | 0 |
rs | 10 |
cc | 1 |
nc | 1 |
nop | 0 |
crap | 2 |
1 | <?php |
||
0 ignored issues
–
show
Coding Style
introduced
by
![]() |
|||
2 | |||
0 ignored issues
–
show
|
|||
3 | namespace RattfieldNz\Shodan; |
||
4 | |||
5 | use Illuminate\Support\Arr; |
||
6 | use Illuminate\Support\ServiceProvider; |
||
7 | use RattfieldNz\SafeUrls\SafeUrls; |
||
0 ignored issues
–
show
The type
RattfieldNz\SafeUrls\SafeUrls was not found. Maybe you did not declare it correctly or list all dependencies?
The issue could also be caused by a filter entry in the build configuration.
If the path has been excluded in your configuration, e.g. filter:
dependency_paths: ["lib/*"]
For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths ![]() |
|||
8 | |||
9 | class ShodanServiceProvider extends ServiceProvider |
||
0 ignored issues
–
show
|
|||
10 | { |
||
0 ignored issues
–
show
|
|||
11 | 5 | const CONFIG_PATH = __DIR__.'/../config/shodan.php'; |
|
0 ignored issues
–
show
|
|||
12 | |||
13 | 5 | public function boot() |
|
0 ignored issues
–
show
|
|||
14 | 5 | { |
|
0 ignored issues
–
show
|
|||
15 | 5 | $this->publishes([ |
|
0 ignored issues
–
show
|
|||
16 | 5 | self::CONFIG_PATH => config_path('shodan.php'), |
|
0 ignored issues
–
show
|
|||
17 | ], 'config'); |
||
18 | 5 | } |
|
0 ignored issues
–
show
|
|||
19 | |||
20 | 5 | public function register() |
|
0 ignored issues
–
show
|
|||
21 | 5 | { |
|
0 ignored issues
–
show
|
|||
22 | 5 | $this->mergeConfigFrom( |
|
0 ignored issues
–
show
|
|||
23 | self::CONFIG_PATH, |
||
24 | 'shodan' |
||
25 | ); |
||
26 | |||
27 | 5 | $this->app->alias(Shodan::class, 'shodan'); |
|
0 ignored issues
–
show
|
|||
28 | 5 | ||
29 | $this->app->bind('shodan', function () { |
||
0 ignored issues
–
show
|
|||
30 | return new Shodan(); |
||
31 | }); |
||
0 ignored issues
–
show
|
|||
32 | } |
||
0 ignored issues
–
show
|
|||
33 | |||
34 | /** |
||
0 ignored issues
–
show
|
|||
35 | * Get the services provided by the provider. |
||
36 | * |
||
37 | * @return array |
||
0 ignored issues
–
show
|
|||
38 | */ |
||
39 | public function provides() |
||
0 ignored issues
–
show
|
|||
40 | { |
||
0 ignored issues
–
show
|
|||
41 | return ['shodan']; |
||
0 ignored issues
–
show
|
|||
42 | } |
||
0 ignored issues
–
show
|
|||
43 | |||
44 | /** |
||
0 ignored issues
–
show
|
|||
45 | * Console-specific booting. |
||
46 | * |
||
47 | * @return void |
||
0 ignored issues
–
show
|
|||
48 | */ |
||
49 | public function bootForConsole() |
||
0 ignored issues
–
show
|
|||
50 | { |
||
0 ignored issues
–
show
|
|||
51 | // Publishing the configuration file. |
||
0 ignored issues
–
show
|
|||
52 | $this->publishes([ |
||
0 ignored issues
–
show
|
|||
53 | __DIR__.'/../config/shodan.php' => config_path('shodan.php'), |
||
0 ignored issues
–
show
|
|||
54 | ], 'shodan'); |
||
55 | |||
56 | // Registering package commands. |
||
0 ignored issues
–
show
|
|||
57 | $this->commands(['shodan']); |
||
0 ignored issues
–
show
|
|||
58 | } |
||
0 ignored issues
–
show
|
|||
59 | |||
60 | /** |
||
0 ignored issues
–
show
|
|||
61 | * Merge the given configuration with the existing configuration. |
||
62 | * |
||
63 | * @param string $path |
||
0 ignored issues
–
show
|
|||
64 | * @param string $key |
||
0 ignored issues
–
show
|
|||
65 | * |
||
66 | * @return void |
||
0 ignored issues
–
show
|
|||
67 | */ |
||
68 | protected function mergeConfigFrom($path, $key) |
||
0 ignored issues
–
show
|
|||
69 | { |
||
0 ignored issues
–
show
|
|||
70 | $config = $this->app['config']->get($key, []); |
||
0 ignored issues
–
show
|
|||
71 | $this->app['config']->set($key, $this->mergeConfig($config, require $path)); |
||
0 ignored issues
–
show
|
|||
72 | } |
||
0 ignored issues
–
show
|
|||
73 | |||
74 | /** |
||
0 ignored issues
–
show
|
|||
75 | * Merges the configs together and takes multi-dimensional arrays into account. |
||
0 ignored issues
–
show
|
|||
76 | * |
||
77 | * @param array $original |
||
0 ignored issues
–
show
|
|||
78 | * @param array $merging |
||
0 ignored issues
–
show
|
|||
79 | * |
||
80 | * @return array |
||
0 ignored issues
–
show
|
|||
81 | */ |
||
82 | protected function mergeConfig(array $original, array $merging) |
||
0 ignored issues
–
show
|
|||
83 | { |
||
0 ignored issues
–
show
|
|||
84 | $array = array_merge($original, $merging); |
||
0 ignored issues
–
show
|
|||
85 | foreach ($original as $key => $value) { |
||
0 ignored issues
–
show
|
|||
86 | if (!is_array($value)) { |
||
0 ignored issues
–
show
|
|||
87 | continue; |
||
0 ignored issues
–
show
|
|||
88 | } |
||
0 ignored issues
–
show
|
|||
89 | if (!Arr::exists($merging, $key)) { |
||
0 ignored issues
–
show
|
|||
90 | continue; |
||
0 ignored issues
–
show
|
|||
91 | } |
||
0 ignored issues
–
show
|
|||
92 | if (is_numeric($key)) { |
||
0 ignored issues
–
show
|
|||
93 | continue; |
||
0 ignored issues
–
show
|
|||
94 | } |
||
0 ignored issues
–
show
|
|||
95 | $array[$key] = $this->mergeConfig($value, $merging[$key]); |
||
0 ignored issues
–
show
|
|||
96 | } |
||
0 ignored issues
–
show
|
|||
97 | |||
98 | return $array; |
||
0 ignored issues
–
show
|
|||
99 | } |
||
0 ignored issues
–
show
|
|||
100 | } |
||
0 ignored issues
–
show
|
|||
101 |