Bug(バグ) #680
OpenPNE3.0.6-devで認証系のプラグインの設定を変更するとFatal errorが発生する
100%
説明
現象¶
OpenPNE3.0.6-devで認証系のプラグイン(opAuthOpenIDPluginやopAuthMailAddressPluginなど)の設定を変更するとFatal errorが発生する。
再現環境¶
- 手嶋屋開発環境
- OpenPNE3.0.6-dev
- Firefox3.5.7にて確認
再現手順¶
管理画面のプラグイン設定で認証系のプラグインの設定を変更する
原因¶
3.0.x で利用している ORM は Propel であるが、 eefe6cceb874292d0c22eb4610dbf44ebfd831e5 の修正で、 3.1.x 以降で利用している ORM である Doctrine のクラス向けの変更を適用してしまっていた。
Doctrine において Propel でいう SnsConfigPeer にあたるものは SnsConfigTable だが、これは Propel とは違い常にクラスインスタンスが利用される(Propel の場合はクラスインスタンスではなく、通常は直接クラスメソッドが使われる)。そのため、 Doctrine においては SnsConfigTable::set() はインスタンスメソッドとしてコールされるために $this 変数が利用されていた。しかし Propel の場合は SnsConfigPeer::set() はクラスメソッドになるため、 $this を利用することは文法違反になる。
修正内容¶
Propel 向けのコードになるように、 SnsConfigPeer::$config へのアクセス方法を $this->config から self::$config に変更した。
関係しているリビジョン
fixed that there is Doctrine style code in the SnsConfigPeer (fixes #680)
履歴
#1 Kousuke Ebihara が約14年前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Kousuke Ebihara にセット
- 対象バージョン を OpenPNE 3.0.6 にセット
#2 Kousuke Ebihara が約14年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴commit:"b88adffa34da7155563dbb4dbdcadf87946e4efb"で適用されました。
#3 Kousuke Ebihara が約14年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
#4 Mutsumi Imamura が約14年前に更新
- 期日 を 2010-02-18 にセット
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 50 から 100 に変更
動作確認しました。認証系プラグインの設定変更が出来ることを確認しました