Skip to content

Commit

Permalink
Adds ability for the user to choose if they want to double encode ent…
Browse files Browse the repository at this point in the history
…ities within textareas or not when using ActiveForm. Applies enhancement from yiisoft#12988.
  • Loading branch information
Brett authored and SilverFire committed Nov 28, 2016
1 parent 457e924 commit 10ad620
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
1 change: 1 addition & 0 deletions framework/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Yii Framework 2 Change Log
- Enh #12901: Added `getDefaultHelpHeader` method to the `yii\console\controllers\HelpController` class to be able to override default help header in a class heir (diezztsk)
- Enh #13035: Use ArrayHelper::getValue() in SluggableBehavior::getValue() (thyseus)
- Enh #13020: Added `disabledListItemSubTagOptions` attribute for `yii\widgets\LinkPager` in order to customize the disabled list item sub tag element (nadar)
- Enh #12988: Changed `textarea` method within the `yii\helpers\BaseHtml` class to allow users to control whether html entities found within `$value` will be double-encoded or not (cyphix333)
- Enh: Added constants for specifying `yii\validators\CompareValidator::$type` (cebe)


Expand Down
9 changes: 8 additions & 1 deletion framework/helpers/BaseHtml.php
Original file line number Diff line number Diff line change
Expand Up @@ -660,12 +660,19 @@ public static function fileInput($name, $value = null, $options = [])
* the attributes of the resulting tag. The values will be HTML-encoded using [[encode()]].
* If a value is null, the corresponding attribute will not be rendered.
* See [[renderTagAttributes()]] for details on how attributes are being rendered.
* The following special options are recognized:
*
* - `doubleEncode`: whether to double encode HTML entities in `$value`. If `false`, HTML entities in `$value` will not
* be further encoded. This option is available since version 2.0.11.
*
* @return string the generated text area tag
*/
public static function textarea($name, $value = '', $options = [])
{
$options['name'] = $name;
return static::tag('textarea', static::encode($value), $options);
// Get value, then remove from array - not needed for `renderTagAttributes` called inside the `tag` method
$doubleEncode = ArrayHelper::remove($options, 'doubleEncode', true);
return static::tag('textarea', static::encode($value, $doubleEncode), $options);
}

/**
Expand Down

0 comments on commit 10ad620

Please sign in to comment.