]> BookStack Code Mirror - bookstack/blob - app/User.php
c7f547aadf502f9ed272fd2d13c1a87fff398369
[bookstack] / app / User.php
1 <?php
2
3 namespace Oxbow;
4
5 use Illuminate\Auth\Authenticatable;
6 use Illuminate\Database\Eloquent\Model;
7 use Illuminate\Auth\Passwords\CanResetPassword;
8 use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
9 use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
10
11 class User extends Model implements AuthenticatableContract, CanResetPasswordContract
12 {
13     use Authenticatable, CanResetPassword;
14
15     /**
16      * The database table used by the model.
17      *
18      * @var string
19      */
20     protected $table = 'users';
21
22     /**
23      * The attributes that are mass assignable.
24      *
25      * @var array
26      */
27     protected $fillable = ['name', 'email'];
28
29     /**
30      * The attributes excluded from the model's JSON form.
31      *
32      * @var array
33      */
34     protected $hidden = ['password', 'remember_token'];
35
36     /**
37      * Returns a default guest user.
38      */
39     public static function getDefault()
40     {
41         return new static([
42             'email' => 'guest',
43             'name' => 'Guest'
44         ]);
45     }
46
47     /**
48      * Returns the user's avatar,
49      * Uses Gravatar as the avatar service.
50      * @param int $size
51      * @return string
52      */
53     public function getAvatar($size = 50)
54     {
55         $emailHash = md5(strtolower(trim($this->email)));
56         return '//www.gravatar.com/avatar/' . $emailHash . '?s=' . $size . '&d=identicon';
57     }
58 }