Project

General

Profile

Bug(バグ) #680

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

Added by Mutsumi Imamura over 12 years ago. Updated over 12 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Target version:
Start date:
2010-02-18
Due date:
2010-02-18
% Done:

100%

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

Description

現象

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

Associated revisions

Revision b88adffa (diff)
Added by Kousuke Ebihara over 12 years ago

fixed that there is Doctrine style code in the SnsConfigPeer (fixes #680)

History

#1 Updated by Kousuke Ebihara over 12 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Assignee set to Kousuke Ebihara
  • Target version set to OpenPNE 3.0.6

#2 Updated by Kousuke Ebihara over 12 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

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

#3 Updated by Kousuke Ebihara over 12 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)

#4 Updated by Mutsumi Imamura over 12 years ago

  • Due date set to 2010-02-18
  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 50 to 100

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

Also available in: Atom PDF