diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index ed1d6d29..a44b50c7 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -12,7 +12,7 @@ class HomeController extends Controller { public function index(UserRepository $users, Request $request) { - return view('index')->with('user', $users->get(session('uid'))); + return view('index')->with('user', $users->getCurrentUser()); } public function locale($lang, Request $request) diff --git a/app/Services/Repositories/UserRepository.php b/app/Services/Repositories/UserRepository.php index e417cd82..d6799bec 100644 --- a/app/Services/Repositories/UserRepository.php +++ b/app/Services/Repositories/UserRepository.php @@ -20,7 +20,7 @@ class UserRepository extends Repository if ($type == "uid") { return Arr::has($this->items, $identification); } else { - return Arr::where((array) $this->items, function($key, $value) use ($identification, $type) { + return (bool) Arr::where((array) $this->items, function($key, $value) use ($identification, $type) { if (property_exists($value, $type)) return false; @@ -56,9 +56,20 @@ class UserRepository extends Repository $this->set($user->uid, $user); return $user; } + + return null; } - return Arr::get($this->items, $identification, null); + $result = Arr::where((array) $this->items, function($key, $value) use ($identification, $type) { + if (property_exists($value, $type)) + return false; + + return ($value->$type == $identification); + }); + + // return first element + reset($result); + return current($result); } public function getCurrentUser()