# fluent-community/2.5.0/app/Http/Policies/PortalPolicy.php

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

- Page: https://pluginprobe.com/plugins/fluent-community/2.5.0/code/app/Http/Policies/PortalPolicy.php
- Raw: https://pluginprobe.com/plugins/fluent-community/2.5.0/raw/app/Http/Policies/PortalPolicy.php
- Modified: 2025-11-17T11:53:08+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/2.5.0/code/app/Http/Policies/PortalPolicy.php#L10-L20`.

```php
<?php

namespace FluentCommunity\App\Http\Policies;

use FluentCommunity\App\Services\Helper;
use FluentCommunity\Framework\Http\Request\Request;

class PortalPolicy extends BasePolicy
{
    /**
     * Check user permission for any method
     * @param \FluentCommunity\Framework\Http\Request\Request $request
     * @return Boolean
     */
    public function verifyRequest(Request $request)
    {
        $method = $request->getMethod();
        $userId = get_current_user_id();

        $xProfile = Helper::getCurrentProfile(true);
        if($xProfile && $xProfile->status != 'active') {
            return false;
        }

        if ($method != 'GET' && !$userId) {
            throw new \Exception(esc_html__('You must be logged in to perform this action', 'fluent-community'));
        }

        return !!Helper::canAccessPortal($userId);
    }

    public function getBookmarks(Request $request)
    {
        return is_user_logged_in() && $this->verifyRequest($request);
    }

    public function updateLinks(Request $request)
    {
        return !!Helper::isSiteAdmin();
    }
}

```
