[TASK] Remove old language labels in EXT:setup
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Classes / Domain / Model / Json / HeaderJsonElement.php
1 <?php
2 namespace TYPO3\CMS\Form\Domain\Model\Json;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * JSON header
19 */
20 class HeaderJsonElement extends \TYPO3\CMS\Form\Domain\Model\Json\AbstractJsonElement
21 {
22 /**
23 * The ExtJS xtype of the element
24 *
25 * @var string
26 */
27 public $xtype = 'typo3-form-wizard-elements-content-header';
28
29 /**
30 * The configuration array for the xtype
31 *
32 * @var array
33 */
34 public $configuration = [
35 'attributes' => [],
36 'various' => [
37 'headingSize' => 'h1',
38 'content' => ''
39 ]
40 ];
41
42 /**
43 * Allowed attributes for this object
44 *
45 * @var array
46 */
47 protected $allowedAttributes = [
48 'class',
49 'dir',
50 'id',
51 'lang',
52 'style',
53 'title'
54 ];
55
56 /**
57 * Set all the parameters for this object
58 *
59 * @param array $parameters Configuration array
60 * @return void
61 * @see \TYPO3\CMS\Form\Domain\Model\Json\AbstractJsonElement::setParameters()
62 */
63 public function setParameters(array $parameters)
64 {
65 parent::setParameters($parameters);
66 $this->setVarious($parameters);
67 }
68
69 /**
70 * Set the various properties for the element
71 *
72 * For this element this is the headingsize and the value
73 *
74 * @param array $parameters Configuration array
75 * @return void
76 */
77 protected function setVarious(array $parameters)
78 {
79 if (isset($parameters['headingSize'])) {
80 if (preg_match('#^h[1-5]$#', $parameters['headingSize'])) {
81 $this->configuration['various']['headingSize'] = $parameters['headingSize'];
82 }
83 }
84 if (isset($parameters['content'])) {
85 $this->configuration['various']['content'] = $parameters['content'];
86 }
87 }
88 }