Apply PSR-12 code style (#3886)
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / html / input / node / HtmlInputNodeSmall.class.php
1 <?php
2
3 namespace wcf\system\html\input\node;
4
5 use wcf\system\bbcode\BBCodeHandler;
6 use wcf\system\html\node\AbstractHtmlNodeProcessor;
7 use wcf\util\DOMUtil;
8
9 /**
10 * Converts `<small>` elements into their CSS equivalent.
11 *
12 * @author Alexander Ebert
13 * @copyright 2001-2020 WoltLab GmbH
14 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
15 * @package WoltLabSuite\Core\System\Html\Input\Node
16 * @since 5.3
17 */
18 class HtmlInputNodeSmall extends AbstractHtmlInputNode
19 {
20 /**
21 * @inheritDoc
22 */
23 protected $tagName = 'small';
24
25 /**
26 * @inheritDoc
27 */
28 public function isAllowed(AbstractHtmlNodeProcessor $htmlNodeProcessor)
29 {
30 if (BBCodeHandler::getInstance()->isAvailableBBCode('size')) {
31 return [];
32 }
33
34 return ['size'];
35 }
36
37 /**
38 * @inheritDoc
39 */
40 public function process(array $elements, AbstractHtmlNodeProcessor $htmlNodeProcessor)
41 {
42 /** @var \DOMElement $element */
43 foreach ($elements as $element) {
44 if (DOMUtil::isRemoved($element) || !$element->parentNode) {
45 continue;
46 }
47
48 $span = $element->ownerDocument->createElement('span');
49 $span->setAttribute('style', "font-size: 10pt");
50
51 $element->parentNode->insertBefore($span, $element);
52 $span->appendChild($element);
53
54 DOMUtil::removeNode($element, true);
55 }
56 }
57 }