プロジェクト

全般

プロフィール

Bug(バグ) #680

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

Mutsumi Imamura約14年前に追加. 約14年前に更新.

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

100%

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

説明

現象

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

関係しているリビジョン

リビジョン b88adffa (差分)
Kousuke Ebihara約14年前に追加

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 に変更

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

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