Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
86.21% covered (warning)
86.21%
25 / 29
80.00% covered (warning)
80.00%
4 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
Config
86.21% covered (warning)
86.21%
25 / 29
80.00% covered (warning)
80.00%
4 / 5
9.21
0.00% covered (danger)
0.00%
0 / 1
 getDefaults
100.00% covered (success)
100.00%
22 / 22
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            'changelog' => [
18                'urlReleaseNotes' => 'https://it-at-m.github.io/eappointment/overview/changelog.html'
19            ],
20            'ticketprinter' => [
21                'baseUrl' => '/terminvereinbarung/ticketprinter/'
22            ],
23            'calldisplay' => [
24                'baseUrl' => '/terminvereinbarung/calldisplay/'
25            ],
26            'emergency' => [
27                'refreshInterval' => 5
28            ],
29            'support' => [
30                'eMail' => 'hotline@itdz-berlin.de',
31                'telephone' => '(030) 9222-2000'
32            ]
33        ];
34    }
35
36    public function hasType($type)
37    {
38        return (isset($this[$type])) ? true : false;
39    }
40
41    public function hasPreference($type, $key)
42    {
43        return ($this->hasType($type) && isset($this[$type][$key])) ? true : false;
44    }
45
46    public function getPreference($type, $key)
47    {
48        return $this->toProperty()->$type->$key->get();
49    }
50
51    public function setPreference($type, $key, $value)
52    {
53        $preference = $this->toProperty()->$type->$key->get();
54        if (null !== $preference) {
55            $this[$type][$key] = $value;
56        }
57        return $this;
58    }
59}