Commit 2aa8fc71 by Alexander Makarov

Optimized #1959 code a bit

parent cbb39d19
......@@ -27,6 +27,7 @@ Yii Framework 2 Change Log
- Bug #1827: Debugger toolbar is loaded twice if an action is calling `run()` to execute another action (qiangxue)
- Bug #1870: Validation errors weren't properly translated when using clientside validation (samdark)
- Bug #1937: Fixed wrong behavior or advanced app's `init --env` when called without parameter actually specified (samdark)
- Bug #1959: `Html::activeCheckbox` wasn't respecting custom values for checked/unckecked state (klevron, samdark)
- Bug #1965: `Controller::findLayoutFile()` returns incorrect file path when layout name starts with a slash (qiangxue)
- Bug: Fixed `Call to a member function registerAssetFiles() on a non-object` in case of wrong `sourcePath` for an asset bundle (samdark)
- Bug: Fixed incorrect event name for `yii\jui\Spinner` (samdark)
......
......@@ -1161,15 +1161,14 @@ class BaseHtml
public static function activeCheckbox($model, $attribute, $options = [])
{
$name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute);
$checked = static::getAttributeValue($model, $attribute);
if (array_key_exists('value', $options)) {
$checked = static::getAttributeValue($model, $attribute)===$options['value'];
}
$value = static::getAttributeValue($model, $attribute);
if (!array_key_exists('uncheck', $options)) {
$options['uncheck'] = '0';
} elseif (static::getAttributeValue($model, $attribute)===$options['uncheck']) {
$checked = false;
}
$checked = ($value !== $options['uncheck']);
if (!array_key_exists('id', $options)) {
$options['id'] = static::getInputId($model, $attribute);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment