Bug(バグ) #3506
申請系のメッセージをPCで表示すると二重にHTMLエスケープされる
Start date:
2013-11-29
Due date:
% Done:
100%
3.6 で発生するか:
Yes (はい)
[QA]バグ通知済:
No
3.8 で発生するか:
Yes (はい)
Description
Overview (現象)¶
申請系のメッセージをPC版の message/show アクションで表示すると、変数部分のメッセージ内容、メンバーのニックネーム、コミュニティ名などが二重にHTMLエスケープされた状態で出力される。
携帯版では decorate なしで body がそのまま出力される実装になっているため影響はない。
対象
- コミュニティ管理者交代申請 decorateCommunityTakingOverBody
- コミュニティ副管理者交代申請 decorateCommunitySubAdminRequestBody
- コミュニティ参加申請 decorateCommunityJoiningRequestBody
- フレンド申請 decorateFriendLinkBody
Causes (原因)¶
申請系のメッセージ表示時に opMessageSender::decorateBySpecifiedTemplate() 経由で取得したメッセージ本文は sfView を利用しており変数が自動的に HTML エスケープされた状態となるが、この文字列は message/showSuccess のテンプレート表示でさらに HTML エスケープ処理されるため二重にエスケープされてしまう。
Way to fix (修正内容)¶
PluginSendMessageData::getDecoratedMessageBody() が返す文字列は message type が 'message' の場合の処理をみる限り HTML ではないことを想定していると考えられるため、opMessageSender::decorateBySpecifiedTemplate() で HTML エスケープされないよう修正するのがよいと思われる。
Related issues
Associated revisions
fix double escaping of decorated messages (refs #3506)
History
#1 Updated by Rimpei Ogawa almost 11 years ago
https://github.com/martini2002jp/opMessagePlugin/pull/3 でプルリクエスト送信しました。
#2 Updated by Maki Takahashi over 10 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Maki Takahashi
- Target version set to 2.0.0
- 3.6 で発生するか changed from Unknown (未調査) to Yes (はい)
- 3.8 で発生するか changed from Unknown (未調査) to Yes (はい)
#3 Updated by Maki Takahashi over 10 years ago
- Status changed from Accepted(着手) to Pending Testing(テスト待ち)
- % Done changed from 0 to 70
f96898ea にて取り込みしました。
レビュー済みです。
#4 Updated by kaoru n over 10 years ago
- Target version changed from 2.0.0 to 2.0.0.2 alpha 2
#5 Updated by Shinichi Urabe almost 8 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100