getAuthUser(); if (!$authUser) { return $this->getGuestUser(); } $userRepo = new UserRepo(); $user = $userRepo->findById($authUser['id']); /** * @var EventsManager $eventsManager */ $eventsManager = Di::getDefault()->getShared('eventsManager'); $eventsManager->fire('user:online', $this, $user); return $user; } /** * @return UserModel */ public function getLoginUser() { $authUser = $this->getAuthUser(); $validator = new AppValidator(); $validator->checkAuthUser($authUser); $userRepo = new UserRepo(); return $userRepo->findById($authUser['id']); } /** * @return UserModel */ public function getGuestUser() { $user = new UserModel(); $user->id = 0; $user->name = 'guest'; return $user; } /** * @return array|null */ public function getAuthUser() { /** * @var AuthService $auth */ $auth = Di::getDefault()->get('auth'); return $auth->getAuthInfo(); } }