getUser(); $userSpaces = []; if ($userModel) { if ($userModel->isCommunityModerator()) { $userSpaces = BaseSpace::orderBy('title', 'ASC') ->get(); } else { $userSpaces = BaseSpace::orderBy('title', 'ASC') ->whereHas('members', function ($q) { $q->where('user_id', get_current_user_id()) ->where('status', 'active'); }) ->get(); } $userSpaces->each(function ($space) use ($userModel) { $space->permissions = $userModel->getSpacePermissions($space); $space->membership = $space->getMembership($userModel->ID); $space->description_rendered = FeedsHelper::mdToHtml($space->description); if ($space->privacy == 'private' && !$space->membership) { $space->lockscreen_config = LockscreenService::getLockscreenConfig($space); } $space->topics = Utility::getTopicsBySpaceId($space->id); }); $userSpaces = $userSpaces->keyBy('slug'); } else { $userSpaces = (object)[]; } return [ 'sidebar_html' => $html, 'auth_spaces' => $userSpaces ]; } }