プロジェクト

全般

プロフィール

ticket-1182.patch

Rimpei Ogawa, 2011-08-04 21:05

ダウンロード (1.78 KB)

差分を表示:

lib/user/opSecurityUser.class.php
70 70
    }
71 71

  
72 72
    $result = Doctrine::getTable('Member')->find($this->getMemberId());
73
    if ($result)
73
    if ($result && $result->getIsActive())
74 74
    {
75 75
      $this->serializedMember = serialize($result);
76 76
    }
......
300 300
  */
301 301
  public function initializeCredentials()
302 302
  {
303
    $memberId = $this->getMemberId();
303
    opActivateBehavior::disable();
304
    $member = $this->getMember();
305
    opActivateBehavior::enable();
304 306

  
305
    $isSNSMember = $this->isSNSMember();
306
    if ($isSNSMember)
307
    if (!$member || $member instanceof opAnonymousMember || $member->getIsLoginRejected())
307 308
    {
308
      if ($this->getMember()->getIsLoginRejected())
309
      {
310
        $isSNSMember = false;
311
      }
309
      $this->logout();
310
      $isSNSMember = false;
311
    }
312
    else
313
    {
314
      $isSNSMember = (bool)$member->getIsActive();
312 315
    }
313 316

  
314
    // for BC
315 317
    $this->setIsSNSMember($isSNSMember);
316 318
    if ($isSNSMember)
317 319
    {
318
      $this->getMember()->updateLastLoginTime();
320
      $member->updateLastLoginTime();
319 321
    }
320 322
  }
321 323

  
......
348 350

  
349 351
  public function setIsSNSMember($isSNSMember)
350 352
  {
353
    $this->setAuthenticated($isSNSMember);
354

  
355
    // for BC
351 356
    if ($isSNSMember)
352 357
    {
353
      $this->setAuthenticated(true);
354 358
      $this->addCredential('SNSMember');
355 359
    }
356
    else
357
    {
358
      // Set authenticated is false and remove credencials.
359
      $this->setAuthenticated(false);
360
    }
361 360
  }
362 361

  
363 362
  public function setIsSNSRegisterBegin($isSNSRegisterBegin)