PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 2.10.01
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v2.10.01
2.10.0 2.10.01 2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 1.1.0 All 77 releases
← All changes | Modules/Course/Http/Policies/CourseAdminPolicy.php +22 -49 1.1.02.10.01 View file →
@@ -2,11 +2,11 @@
2 2
3 3 namespace FluentCommunity\Modules\Course\Http\Policies;
4 4
5 5 use FluentCommunity\App\Http\Policies\BasePolicy;
6 +use FluentCommunity\Framework\Http\Request\Request;
7 +use FluentCommunity\Modules\Course\Model\Course;
6 8 use FluentCommunity\App\Services\Helper;
7 -use FluentCommunity\App\Models\User;
8 -use FluentCommunity\Framework\Http\Request\Request;
9 9
10 10 class CourseAdminPolicy extends BasePolicy
11 11 {
12 12 /**
@@ -15,68 +15,41 @@
15 15 * @return Boolean
16 16 */
17 17 public function verifyRequest(Request $request)
18 18 {
19 - $userId = get_current_user_id();
19 + $user = Helper::getCurrentUser(true);
20 20
21 - if (!$userId) {
21 + if (!$user) {
22 22 return false;
23 23 }
24 24
25 - $user = User::find($userId);
25 + if (!$user->hasCourseCreatorAccess()) {
26 + return false;
27 + }
26 28
27 - return $user->hasCourseCreatorAccess();
28 - }
29 + if ($this->getRouteParam($request, 'course_id')) {
30 + return $this->canManageCourse($request);
31 + }
29 32
30 - public function createCourse(Request $request)
31 - {
32 - return $this->canManageCourse($request);
33 + return true;
33 34 }
34 35
35 - public function updateCourse(Request $request)
36 + protected function canManageCourse(Request $request)
36 37 {
37 - return $this->canManageCourse($request);
38 - }
38 + if (Helper::isSuperAdmin()) {
39 + return true;
40 + }
39 41
40 - public function deleteCourse(Request $request)
41 - {
42 - return $this->canManageCourse($request);
43 - }
42 + $user = Helper::getCurrentUser(true);
44 43
45 - public function getOtherUsers(Request $request)
46 - {
47 - return $this->canManageCourse($request);
48 - }
44 + if ($courseId = $this->getRouteParam($request, 'course_id')) {
45 + $course = Course::find($courseId);
46 + if (!$course) {
47 + return false;
48 + }
49 49
50 - public function addStudent(Request $request)
51 - {
52 - return $this->canManageCourse($request);
53 - }
54 -
55 - public function removeStudent(Request $request)
56 - {
57 - return $this->canManageCourse($request);
58 - }
59 -
60 - public function updateLockscreenSettings(Request $request)
61 - {
62 - return $this->canManageCourse($request);
63 - }
64 -
65 - public function updateLinks(Request $request)
66 - {
67 - return $this->canManageCourse($request);
68 - }
69 -
70 - protected function canManageCourse(Request $request)
71 - {
72 - $userId = get_current_user_id();
73 -
74 - if (!$userId) {
75 - return false;
50 + return $course->isCourseAdmin($user);
76 51 }
77 -
78 - $user = User::find($userId);
79 52
80 53 return $user->hasSpaceManageAccess();
81 54 }
82 55 }