/** * Constructor * * @param int $userId */ public function __construct($userId) { $contactObj = new UserModel(); $paramArr = array('user_id', 'firstname', 'lastname', 'login', 'is_admin'); $params = $contactObj->getParameters($userId, $paramArr); if (!is_array($params) || !count($params)) { throw new Exception('Unknown user id'); } $this->id = $params['user_id']; $this->name = $params['firstname'] . ' ' . $params['lastname']; $this->login = $params['login']; $this->admin = $params['is_admin']; $this->timezone = $this->getTimezone(); }
/** * * @param string $login * @param string $password * @return boolean */ public static function checkPassword($login, $password) { $loginResult = false; $userId = User::getIdByParameter('login', array($login)); if (is_array($userId) && count($userId) > 0) { $user = User::getParameters($userId[0], array('password')); $explodedStoredPassword = explode('::', $user['password']); $hashedPassword = hash_pbkdf2('sha256', $password, $explodedStoredPassword[0], $explodedStoredPassword[1], 183); if ($explodedStoredPassword[2] === $hashedPassword) { $loginResult = true; } } return $loginResult; }
public function testGetColumns() { $this->assertEquals(array('user_id', 'login', 'password', 'is_admin', 'is_locked', 'is_activated', 'is_password_old', 'language_id', 'timezone_id', 'contact_id', 'createdat', 'updatedat', 'firstname', 'lastname', 'auth_type', 'autologin_key'), User::getColumns()); }