プロジェクト

全般

プロフィール

Bug(バグ) #3506

申請系のメッセージをPCで表示すると二重にHTMLエスケープされる

Rimpei Ogawa10年以上前に追加. 7年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2013-11-29
期日:
進捗率:

100%

3.6 で発生するか:
Yes (はい)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Yes (はい)

説明

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 エスケープされないよう修正するのがよいと思われる。


関連するチケット

関連している opMessagePlugin - Enhancement(機能追加・改善) #2646: 携帯版、申請メッセージ:受信メッセージから 許可/不許可 の導線がない New(新規) 2011-12-01
関連している opMessagePlugin - Backport(バックポート) #3549: 申請系のメッセージをPCで表示すると二重にHTMLエスケープされる Pending Testing(テスト待ち) 2013-11-29

関係しているリビジョン

リビジョン f96898ea (差分)
Rimpei Ogawa10年以上前に追加

fix double escaping of decorated messages (refs #3506)

履歴

#1 Rimpei Ogawa10年以上前に更新

https://github.com/martini2002jp/opMessagePlugin/pull/3 でプルリクエスト送信しました。

#2 Maki Takahashi約10年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Maki Takahashi にセット
  • 対象バージョン2.0.0 にセット
  • 3.6 で発生するかUnknown (未調査) から Yes (はい) に変更
  • 3.8 で発生するかUnknown (未調査) から Yes (はい) に変更

#3 Maki Takahashi約10年前に更新

  • ステータスAccepted(着手) から Pending Testing(テスト待ち) に変更
  • 進捗率0 から 70 に変更

f96898ea にて取り込みしました。
レビュー済みです。

#4 kaoru nほぼ10年前に更新

  • 対象バージョン2.0.0 から 2.0.0.2 alpha 2 に変更

#5 Shinichi Urabe7年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

他の形式にエクスポート: Atom PDF