Bug(バグ) #3546
Maki Takahashi が約10年前に更新
h3. Overview (現象)
* https://github.com/martini2002jp/opMessagePlugin/pull/2
* http://sns.openpne.jp/classic/communityTopic/8687
より
DeletedMessage::getSendFromOrTo()がnullを返した場合、op_message_link_to_memberヘルパー使用部分で以下のエラーが発生する。
<pre>
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
</pre>
コミュニティトピックで報告されているのはゴミ箱(リスト)だが、ゴミ箱内の該当のメッセージを表示しても同じくエラーになると思われます。
また、「DeletedMessage::getSendFromOrTo()がnullを返した場合」とは
DeletedMessageのmessage_id、message_send_list_idともに0で登録されている場合に発生しますが DeletedMessageのmessage_id、message_send_list_idともに空欄で登録されている場合に発生しますが
通常の操作ではどちらかに関連するidが入るはずなので、
コミュニティトピックでの報告にあるように2系からのアップグレード時に上記の様なデータが作成されてしまったのではないかと思われます。
(が、こちらについては本チケットの対象から外します)
h3. 再現方法
# 任意のメッセージを削除する
# 削除したメッセージ(DeletedMessage)のmessage_id、message_send_list_idを共に0とする(どちらかは既に0となっているはず)
# ゴミ箱にアクセスする
h3. Causes (原因)
op_message_link_to_memberにタイプヒンティングを利用しているが、上記のようにsfOutputEscaperではなくnullが来ると
タイプヒントの指定を満たしていないエラーが発生してしまう。
h3. Way to fix (修正内容)
https://github.com/martini2002jp/opMessagePlugin/pull/2 の修正にあるように
デフォルトパラメータとしてnullを使用する
* https://github.com/martini2002jp/opMessagePlugin/pull/2
* http://sns.openpne.jp/classic/communityTopic/8687
より
DeletedMessage::getSendFromOrTo()がnullを返した場合、op_message_link_to_memberヘルパー使用部分で以下のエラーが発生する。
<pre>
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
</pre>
コミュニティトピックで報告されているのはゴミ箱(リスト)だが、ゴミ箱内の該当のメッセージを表示しても同じくエラーになると思われます。
また、「DeletedMessage::getSendFromOrTo()がnullを返した場合」とは
DeletedMessageのmessage_id、message_send_list_idともに0で登録されている場合に発生しますが DeletedMessageのmessage_id、message_send_list_idともに空欄で登録されている場合に発生しますが
通常の操作ではどちらかに関連するidが入るはずなので、
コミュニティトピックでの報告にあるように2系からのアップグレード時に上記の様なデータが作成されてしまったのではないかと思われます。
(が、こちらについては本チケットの対象から外します)
h3. 再現方法
# 任意のメッセージを削除する
# 削除したメッセージ(DeletedMessage)のmessage_id、message_send_list_idを共に0とする(どちらかは既に0となっているはず)
# ゴミ箱にアクセスする
h3. Causes (原因)
op_message_link_to_memberにタイプヒンティングを利用しているが、上記のようにsfOutputEscaperではなくnullが来ると
タイプヒントの指定を満たしていないエラーが発生してしまう。
h3. Way to fix (修正内容)
https://github.com/martini2002jp/opMessagePlugin/pull/2 の修正にあるように
デフォルトパラメータとしてnullを使用する