プロジェクト

全般

プロフィール

Backport(バックポート) #3555

DeletedMessage::getSendFromOrTo()がnullを返した場合、op_message_link_to_memberでエラーが発生する

Maki Takahashi約10年前に追加. 約10年前に更新.

ステータス:
Pending Testing(テスト待ち)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2014-02-06
期日:
進捗率:

70%


説明

Overview (現象)

DeletedMessage::getSendFromOrTo()がnullを返した場合、op_message_link_to_memberヘルパー使用部分で以下のエラーが発生する。

Catchable fatal error: Argument 1 passed to op_message_link_to_member() must be an instance of sfOutputEscaper, null given, called in /home/xxxx/openpne/plugins/opMessagePlugin/apps/pc_frontend/modules/message/templates/listSuccess.php on line 135 and defined in /home/xxxx/openpne/plugins/opMessagePlugin/lib/helper/opMessageHelper.php on line 19

また、「DeletedMessage::getSendFromOrTo()がnullを返した場合」とは
DeletedMessageのmessage_id、message_send_list_idともに0で登録されている場合に発生しますが
通常の操作ではどちらかに関連するidが入るはずなので、
コミュニティトピックでの報告にあるように2系からのアップグレード時に上記の様なデータが作成されてしまったのではないかと思われます。
(が、こちらについては本チケットの対象から外します)

再現方法

  1. 任意のメッセージを削除する
  2. 削除したメッセージ(DeletedMessage)のmessage_id、message_send_list_idを共に0とする(どちらかは既に0となっているはず)
  3. ゴミ箱にアクセスする

Causes (原因)

op_message_link_to_memberにタイプヒンティングを利用しているが、上記のようにsfOutputEscaperではなくnullが来ると
タイプヒントの指定を満たしていないエラーが発生してしまう。

Way to fix (修正内容)

https://github.com/martini2002jp/opMessagePlugin/pull/2 の修正にあるように
デフォルトパラメータとしてnullを使用する


関連するチケット

コピー元 opMessagePlugin - Bug(バグ) #3546: DeletedMessage::getSendFromOrTo()がnullを返した場合、op_message_link_to_memberでエラーが発生する Fixed(完了) 2014-01-24

履歴

#1 Maki Takahashi約10年前に更新

  • コピー元 Bug(バグ) #3546: DeletedMessage::getSendFromOrTo()がnullを返した場合、op_message_link_to_memberでエラーが発生する を追加

#2 Maki Takahashi約10年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更

#3 Maki Takahashi約10年前に更新

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

a6a2e803 にてcherry-pickしました。
(今度はコミットメッセージが切れちゃってました…)

BP元チケットにてレビュー済みです

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