Bug(バグ) #2497
openopWidgetFormRichTextareaを利用するフォームにおいてHTML特殊文字を実体参照で入力すると変換されてしまう
0%
Description
Overview (現象)¶
opWidgetFormRichTextareaおよび、opWidgetFormRichTextareaを継承するwidgetを利用するフォームにおいて
HTML特殊文字(例:©)を実体参照( ©
)で入力すると変換されてしまう。
Causes (原因)¶
sfWidget::escapeOnce() から呼ばれる sfWidget::fixDoubleEscape() が原因。
static public function escapeOnce($value) { return self::fixDoubleEscape(htmlspecialchars((string) $value, ENT_QUOTES, self::getCharset())); } static public function fixDoubleEscape($escaped) { return preg_replace('/&([a-z]+|(#\d+)|(#x[\da-f]+));/i', '&$1;', $escaped); }
確認バージョン¶
OpenPNE 3.7.0-dev (master)
OpenPNE 3.6.1 (stable-3.6.x)
OpenPNE 3.4.17 (stable-3.4.x)
Updated by Yuya Watanabe about 13 years ago
詳しく調査していませんが, #2407 の現象と類似していると思ったので関連するチケットに追加しておきます.
Updated by Maki Takahashi about 13 years ago
- Description updated (diff)
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Maki Takahashi
Updated by Maki Takahashi about 13 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 8760ae3a9ec1addd11e40fac698c1c89cb2e5832 で適用されました。
Updated by Maki Takahashi about 13 years ago
_partsForm.phpを使わない管理画面では変換されないようになりますが、_partsForm.phpを利用しているfrontend側は修正されません。
Updated by Shouta Kashiwagi over 12 years ago
- Target version changed from OpenPNE 3.7.0 to 252
Updated by Shouta Kashiwagi over 12 years ago
- Target version changed from 252 to OpenPNE 3.8.x
Updated by Shinichi Urabe over 10 years ago
- Target version changed from OpenPNE 3.8.x to OpenPNE 3.8.12
- 3.6 で発生するか set to Unknown (未調査)
- 3.8 で発生するか set to Unknown (未調査)
Updated by 誠二 天重 over 10 years ago
- Copied to Backport(バックポート) #3641: opWidgetFormRichTextareaを利用するフォームにおいてHTML特殊文字を実体参照で入力すると変換されてしまう added
Updated by 誠二 天重 over 10 years ago
- Target version changed from OpenPNE 3.8.12 to OpenPNE 3.8.x
Updated by isao sano over 10 years ago
- Copied to Backport(バックポート) #3665: opWidgetFormRichTextareaを利用するフォームにおいてHTML特殊文字を実体参照で入力すると変換されてしまう added
Updated by Shinichi Urabe over 10 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
PHPDoc の説明を日本語で書いている箇所がコア側に関して今回追加された箇所以外、一部ありますが、他は見当たらないです.
MemberConfigForm にも存在しますが、、、
統一させるためにも他とあわせておいた方がよいかと思います
$ ag "\* [\x20-\x7e]+?[^\x01-\x7E]+?" --ignore-dir=vendor --ignore-dir=web --ignore-dir=plugins -l |grep php$ lib/form/doctrine/MemberConfigForm.class.php lib/widget/opWidgetFormRichTextarea.class.php test/unit/helper/opUtilHelperTest.php
Updated by Shinichi Urabe over 10 years ago
- Target version changed from OpenPNE 3.8.x to OpenPNE 3.9.0-old
Updated by Maki Takahashi over 10 years ago
- Status changed from Rejected(差し戻し) to Accepted(着手)
- % Done changed from 50 to 0
Updated by Maki Takahashi over 10 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
https://github.com/openpne/OpenPNE3/pull/178 にて
説明を英語に書き換えプルリクエストしました。
MemberConfigFormも高橋の仕業のようです…
Updated by Shinichi Urabe over 10 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
レビューOKです
Updated by Shinichi Urabe over 10 years ago
- Status changed from Pending Testing(テスト待ち) to Pending Fixing(修正待ち)
- Assignee deleted (
Maki Takahashi) - % Done changed from 70 to 0
本件について、opWidgetFormRichTextarea 限定で発生する問題ではなく、他の widget においても起こりえる問題
opWidgetFormRichTextarea について限定しているのであれば、修正内容は問題無いが、
他の widget の挙動についてもあわせて対応方針を検討した方がよいかと考えられる
一旦、取り込みは保留とします
Updated by isao sano over 7 years ago
- Target version changed from OpenPNE 3.9.0-old to OpenPNE 3.9.0
Updated by kaoru n almost 5 years ago
- Target version changed from OpenPNE 3.9.0 to OpenPNE 3.10.x