Ejemplo n.º 1
0
 public function testCountForUser()
 {
     $dates = array(date('Y-m-d H:i:s', strtotime('-3 minute')), date('Y-m-d H:i:s', strtotime('-2 minute')), date('Y-m-d H:i:s', strtotime('-1 minute')));
     Helper::dbFixture(UsersLogin::LoginAttemptsTable, array(array('host' => ip2long(self::SecondIpFixture), 'date' => $dates[0], 'status' => LoginAttempt::SuccessStatus, 'user_id' => 1), array('host' => ip2long(self::FirstIpFixture), 'date' => $dates[1], 'status' => LoginAttempt::FailStatus, 'user_id' => 1), array('host' => ip2long(self::FirstIpFixture), 'date' => $dates[2], 'status' => LoginAttempt::FailStatus, 'user_id' => 1)));
     UsersLogin::login(self::Login, self::Password);
     $user = UsersLogin::getCurrentSession();
     $info = new LoginInfo();
     $info->countForUser($user);
     $fixture = array('success' => array('ip' => self::SecondIpFixture, 'date' => $dates[0], 'method' => ''), 'fail' => array('ip' => self::FirstIpFixture, 'date' => $dates[2], 'count' => 2));
     $this->assertEquals($fixture, $info->getViewData());
 }
Ejemplo n.º 2
0
 /**
  *
  */
 protected function action()
 {
     $data = $this->userSession->getParseData();
     $skipFields = UserAccount::getPrivateFields();
     $result = array();
     $allowedFields = array('login', 'email');
     foreach ($data as $key => $row) {
         if (!in_array($key, $skipFields) || in_array($key, $allowedFields)) {
             $result[$key] = $row;
         }
     }
     //
     $result['last_activity_date'] = $this->userSession->last_activity_date->getCyrilicViewValue();
     $loginInfo = \Extasy\Users\login\LoginInfo::getFromSession();
     $result['loginAttempts'] = $loginInfo->getViewData();
     return $result;
 }
Ejemplo n.º 3
0
 /**
  *   Обновляет дату последней активности
  * @return
  */
 public function updateLastActivityDate()
 {
     $this->last_activity_date->setValue(date('Y-m-d H:i'));
     $this->update();
     \Extasy\Users\login\LoginInfo::setupSession($this);
 }
Ejemplo n.º 4
0
 public static function setupSession($user)
 {
     $info = new LoginInfo();
     $info->countForUser($user);
     $_SESSION[__CLASS__] = serialize($info);
 }