isAdministrator; } public function validToken($token) { return UserToken::where('userId', $this->id)->where('token', $token)->where('valid_till', '>', date("Y-m-d H:i:s"))->count() > 0; } public function findPasswordReminders($token = null) { $base = PasswordReminder ::where('userId', $this->id) ->where('used_at', null) ->where('valid_till', '>', date('Y-m-d H:i:s')); if ($token == null) { return $base->get(); } else { return $base->where('token', $token)->get(); } } /** * Get the unique identifier for the user. * * @return mixed */ public function getAuthIdentifier() { return $this->getKey(); } /** * Get the password for the user. * @todo not implemented yet * @return string */ public function getAuthPassword() { return $this->password; } /** * Get the token value for the "remember me" session. * @todo not implemented yet * @return string */ public function getRememberToken() { return null; } /** * Set the token value for the "remember me" session. * @todo not implemented yet * @param string $value * @return void */ public function setRememberToken($value) { return null; } /** * Get the column name for the "remember me" token. * @todo not implemented yet * @return string */ public function getRememberTokenName() { return null; } /** * Get the e-mail address where password reset links are sent. * * @return string */ public function getEmailForPasswordReset() { return $this->email; } public function setEmailAttribute($email) { $rules = [ 'email' => ['required', 'email', 'unique:' . $this->table] ]; $validator = Validator::make(['email' => $email], $rules); if ($validator->fails()) { throw new ValidationException('Invalid input', $validator->errors()); } $this->attributes['email'] = $email; } public function setPasswordAttribute($password) { $rules = [ 'password' => ['required', 'min:7'] ]; $validator = Validator::make(['password' => $password], $rules); if ($validator->fails()) { throw new ValidationException('Invalid input', $validator->errors()); } $this->attributes['password'] = Hash::make($password); } }