From 76150c5403dd1c4ded31fc6b44cc4c45c63c8bb3 Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Wed, 19 Jun 2024 21:04:17 +0300 Subject: [PATCH] Revert "Fix #20198: Boolean values of the `value` HTML attribute are now converted to integer values" This reverts commit 0e50cee88fe7817cd23c764f16a2b1f8feb0694f. --- framework/CHANGELOG.md | 1 - framework/helpers/BaseHtml.php | 4 +--- tests/framework/helpers/HtmlTest.php | 10 ---------- 3 files changed, 1 insertion(+), 14 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 561c88adc86..6d6fa2e2e03 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -8,7 +8,6 @@ Yii Framework 2 Change Log - Bug #16116: Codeception: oci does not support enabling/disabling integrity check (@terabytesoftw) - Bug #20191: Fix `ActiveRecord::getDirtyAttributes()` for JSON columns with multi-dimensional array values (brandonkelly) - Bug #20175: Fix bad result for pagination when used with GridView (@lav45) -- Enh #20198: Boolean values of the `value` HTML attribute are now converted to integer values (@s1lver) 2.0.50 May 30, 2024 diff --git a/framework/helpers/BaseHtml.php b/framework/helpers/BaseHtml.php index e69c68929a9..ff81df22752 100644 --- a/framework/helpers/BaseHtml.php +++ b/framework/helpers/BaseHtml.php @@ -2003,10 +2003,8 @@ public static function renderTagAttributes($attributes) $html = ''; foreach ($attributes as $name => $value) { if (is_bool($value)) { - if ($value && 'value' !== $name) { + if ($value) { $html .= " $name"; - } elseif ('value' === $name) { - $html .= " $name=\"" . static::encode((int)$value) . '"'; } } elseif (is_array($value)) { if (in_array($name, static::$dataAttributes)) { diff --git a/tests/framework/helpers/HtmlTest.php b/tests/framework/helpers/HtmlTest.php index 2d499031361..24c8186181b 100644 --- a/tests/framework/helpers/HtmlTest.php +++ b/tests/framework/helpers/HtmlTest.php @@ -1231,16 +1231,6 @@ public function testRenderTagAttributes() $this->assertEquals('', Html::renderTagAttributes(['class' => []])); $this->assertEquals(' style="width: 100px; height: 200px;"', Html::renderTagAttributes(['style' => ['width' => '100px', 'height' => '200px']])); $this->assertEquals('', Html::renderTagAttributes(['style' => []])); - $this->assertEquals(' type="submit" value="1"', Html::renderTagAttributes(['type' => 'submit', 'value' => true])); - $this->assertEquals(' type="submit" value="0"', Html::renderTagAttributes(['type' => 'submit', 'value' => false])); - $this->assertEquals( - ' type="submit" value="1" disabled', - Html::renderTagAttributes(['type' => 'submit', 'value' => true, 'disabled' => true]) - ); - $this->assertEquals( - ' type="submit" value="0"', - Html::renderTagAttributes(['type' => 'submit', 'value' => false, 'disabled' => false]) - ); $attributes = [ 'data' => [