PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 2.9.1
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v2.9.1
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
fluent-community / app / Http / Policies / PortalPolicy.php

PortalPolicy.php in FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses 2.9.1, at app/Http/Policies/PortalPolicy.php

65 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FluentCommunity\App\Http\Policies;
4
5 use FluentCommunity\App\Services\Helper;
6 use FluentCommunity\Framework\Http\Request\Request;
7
8 class PortalPolicy extends BasePolicy
9 {
10 /**
11 * Check user permission for any method
12 * @param \FluentCommunity\Framework\Http\Request\Request $request
13 * @return Boolean
14 */
15 public function verifyRequest(Request $request)
16 {
17 $method = $request->getMethod();
18 $userId = get_current_user_id();
19
20 $xProfile = Helper::getCurrentProfile(true);
21 if($xProfile && $xProfile->status != 'active') {
22 return false;
23 }
24
25 if ($method != 'GET' && !$userId) {
26 throw new \Exception(esc_html__('You must be logged in to perform this action', 'fluent-community'));
27 }
28
29 return !!Helper::canAccessPortal($userId);
30 }
31
32 public function getBookmarks(Request $request)
33 {
34 return is_user_logged_in() && $this->verifyRequest($request);
35 }
36
37 public function uploadVideo(Request $request)
38 {
39 return is_user_logged_in() && $this->verifyRequest($request);
40 }
41
42 public function markLessonVideoWatched(Request $request)
43 {
44 return is_user_logged_in() && $this->verifyRequest($request);
45 }
46
47 public function getOembed(Request $request)
48 {
49 $profile = Helper::getCurrentProfile();
50
51 return $profile && $profile->status === 'active' && $this->verifyRequest($request);
52 }
53
54 public function updateAudioMeta(Request $request)
55 {
56 // Route-layer gate; resource ownership is enforced in MediaController::canEditAudioMedia.
57 return is_user_logged_in() && $this->verifyRequest($request);
58 }
59
60 public function updateLinks(Request $request)
61 {
62 return !!Helper::isSiteAdmin();
63 }
64 }
65