[BUGFIX] Allow attribute value "0" in EXT:form elements 43/35443/2
authorStefan Neufeind <typo3.neufeind@speedpartner.de>
Tue, 14 Feb 2012 12:17:20 +0000 (13:17 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sun, 14 Dec 2014 19:47:31 +0000 (20:47 +0100)
If an attribute value of "0" is set in an EXT:form element (e.g.
TEXTLINE) currently the input element in the frontend is rendered with
an empty value "".

Do not check attribute values with empty() to allow "0" values.

Resolves: #31920
Releases: master, 6.2
Change-Id: I624c7da38c23429f68000e085dbd82c23fb7e834
Reviewed-on: http://review.typo3.org/35443
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/form/Classes/Domain/Factory/TypoScriptFactory.php
typo3/sysext/form/Classes/View/Confirmation/Element/AbstractElementView.php
typo3/sysext/form/Classes/View/Form/Element/AbstractElementView.php
typo3/sysext/form/Classes/View/Mail/Html/Element/AbstractElementView.php

index 0f7aa0e..ca5013f 100644 (file)
@@ -220,7 +220,7 @@ class TypoScriptFactory implements \TYPO3\CMS\Core\SingletonInterface {
                        $mandatoryAttributes = $element->getMandatoryAttributes();
                        foreach ($attributes as $attribute => $value) {
                                if (isset($arguments[$attribute]) || isset($arguments[$attribute . '.']) || in_array($attribute, $mandatoryAttributes) || !empty($value)) {
-                                       if (!empty($arguments[$attribute])) {
+                                       if ($arguments[$attribute] !== '') {
                                                $value = $arguments[$attribute];
                                        } elseif (!empty($arguments[($attribute . '.')])) {
                                                $value = $arguments[$attribute . '.'];
index d21de46..51ffd3b 100644 (file)
@@ -236,7 +236,7 @@ abstract class AbstractElementView {
                foreach ($attributes as $key => $attribute) {
                        if (!empty($attribute)) {
                                $value = $attribute->getValue();
-                               if (!empty($value)) {
+                               if ($value !== '') {
                                        $domElement->setAttribute($key, $value);
                                }
                        }
index 3c4bd3f..ee9a17a 100644 (file)
@@ -288,7 +288,7 @@ abstract class AbstractElementView {
                foreach ($attributes as $key => $attribute) {
                        if (!empty($attribute)) {
                                $value = htmlspecialchars($attribute->getValue(), ENT_QUOTES);
-                               if (!empty($value)) {
+                               if ($value !== '') {
                                        $domElement->setAttribute($key, $value);
                                }
                        }
@@ -304,7 +304,7 @@ abstract class AbstractElementView {
         */
        public function setAttribute(\DOMElement $domElement, $key) {
                $value = htmlspecialchars($this->model->getAttributeValue((string) $key), ENT_QUOTES);
-               if (!empty($value)) {
+               if ($value !== '') {
                        $domElement->setAttribute($key, $value);
                }
        }
@@ -320,7 +320,7 @@ abstract class AbstractElementView {
         */
        public function setAttributeWithValueofOtherAttribute(\DOMElement $domElement, $key, $other) {
                $value = htmlspecialchars($this->model->getAttributeValue((string) $other), ENT_QUOTES);
-               if (!empty($value)) {
+               if ($value !== '') {
                        $domElement->setAttribute($key, $value);
                }
        }
index 97aba51..b94a2de 100644 (file)
@@ -234,7 +234,7 @@ abstract class AbstractElementView {
                foreach ($attributes as $key => $attribute) {
                        if (!empty($attribute)) {
                                $value = htmlspecialchars($attribute->getValue(), ENT_QUOTES);
-                               if (!empty($value)) {
+                               if ($value !== '') {
                                        $domElement->setAttribute($key, $value);
                                }
                        }
@@ -250,7 +250,7 @@ abstract class AbstractElementView {
         */
        public function setAttribute(\DOMElement $domElement, $key) {
                $value = htmlspecialchars($this->model->getAttributeValue((string) $key), ENT_QUOTES);
-               if (!empty($value)) {
+               if ($value !== '') {
                        $domElement->setAttribute($key, $value);
                }
        }
@@ -266,7 +266,7 @@ abstract class AbstractElementView {
         */
        public function setAttributeWithValueofOtherAttribute(\DOMElement $domElement, $key, $other) {
                $value = htmlspecialchars($this->model->getAttributeValue((string) $other), ENT_QUOTES);
-               if (!empty($value)) {
+               if ($value !== '') {
                        $domElement->setAttribute($key, $value);
                }
        }