Dan Brown

Added some user/view helper methods

...@@ -5,8 +5,24 @@ namespace Oxbow\Http\Controllers; ...@@ -5,8 +5,24 @@ namespace Oxbow\Http\Controllers;
5 use Illuminate\Foundation\Bus\DispatchesJobs; 5 use Illuminate\Foundation\Bus\DispatchesJobs;
6 use Illuminate\Routing\Controller as BaseController; 6 use Illuminate\Routing\Controller as BaseController;
7 use Illuminate\Foundation\Validation\ValidatesRequests; 7 use Illuminate\Foundation\Validation\ValidatesRequests;
8 +use Illuminate\Support\Facades\Auth;
9 +use Oxbow\User;
8 10
9 abstract class Controller extends BaseController 11 abstract class Controller extends BaseController
10 { 12 {
11 use DispatchesJobs, ValidatesRequests; 13 use DispatchesJobs, ValidatesRequests;
14 +
15 + /**
16 + * Controller constructor.
17 + */
18 + public function __construct()
19 + {
20 + view()->share('signedIn', Auth::check());
21 + $user = Auth::user();
22 + if(!$user) {
23 + $user = User::getDefault();
24 + }
25 + view()->share('user', $user);
26 + }
27 +
12 } 28 }
......
...@@ -34,6 +34,17 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon ...@@ -34,6 +34,17 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
34 protected $hidden = ['password', 'remember_token']; 34 protected $hidden = ['password', 'remember_token'];
35 35
36 /** 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 + /**
37 * Returns the user's avatar, 48 * Returns the user's avatar,
38 * Uses Gravatar as the avatar service. 49 * Uses Gravatar as the avatar service.
39 * @param int $size 50 * @param int $size
......