# fluent-community/1.0.97/Modules/Course/Http/Policies/CourseAdminPolicy.php

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

- Page: https://pluginprobe.com/plugins/fluent-community/1.0.97/code/Modules/Course/Http/Policies/CourseAdminPolicy.php
- Raw: https://pluginprobe.com/plugins/fluent-community/1.0.97/raw/Modules/Course/Http/Policies/CourseAdminPolicy.php
- Modified: 2024-11-14T19:21:06+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.97/code/Modules/Course/Http/Policies/CourseAdminPolicy.php#L10-L20`.

```php
<?php

namespace FluentCommunity\Modules\Course\Http\Policies;

use FluentCommunity\App\Http\Policies\BasePolicy;
use FluentCommunity\App\Services\Helper;
use FluentCommunity\App\Models\User;
use FluentCommunity\Framework\Http\Request\Request;

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

        if (!$userId) {
            return false;
        }

        $user = User::find($userId);

        return $user->hasCourseCreatorAccess();
    }

    public function createCourse(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function updateCourse(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function deleteCourse(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function getOtherUsers(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function addStudent(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function removeStudent(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function updateLockscreenSettings(Request $request)
    {
        return $this->canManageCourse($request);
    }

    public function updateLinks(Request $request)
    {
        return $this->canManageCourse($request);
    }

    protected function canManageCourse(Request $request)
    {
        $userId = get_current_user_id();

        if (!$userId) {
            return false;
        }

        $user = User::find($userId);

        return $user->hasSpaceManageAccess();
    }
}

```
