Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 21
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
Link
0.00% covered (danger)
0.00%
0 / 21
0.00% covered (danger)
0.00%
0 / 5
132
0.00% covered (danger)
0.00%
0 / 1
 loadData
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
 parseData
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
12
 fetchList
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 fetchPath
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
12
 readSearchResultList
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3/**
4 * @package 115Mandant
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsdldb\File;
9
10use BO\Zmsdldb\Entity\Link as Entity;
11use BO\Zmsdldb\Collection\Links as Collection;
12
13/**
14 * Common methods shared by access classes
15 */
16class Link extends Base
17{
18    #[\Override]
19    public function loadData()
20    {
21        $data = $this->access()
22            ->fromTopic()
23            ->fetchList();
24        $this->setItemList($this->parseData($data));
25    }
26
27    #[\Override]
28    protected function parseData($data)
29    {
30        $itemList = new Collection();
31        foreach ($data as $topic) {
32            foreach ($topic['links'] as $item) {
33                $itemList[$item['link']] = new Entity($item);
34            }
35        }
36        return $itemList;
37    }
38
39    /**
40     *
41     * @return Collection
42     */
43    public function fetchList()
44    {
45        return $this->getItemList();
46    }
47
48    /**
49     *
50     * @return Entity
51     */
52    public function fetchPath($topic_path)
53    {
54        $topiclist = $this->fetchList();
55        foreach ($topiclist as $topic) {
56            if ($topic['path'] == $topic_path) {
57                return $topic;
58            }
59        }
60        return false;
61    }
62
63    public function readSearchResultList($query)
64    {
65        $list = $this->getItemList();
66        $result = new Collection();
67        foreach ($list as $link) {
68            if (false !== strpos($link['name'], $query)) {
69                $result[] = $link;
70            }
71        }
72        return $result;
73    }
74}