Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
|||
BackendController | n/a |
0 / 0 |
n/a |
0 / 0 |
5 | n/a |
0 / 0 |
|||
viewTagCreate | n/a |
0 / 0 |
n/a |
0 / 0 |
1 | |||||
viewTagList | n/a |
0 / 0 |
n/a |
0 / 0 |
3 | |||||
viewTagSingle | n/a |
0 / 0 |
n/a |
0 / 0 |
1 |
1 | <?php |
2 | /** |
3 | * Jingga |
4 | * |
5 | * PHP Version 8.1 |
6 | * |
7 | * @package Modules\Tag |
8 | * @copyright Dennis Eichhorn |
9 | * @license OMS License 2.0 |
10 | * @version 1.0.0 |
11 | * @link https://jingga.app |
12 | */ |
13 | declare(strict_types=1); |
14 | |
15 | namespace Modules\Tag\Controller; |
16 | |
17 | use Modules\Tag\Models\TagL11nMapper; |
18 | use Modules\Tag\Models\TagMapper; |
19 | use phpOMS\Contract\RenderableInterface; |
20 | use phpOMS\Message\RequestAbstract; |
21 | use phpOMS\Message\ResponseAbstract; |
22 | use phpOMS\Views\View; |
23 | |
24 | /** |
25 | * Calendar controller class. |
26 | * |
27 | * @package Modules\Tag |
28 | * @license OMS License 2.0 |
29 | * @link https://jingga.app |
30 | * @since 1.0.0 |
31 | * @codeCoverageIgnore |
32 | */ |
33 | final class BackendController extends Controller |
34 | { |
35 | /** |
36 | * Routing end-point for application behaviour. |
37 | * |
38 | * @param RequestAbstract $request Request |
39 | * @param ResponseAbstract $response Response |
40 | * @param array $data Generic data |
41 | * |
42 | * @return RenderableInterface |
43 | * |
44 | * @since 1.0.0 |
45 | * @codeCoverageIgnore |
46 | */ |
47 | public function viewTagCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface |
48 | { |
49 | $view = new View($this->app->l11nManager, $request, $response); |
50 | |
51 | $view->setTemplate('/Modules/Tag/Theme/Backend/tag-create'); |
52 | $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response); |
53 | |
54 | return $view; |
55 | } |
56 | |
57 | /** |
58 | * Routing end-point for application behaviour. |
59 | * |
60 | * @param RequestAbstract $request Request |
61 | * @param ResponseAbstract $response Response |
62 | * @param array $data Generic data |
63 | * |
64 | * @return RenderableInterface |
65 | * |
66 | * @since 1.0.0 |
67 | * @codeCoverageIgnore |
68 | */ |
69 | public function viewTagList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface |
70 | { |
71 | $view = new View($this->app->l11nManager, $request, $response); |
72 | |
73 | $view->setTemplate('/Modules/Tag/Theme/Backend/tag-list'); |
74 | $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response); |
75 | |
76 | if ($request->getData('ptype') === 'p') { |
77 | $view->data['tags'] = TagMapper::getAll() |
78 | ->with('title') |
79 | ->where('id', $request->getDataInt('id') ?? 0, '<') |
80 | ->where('title/language', $request->header->l11n->language) |
81 | ->limit(25) |
82 | ->execute(); |
83 | } elseif ($request->getData('ptype') === 'n') { |
84 | $view->data['tags'] = TagMapper::getAll() |
85 | ->with('title') |
86 | ->where('id', $request->getDataInt('id') ?? 0, '>') |
87 | ->where('title/language', $request->header->l11n->language) |
88 | ->limit(25) |
89 | ->execute(); |
90 | } else { |
91 | $view->data['tags'] = TagMapper::getAll() |
92 | ->with('title') |
93 | ->where('id', 0, '>') |
94 | ->where('title/language', $request->header->l11n->language) |
95 | ->limit(25) |
96 | ->execute(); |
97 | } |
98 | |
99 | return $view; |
100 | } |
101 | |
102 | /** |
103 | * Routing end-point for application behaviour. |
104 | * |
105 | * @param RequestAbstract $request Request |
106 | * @param ResponseAbstract $response Response |
107 | * @param array $data Generic data |
108 | * |
109 | * @return RenderableInterface |
110 | * |
111 | * @since 1.0.0 |
112 | * @codeCoverageIgnore |
113 | */ |
114 | public function viewTagSingle(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface |
115 | { |
116 | $view = new View($this->app->l11nManager, $request, $response); |
117 | |
118 | /** @var \Modules\Tag\Models\Tag $tag */ |
119 | $tag = TagMapper::get() |
120 | ->with('title') |
121 | ->where('id', (int) $request->getData('id')) |
122 | ->where('title/language', $response->header->l11n->language) |
123 | ->execute(); |
124 | |
125 | $view->setTemplate('/Modules/Tag/Theme/Backend/tag-single'); |
126 | $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007501001, $request, $response); |
127 | $view->data['tag'] = $tag; |
128 | |
129 | /** @var \phpOMS\Localization\BaseStringL11n[] $l11n */ |
130 | $l11n = TagL11nMapper::getAll() |
131 | ->where('ref', $tag->id) |
132 | ->execute(); |
133 | |
134 | $view->data['l11n'] = $l11n; |
135 | |
136 | return $view; |
137 | } |
138 | } |