プロジェクト

全般

プロフィール

Bug(バグ) #3511

未完了

opAdaptableUser 内で定義されていないメソッド getMemberId() が用いられている

Yuya Watanabe さんがほぼ11年前に追加. ほぼ5年前に更新.

ステータス:
New(新規)
優先度:
Low(低め)
担当者:
-
対象バージョン:
開始日:
2013-12-04
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

概要

opAdaptableUser 内で定義されていないメソッド getMemberId() が用いられている

具体的には下記 31 行目に該当する.

lib/user/opAdaptableUser.class.php
 28   public function initialize(sfEventDispatcher $dispatcher, sfStorage $storage, $options = array())
 29   {
 30     parent::initialize($dispatcher, $storage, $options);
 31     if ($this->getMemberId() && $this->isTimedOut())
 32     {
 33       $this->getAttributeHolder()->removeNamespace('opSecurityUser');
 34     }

この opAdaptableUser の継承関係としては以下の形になるがどのクラスにも getMemberId() が定義されていない.

opAdaptableUser > opBaseSecurityUser > sfBasicSecurityUser > sfUser

sfUser では __call() が定義されているが user.method_not_found イベントに connect されているものは sfImageHandler のみであり $event->getReturnValue() が返ってくることがないように見える.このあたりが正しい認識か不明なため,問題とならないのであればクローズしてもらって構いません.

$ git grep user.method_not_found
lib/plugins/sfImageHandlerPlugin/config/config.php:$this->dispatcher->connect('user.method_not_found', array('sfImageHandlerUser', 'listenToMethodNotFound'));
lib/vendor/symfony/lib/user/sfUser.class.php:    $event = $this->dispatcher->notifyUntil(new sfEvent($this, 'user.method_not_found', array('method' => $method, 'arguments' => $arguments)));

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