Browse Source

Optimized #1959 code a bit

tags/2.0.0-beta
Alexander Makarov 11 years ago
parent
commit
2aa8fc7171
  1. 1
      framework/CHANGELOG.md
  2. 11
      framework/helpers/BaseHtml.php

1
framework/CHANGELOG.md

@ -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)

11
framework/helpers/BaseHtml.php

@ -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);
}

Loading…
Cancel
Save