These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | namespace Redaxscript\Admin\View; |
||
3 | |||
4 | use Redaxscript\Admin; |
||
5 | use Redaxscript\Html; |
||
6 | use Redaxscript\Module; |
||
7 | |||
8 | /** |
||
9 | * children class to create the setting form |
||
10 | * |
||
11 | * @since 3.0.0 |
||
12 | * |
||
13 | * @package Redaxscript |
||
14 | * @category View |
||
15 | * @author Henry Ruhs |
||
16 | */ |
||
17 | |||
18 | class SettingForm extends ViewAbstract |
||
19 | { |
||
20 | /** |
||
21 | * render the view |
||
22 | * |
||
23 | * @since 3.0.0 |
||
24 | * |
||
25 | * @return string |
||
26 | */ |
||
27 | |||
28 | 1 | public function render() : string |
|
29 | { |
||
30 | 1 | $output = Module\Hook::trigger('adminSettingFormStart'); |
|
31 | 1 | $settingModel = new Admin\Model\Setting(); |
|
32 | 1 | $helperOption = new Helper\Option($this->_language); |
|
33 | |||
34 | /* html element */ |
||
35 | |||
36 | 1 | $titleElement = new Html\Element(); |
|
37 | $titleElement |
||
38 | 1 | ->init('h2', |
|
39 | [ |
||
40 | 1 | 'class' => 'rs-admin-title-content', |
|
41 | ]) |
||
42 | 1 | ->text($this->_language->get('settings')); |
|
43 | 1 | $formElement = new Admin\Html\Form($this->_registry, $this->_language); |
|
44 | 1 | $formElement->init( |
|
45 | [ |
||
46 | 1 | 'form' => |
|
47 | [ |
||
48 | 'class' => 'rs-admin-js-validate rs-admin-component-accordion rs-admin-form-default' |
||
49 | ], |
||
50 | 'button' => |
||
51 | [ |
||
52 | 'save' => |
||
53 | [ |
||
54 | 'name' => self::class |
||
55 | ] |
||
56 | ], |
||
57 | 'link' => |
||
58 | [ |
||
59 | 'cancel' => |
||
60 | [ |
||
61 | 1 | 'href' => $this->_registry->get('parameterRoute') . 'admin' |
|
62 | ] |
||
63 | ] |
||
64 | ]); |
||
65 | |||
66 | /* create the form */ |
||
67 | |||
68 | $formElement |
||
0 ignored issues
–
show
|
|||
69 | |||
70 | /* general */ |
||
71 | |||
72 | 1 | ->radio( |
|
73 | [ |
||
74 | 1 | 'id' => self::class . '\General', |
|
75 | 'class' => 'rs-admin-fn-status-accordion', |
||
76 | 'name' => self::class . '\Accordion', |
||
77 | 'checked' => 'checked' |
||
78 | ]) |
||
79 | 1 | ->label($this->_language->get('general'), |
|
80 | [ |
||
81 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
82 | 'for' => self::class . '\General' |
||
83 | ]) |
||
84 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
85 | 1 | ->label($this->_language->get('language'), |
|
86 | [ |
||
87 | 1 | 'for' => 'language' |
|
88 | ]) |
||
89 | 1 | ->select($helperOption->getLanguageArray(), |
|
90 | [ |
||
91 | 1 | $settingModel->get('language') |
|
92 | ], |
||
93 | [ |
||
94 | 1 | 'id' => 'language', |
|
95 | 'name' => 'language' |
||
96 | ]) |
||
97 | 1 | ->append('</li><li>') |
|
98 | 1 | ->label($this->_language->get('template'), |
|
99 | [ |
||
100 | 1 | 'for' => 'template' |
|
101 | ]) |
||
102 | 1 | ->select($helperOption->getTemplateArray(), |
|
103 | [ |
||
104 | 1 | $settingModel->get('template') |
|
105 | ], |
||
106 | [ |
||
107 | 1 | 'id' => 'template', |
|
108 | 'name' => 'template' |
||
109 | ]) |
||
110 | 1 | ->append('</li></ul>') |
|
111 | |||
112 | /* metadata */ |
||
113 | |||
114 | 1 | ->radio( |
|
115 | [ |
||
116 | 1 | 'id' => self::class . '\Metadata', |
|
117 | 'class' => 'rs-admin-fn-status-accordion', |
||
118 | 'name' => self::class . '\Accordion' |
||
119 | ]) |
||
120 | 1 | ->label($this->_language->get('metadata'), |
|
121 | [ |
||
122 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
123 | 'for' => self::class . '\Metadata' |
||
124 | ]) |
||
125 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
126 | 1 | ->label($this->_language->get('title'), |
|
127 | [ |
||
128 | 1 | 'for' => 'title' |
|
129 | ]) |
||
130 | 1 | ->text( |
|
131 | [ |
||
132 | 1 | 'id' => 'title', |
|
133 | 1 | 'name' => 'title', |
|
134 | 1 | 'value' => $settingModel->get('title') |
|
135 | ]) |
||
136 | 1 | ->append('</li><li>') |
|
137 | 1 | ->label($this->_language->get('author'), |
|
138 | [ |
||
139 | 1 | 'for' => 'author' |
|
140 | ]) |
||
141 | 1 | ->text( |
|
142 | [ |
||
143 | 1 | 'id' => 'author', |
|
144 | 1 | 'name' => 'author', |
|
145 | 1 | 'value' => $settingModel->get('author') |
|
146 | ]) |
||
147 | 1 | ->append('</li><li>') |
|
148 | 1 | ->label($this->_language->get('copyright'), |
|
149 | [ |
||
150 | 1 | 'for' => 'copyright' |
|
151 | ]) |
||
152 | 1 | ->text( |
|
153 | [ |
||
154 | 1 | 'id' => 'copyright', |
|
155 | 1 | 'name' => 'copyright', |
|
156 | 1 | 'value' => $settingModel->get('copyright') |
|
157 | ]) |
||
158 | 1 | ->append('</li><li>') |
|
159 | 1 | ->label($this->_language->get('description'), |
|
160 | [ |
||
161 | 1 | 'for' => 'description' |
|
162 | ]) |
||
163 | 1 | ->textarea( |
|
164 | [ |
||
165 | 1 | 'class' => 'rs-admin-js-resize rs-admin-field-textarea rs-admin-field-small', |
|
166 | 1 | 'id' => 'description', |
|
167 | 1 | 'name' => 'description', |
|
168 | 1 | 'rows' => 1, |
|
169 | 1 | 'value' => $settingModel->get('description') |
|
170 | ]) |
||
171 | 1 | ->append('</li><li>') |
|
172 | 1 | ->label($this->_language->get('keywords'), |
|
173 | [ |
||
174 | 1 | 'for' => 'keywords' |
|
175 | ]) |
||
176 | 1 | ->textarea( |
|
177 | [ |
||
178 | 1 | 'class' => 'rs-admin-js-resize rs-admin-field-textarea rs-admin-field-small', |
|
179 | 1 | 'id' => 'keywords', |
|
180 | 1 | 'name' => 'keywords', |
|
181 | 1 | 'rows' => 1, |
|
182 | 1 | 'value' => $settingModel->get('keywords') |
|
183 | ]) |
||
184 | 1 | ->append('</li><li>') |
|
185 | 1 | ->label($this->_language->get('robots'), |
|
186 | [ |
||
187 | 1 | 'for' => 'robots' |
|
188 | ]) |
||
189 | 1 | ->select($helperOption->getRobotArray(), |
|
190 | [ |
||
191 | 1 | $settingModel->get('robots') |
|
192 | ], |
||
193 | [ |
||
194 | 1 | 'id' => 'robots', |
|
195 | 'name' => 'robots' |
||
196 | ]) |
||
197 | 1 | ->append('</li></ul>') |
|
198 | |||
199 | /* contact */ |
||
200 | |||
201 | 1 | ->radio( |
|
202 | [ |
||
203 | 1 | 'id' => self::class . '\Contact', |
|
204 | 'class' => 'rs-admin-fn-status-accordion', |
||
205 | 'name' => self::class . '\Accordion' |
||
206 | ]) |
||
207 | 1 | ->label($this->_language->get('contact'), |
|
208 | [ |
||
209 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
210 | 'for' => self::class . '\Contact' |
||
211 | ]) |
||
212 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
213 | 1 | ->label($this->_language->get('email'), |
|
214 | [ |
||
215 | 1 | 'for' => 'email' |
|
216 | ]) |
||
217 | 1 | ->email( |
|
218 | [ |
||
219 | 1 | 'id' => 'email', |
|
220 | 1 | 'name' => 'email', |
|
221 | 1 | 'value' => $settingModel->get('email') |
|
222 | ]) |
||
223 | 1 | ->append('</li><li>') |
|
224 | 1 | ->label($this->_language->get('subject'), |
|
225 | [ |
||
226 | 1 | 'for' => 'subject' |
|
227 | ]) |
||
228 | 1 | ->text( |
|
229 | [ |
||
230 | 1 | 'id' => 'subject', |
|
231 | 1 | 'name' => 'subject', |
|
232 | 1 | 'value' => $settingModel->get('subject') |
|
233 | ]) |
||
234 | 1 | ->append('</li><li>') |
|
235 | 1 | ->label($this->_language->get('notification'), |
|
236 | [ |
||
237 | 1 | 'for' => 'notification' |
|
238 | ]) |
||
239 | 1 | ->select($helperOption->getToggleArray(), |
|
240 | [ |
||
241 | 1 | $settingModel->get('notification') |
|
242 | ], |
||
243 | [ |
||
244 | 1 | 'id' => 'notification', |
|
245 | 'name' => 'notification' |
||
246 | ]) |
||
247 | 1 | ->append('</li></ul>') |
|
248 | |||
249 | /* formatting */ |
||
250 | |||
251 | 1 | ->radio( |
|
252 | [ |
||
253 | 1 | 'id' => self::class . '\Formatting', |
|
254 | 'class' => 'rs-admin-fn-status-accordion', |
||
255 | 'name' => self::class . '\Accordion' |
||
256 | ]) |
||
257 | 1 | ->label($this->_language->get('formatting'), |
|
258 | [ |
||
259 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
260 | 'for' => self::class . '\Formatting' |
||
261 | ]) |
||
262 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
263 | 1 | ->label($this->_language->get('charset'), |
|
264 | [ |
||
265 | 1 | 'for' => 'charset' |
|
266 | ]) |
||
267 | 1 | ->text( |
|
268 | [ |
||
269 | 1 | 'id' => 'charset', |
|
270 | 1 | 'name' => 'charset', |
|
271 | 1 | 'value' => $settingModel->get('charset') |
|
272 | ]) |
||
273 | 1 | ->append('</li><li>') |
|
274 | 1 | ->label($this->_language->get('divider'), |
|
275 | [ |
||
276 | 1 | 'for' => 'divider' |
|
277 | ]) |
||
278 | 1 | ->text( |
|
279 | [ |
||
280 | 1 | 'id' => 'divider', |
|
281 | 1 | 'name' => 'divider', |
|
282 | 1 | 'value' => $settingModel->get('divider') |
|
283 | ]) |
||
284 | 1 | ->append('</li><li>') |
|
285 | 1 | ->label($this->_language->get('zone'), |
|
286 | [ |
||
287 | 1 | 'for' => 'zone' |
|
288 | ]) |
||
289 | 1 | ->select($helperOption->getZoneArray(), |
|
290 | [ |
||
291 | 1 | $settingModel->get('zone') |
|
292 | ], |
||
293 | [ |
||
294 | 1 | 'id' => 'zone', |
|
295 | 'name' => 'zone' |
||
296 | ]) |
||
297 | 1 | ->append('</li><li>') |
|
298 | 1 | ->label($this->_language->get('time'), |
|
299 | [ |
||
300 | 1 | 'for' => 'time' |
|
301 | ]) |
||
302 | 1 | ->select($helperOption->getTimeArray(), |
|
303 | [ |
||
304 | 1 | $settingModel->get('time') |
|
305 | ], |
||
306 | [ |
||
307 | 1 | 'id' => 'time', |
|
308 | 'name' => 'time' |
||
309 | ]) |
||
310 | 1 | ->append('</li><li>') |
|
311 | 1 | ->label($this->_language->get('date'), |
|
312 | [ |
||
313 | 1 | 'for' => 'date' |
|
314 | ]) |
||
315 | 1 | ->select($helperOption->getDateArray(), |
|
316 | [ |
||
317 | 1 | $settingModel->get('date') |
|
318 | ], |
||
319 | [ |
||
320 | 1 | 'id' => 'date', |
|
321 | 'name' => 'date' |
||
322 | ]) |
||
323 | 1 | ->append('</li></ul>') |
|
324 | |||
325 | /* contents */ |
||
326 | |||
327 | 1 | ->radio( |
|
328 | [ |
||
329 | 1 | 'id' => self::class . '\Contents', |
|
330 | 'class' => 'rs-admin-fn-status-accordion', |
||
331 | 'name' => self::class . '\Accordion' |
||
332 | ]) |
||
333 | 1 | ->label($this->_language->get('contents'), |
|
334 | [ |
||
335 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
336 | 'for' => self::class . '\Contents' |
||
337 | ]) |
||
338 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
339 | 1 | ->label($this->_language->get('homepage'), |
|
340 | [ |
||
341 | 1 | 'for' => 'homepage' |
|
342 | ]) |
||
343 | 1 | ->select($helperOption->getArticleArray(), |
|
344 | [ |
||
345 | 1 | $settingModel->get('homepage') |
|
346 | ], |
||
347 | [ |
||
348 | 1 | 'id' => 'homepage', |
|
349 | 'name' => 'homepage' |
||
350 | ]) |
||
351 | 1 | ->append('</li><li>') |
|
352 | 1 | ->label($this->_language->get('limit'), |
|
353 | [ |
||
354 | 1 | 'for' => 'limit' |
|
355 | ]) |
||
356 | 1 | ->number( |
|
357 | [ |
||
358 | 1 | 'id' => 'limit', |
|
359 | 1 | 'name' => 'limit', |
|
360 | 1 | 'value' => $settingModel->get('limit') |
|
361 | ]) |
||
362 | 1 | ->append('</li><li>') |
|
363 | 1 | ->label($this->_language->get('order'), |
|
364 | [ |
||
365 | 1 | 'for' => 'order' |
|
366 | ]) |
||
367 | 1 | ->select($helperOption->getOrderArray(), |
|
368 | [ |
||
369 | 1 | $settingModel->get('order') |
|
370 | ], |
||
371 | [ |
||
372 | 1 | 'id' => 'order', |
|
373 | 'name' => 'order' |
||
374 | ]) |
||
375 | 1 | ->append('</li><li>') |
|
376 | 1 | ->label($this->_language->get('pagination'), |
|
377 | [ |
||
378 | 1 | 'for' => 'pagination' |
|
379 | ]) |
||
380 | 1 | ->select($helperOption->getToggleArray(), |
|
381 | [ |
||
382 | 1 | $settingModel->get('pagination') |
|
383 | ], |
||
384 | [ |
||
385 | 1 | 'id' => 'pagination', |
|
386 | 'name' => 'pagination' |
||
387 | ]) |
||
388 | 1 | ->append('</li></ul>') |
|
389 | |||
390 | /* users */ |
||
391 | |||
392 | 1 | ->radio( |
|
393 | [ |
||
394 | 1 | 'id' => self::class . '\Users', |
|
395 | 'class' => 'rs-admin-fn-status-accordion', |
||
396 | 'name' => self::class . '\Accordion' |
||
397 | ]) |
||
398 | 1 | ->label($this->_language->get('users'), |
|
399 | [ |
||
400 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
401 | 'for' => self::class . '\Users' |
||
402 | ]) |
||
403 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
404 | 1 | ->label($this->_language->get('registration'), |
|
405 | [ |
||
406 | 1 | 'for' => 'registration' |
|
407 | ]) |
||
408 | 1 | ->select($helperOption->getToggleArray(), |
|
409 | [ |
||
410 | 1 | $settingModel->get('registration') |
|
411 | ], |
||
412 | [ |
||
413 | 1 | 'id' => 'registration', |
|
414 | 'name' => 'registration' |
||
415 | ]) |
||
416 | 1 | ->append('</li><li>') |
|
417 | 1 | ->label($this->_language->get('verification'), |
|
418 | [ |
||
419 | 1 | 'for' => 'verification' |
|
420 | ]) |
||
421 | 1 | ->select($helperOption->getToggleArray(), |
|
422 | [ |
||
423 | 1 | $settingModel->get('verification') |
|
424 | ], |
||
425 | [ |
||
426 | 1 | 'id' => 'verification', |
|
427 | 'name' => 'verification' |
||
428 | ]) |
||
429 | 1 | ->append('</li><li>') |
|
430 | 1 | ->label($this->_language->get('recovery'), |
|
431 | [ |
||
432 | 1 | 'for' => 'recovery' |
|
433 | ]) |
||
434 | 1 | ->select($helperOption->getToggleArray(), |
|
435 | [ |
||
436 | 1 | $settingModel->get('recovery') |
|
437 | ], |
||
438 | [ |
||
439 | 1 | 'id' => 'recovery', |
|
440 | 'name' => 'recovery' |
||
441 | ]) |
||
442 | 1 | ->append('</li></ul>') |
|
443 | |||
444 | /* security */ |
||
445 | |||
446 | 1 | ->radio( |
|
447 | [ |
||
448 | 1 | 'id' => self::class . '\Security', |
|
449 | 'class' => 'rs-admin-fn-status-accordion', |
||
450 | 'name' => self::class . '\Accordion' |
||
451 | ]) |
||
452 | 1 | ->label($this->_language->get('security'), |
|
453 | [ |
||
454 | 1 | 'class' => 'rs-admin-fn-toggle-accordion rs-admin-label-accordion', |
|
455 | 'for' => self::class . '\Security' |
||
456 | ]) |
||
457 | 1 | ->append('<ul class="rs-admin-fn-content-accordion rs-admin-box-accordion"><li>') |
|
458 | 1 | ->label($this->_language->get('moderation'), |
|
459 | [ |
||
460 | 1 | 'for' => 'moderation' |
|
461 | ]) |
||
462 | 1 | ->select($helperOption->getToggleArray(), |
|
463 | [ |
||
464 | 1 | $settingModel->get('moderation') |
|
465 | ], |
||
466 | [ |
||
467 | 1 | 'id' => 'moderation', |
|
468 | 'name' => 'moderation' |
||
469 | ]) |
||
470 | 1 | ->append('</li><li>') |
|
471 | 1 | ->label($this->_language->get('captcha'), |
|
472 | [ |
||
473 | 1 | 'for' => 'captcha' |
|
474 | ]) |
||
475 | 1 | ->select($helperOption->getCaptchaArray(), |
|
476 | [ |
||
477 | 1 | $settingModel->get('captcha') |
|
478 | ], |
||
479 | [ |
||
480 | 1 | 'id' => 'captcha', |
|
481 | 'name' => 'captcha' |
||
482 | ]) |
||
483 | 1 | ->append('</li></ul>') |
|
484 | 1 | ->token() |
|
485 | 1 | ->append('<div class="rs-admin-wrapper-button">') |
|
486 | 1 | ->cancel() |
|
487 | 1 | ->save() |
|
488 | 1 | ->append('</div>'); |
|
489 | |||
490 | /* collect output */ |
||
491 | |||
492 | 1 | $output .= $titleElement . $formElement; |
|
493 | 1 | $output .= Module\Hook::trigger('adminSettingFormEnd'); |
|
494 | 1 | return $output; |
|
495 | } |
||
496 | } |
||
497 |
If you implement
__call
and you know which methods are available, you can improve IDE auto-completion and static analysis by adding a @method annotation to the class.This is often the case, when
__call
is implemented by a parent class and only the child class knows which methods exist: