diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 42192eefb..48a58ca99 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -5,8 +5,24 @@ namespace Oxbow\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Routing\Controller as BaseController; use Illuminate\Foundation\Validation\ValidatesRequests; +use Illuminate\Support\Facades\Auth; +use Oxbow\User; abstract class Controller extends BaseController { use DispatchesJobs, ValidatesRequests; + + /** + * Controller constructor. + */ + public function __construct() + { + view()->share('signedIn', Auth::check()); + $user = Auth::user(); + if(!$user) { + $user = User::getDefault(); + } + view()->share('user', $user); + } + } diff --git a/app/User.php b/app/User.php index 731b792f5..c7f547aad 100644 --- a/app/User.php +++ b/app/User.php @@ -33,6 +33,17 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon */ protected $hidden = ['password', 'remember_token']; + /** + * Returns a default guest user. + */ + public static function getDefault() + { + return new static([ + 'email' => 'guest', + 'name' => 'Guest' + ]); + } + /** * Returns the user's avatar, * Uses Gravatar as the avatar service.