プロジェクト

全般

プロフィール

Bug(バグ) #3511

Yuya Watanabe さんがほぼ11年前に更新

h3. 概要 

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

 具体的には下記 31 行目に該当する. 
 <pre> 
 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       } 
 </pre> 

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

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

戻る