Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
Office
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 5
72
0.00% covered (danger)
0.00%
0 / 1
 parseData
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getItemList
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
20
 fetchList
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 fetchId
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 fetchPath
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3/**
4 * @package ClientDldb
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsdldb\MySQL;
9
10use BO\Zmsdldb\MySQL\Entity\Office as Entity;
11use BO\Zmsdldb\MySQL\Collection\Offices as Collection;
12use BO\Zmsdldb\Elastic\Office as Base;
13
14/**
15  *
16  */
17class Office extends Base
18{
19    protected static $officeList = [];
20
21    #[\Override]
22    protected function parseData($data)
23    {
24        return $this->getItemList();
25    }
26
27    #[\Override]
28    public function getItemList()
29    {
30        try {
31            if (empty(static::$officeList)) {
32                $officeListJson = $this->access()->fromSetting()->fetchName('office');
33                $officeList = json_decode($officeListJson, true);
34
35                static::$officeList = new Collection();
36                foreach ($officeList as $item) {
37                    static::$officeList[$item['path']] = new Entity($item);
38                    static::$officeList[$item['plural']] = static::$officeList[$item['path']];
39                }
40                #echo '<pre>' . htmlspecialchars(print_r((static::$officeList),1)) . '</pre>';exit;
41            }
42            return static::$officeList;
43        } catch (\Exception $e) {
44            throw $e;
45        }
46    }
47
48    #[\Override]
49    public function fetchList()
50    {
51        return $this->getItemList();
52    }
53
54    #[\Override]
55    public function fetchId($itemId)
56    {
57        $list = $this->fetchList();
58        return $list[$itemId] ?? false;
59    }
60
61    #[\Override]
62    public function fetchPath($itemId)
63    {
64        return $this->fetchId($itemId);
65    }
66}