プロジェクト

全般

プロフィール

Bug(バグ) #2420

sfOpenPNEFriendAction に不要な記述が含まれている(#2190 のBP対応時のマージミス)

Shinichi Urabe12年以上前に追加. 8年以上前に更新.

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

100%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

現象

sfOpenPNEFriendAction クラスに不要なメンバ定義が含まれたままになっている。具体的な記述内容は 0df5d28e の差分を見ると分かる。

sfOpenPNEFriendAction クラスは、OpenPNE-3.5.0 時点での修正 c1072092 により opFriendAction クラスに実装が移動しており、このクラス自体は後方互換性のために残している。

<?php

/**
 * This class is for keeping backward compatibility.
 *
 * If you want to add new feature to this class, please add this to
 * the opFriendAction class, a parent class of this class.
 * And of course using this class is deprecated. You should not begin to
 * use this class, and you have to replace the code that is using this class.
 */
abstract class sfOpenPNEFriendAction extends opFriendAction
{
}

このクラスの実装は上記のように、クラスの継承のみで、メンバの定義は一切記述されていないべきである。

原因

  • (a) 1個目のコミット 2009/12/22 (OpenPNE-3.3.2) 8772766f
  • (b) 2個目のコミット 2009/12/28 (OpenPNE-3.3.2) 69a6e482
  • (c) 別のコミット 2010/03/03 (OpenPNE-3.5.0) c1072092
  • (d) 3個目のコミット 2010/12/28 (OpenPNE-3.7.0) 70cb7314

#368 のチケットでは上記の流れでコミットが行われている。

  • (a), (b) では sfOpenPNEFriendAction クラスのメソッドを修正している
  • (c) では sfOpenPNEFriendAction クラスを opFriendAction クラスに変更し、後方互換性(※)のために sfOpenPNEFriendAction クラスを残している
    • ※ 新しいバージョンにおいて、古いバージョンの仕様を前提にコードが書けること(ここでは sfOpenPNEFriendAction クラスを使えるようにしておくこと)を意味する
  • (d) では、 (c) の修正を前提に opFriendAction クラスのメソッドを修正している

つまり、 (a), (b) のコミットは (c) のコミットよりも前であることが前提となっている。

しかし #2190 では (c) のコミット後に (a), (b) をバックポートで取り込んでおり、逆に言えば (a), (b) のコミット後に (c) のコミットが無いために sfOpenPNEFriendAction クラスにメソッド定義が残っているという状況となっている。

修正内容

sfOpenPNEFriendAction クラスのメソッド定義を削除し、 opFriendAction を継承するのみの状態に戻す。おそらく #21900df5d28e, 41fbb553 を revert すればよい。

対象バージョン

OpenPNE-3.6RC1 ( stable-3.6.x ブランチ)


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #2190: Does not access error page when if requested to the invalid member in the friend link (存在しないフレンドのフレンドリンクにアクセスしてもエラーページに遷移しない。) Fixed(完了) 2011-06-10

関係しているリビジョン

履歴

#1 Mutsumi Imamura12年以上前に更新

  • 360対象3.6.0 にセット

#2 Shinichi Urabe12年以上前に更新

  • 説明 を更新 (diff)

#3 Kousuke Ebihara12年以上前に更新

  • 360対象3.6.0 から RC2 に変更

#4 Fumie Toyooka12年以上前に更新

  • 対象バージョンOpenPNE 3.6.0 から OpenPNE 3.6RC2 に変更

#5 Minoru Takai12年以上前に更新

  • 題名#2190 での 0df5d28e と 41fbb553 の処理により、sfOpenPNEFriendAction に不要なソースが混入した から sfOpenPNEFriendAction に不要な記述が含まれている(#2190 のBP対応時のマージミス) に変更
  • 説明 を更新 (diff)

この問題の原因が分かりにくいのでチケットの説明を追加します。

#6 Minoru Takai12年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Minoru Takai にセット

対応します。

#7 Minoru Takai12年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 ab0713a1f18eb1e1e8fe8139d855a34c75151d28 で適用されました。

#8 Kousuke Ebihara12年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#9 isao sano12年以上前に更新

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

テスト完了致しました。
問題ありませんので、チケットを「Fixed(完了)」に致します

#10 kaoru n8年以上前に更新

  • 3.6 で発生するかUnknown (未調査) にセット
  • 3.8 で発生するかUnknown (未調査) にセット

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