Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
84.62% covered (warning)
84.62%
22 / 26
80.00% covered (warning)
80.00%
4 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
Config
84.62% covered (warning)
84.62%
22 / 26
80.00% covered (warning)
80.00%
4 / 5
9.29
0.00% covered (danger)
0.00%
0 / 1
 getDefaults
100.00% covered (success)
100.00%
19 / 19
100.00% covered (success)
100.00%
1 / 1
1
 hasType
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
2
 hasPreference
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
3
 getPreference
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setPreference
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace BO\Zmsentities;
4
5class Config extends Schema\Entity
6{
7    public static $schema = "config.json";
8
9    #[\Override]
10    public function getDefaults()
11    {
12        return [
13            'appointments' => [
14                'urlChange' => 'https://service.berlin.de/terminvereinbarung/termin/manage/',
15                'urlAppointments' => 'https://service.berlin.de/terminvereinbarung/',
16            ],
17            'ticketprinter' => [
18                'baseUrl' => '/terminvereinbarung/ticketprinter/'
19            ],
20            'calldisplay' => [
21                'baseUrl' => '/terminvereinbarung/calldisplay/'
22            ],
23            'emergency' => [
24                'refreshInterval' => 5
25            ],
26            'support' => [
27                'eMail' => 'hotline@itdz-berlin.de',
28                'telephone' => '(030) 9222-2000'
29            ]
30        ];
31    }
32
33    public function hasType($type)
34    {
35        return (isset($this[$type])) ? true : false;
36    }
37
38    public function hasPreference($type, $key)
39    {
40        return ($this->hasType($type) && isset($this[$type][$key])) ? true : false;
41    }
42
43    public function getPreference($type, $key)
44    {
45        return $this->toProperty()->$type->$key->get();
46    }
47
48    public function setPreference($type, $key, $value)
49    {
50        $preference = $this->toProperty()->$type->$key->get();
51        if (null !== $preference) {
52            $this[$type][$key] = $value;
53        }
54        return $this;
55    }
56}