プロジェクト

全般

プロフィール

Bug(バグ) #680

完了

OpenPNE3.0.6-devで認証系のプラグインの設定を変更するとFatal errorが発生する

Mutsumi Imamura さんがほぼ15年前に追加. ほぼ15年前に更新.

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

100%

予定工数:
3.6 で発生するか:
3.8 で発生するか:

説明

現象

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 に変更した。

Kousuke Ebihara さんがほぼ15年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Kousuke Ebihara にセット
  • 対象バージョンOpenPNE 3.0.6 にセット

Kousuke Ebihara さんがほぼ15年前に更新

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

更新履歴commit:"b88adffa34da7155563dbb4dbdcadf87946e4efb"で適用されました。

Kousuke Ebihara さんがほぼ15年前に更新

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

Mutsumi Imamura さんがほぼ15年前に更新

  • 期日2010-02-18 にセット
  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

動作確認しました。認証系プラグインの設定変更が出来ることを確認しました

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