# fluent-community/1.0.90/app/Http/Controllers/OptionController.php

FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS &amp; Online Courses, version 1.0.90. 56 lines.

- Page: https://pluginprobe.com/plugins/fluent-community/1.0.90/code/app/Http/Controllers/OptionController.php
- Raw: https://pluginprobe.com/plugins/fluent-community/1.0.90/raw/app/Http/Controllers/OptionController.php
- Modified: 2024-11-07T12:38:44+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-community/1.0.90/code/app/Http/Controllers/OptionController.php#L10-L20`.

```php
<?php

namespace FluentCommunity\App\Http\Controllers;

use FluentCommunity\App\Functions\Utility;
use FluentCommunity\App\Models\BaseSpace;
use FluentCommunity\App\Models\SpaceGroup;
use FluentCommunity\App\Services\FeedsHelper;
use FluentCommunity\App\Services\LockscreenService;
use FluentCommunity\Framework\Http\Request\Request;

class OptionController extends Controller
{
    public function getSidebarMenuHtml(Request $request)
    {
        ob_start();
        do_action('fluent_community/portal_sidebar', 'ajax');

        $html = ob_get_clean();

        $userModel = $this->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
        ];
    }
}

```
