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 | app/Http/Controllers/ActivityController.php +9 -5 2.7.72.10.01 View file →
@@ -19,8 +19,12 @@
19 19
20 20 $spaceId = !empty($context['space_id']) ? (int)$context['space_id'] : null;
21 21 $userId = !empty($context['user_id']) ? (int)$context['user_id'] : null;
22 22
23 + $maxPerPage = (int) apply_filters('fluent_community/max_per_page', 100) ?: 100;
24 + $perPage = min($maxPerPage, max(1, (int)$request->get('per_page', 5)));
25 + $page = max(1, (int)$request->get('page', 1));
26 +
23 27 $latestActivityIds = Activity::where(function ($q) {
24 28 if (Helper::isModerator()) {
25 29 return $q;
26 30 }
@@ -60,10 +64,10 @@
60 64 ->whereHas('xprofile', function ($q) {
61 65 $q->where('status', 'active');
62 66 })
63 67 ->orderBy('id', 'DESC')
64 - ->limit($request->get('per_page', 5) + 1)
65 - ->offset(($request->get('page', 1) - 1) * $request->get('per_page', 5))
68 + ->limit($perPage + 1)
69 + ->offset(($page - 1) * $perPage)
66 70 ->get();
67 71
68 72 $formattedActivities = [];
69 73
@@ -102,9 +106,9 @@
102 106 }
103 107
104 108 $totalCount = count($formattedActivities);
105 109
106 - $hasMore = $totalCount > $request->get('per_page', 5);
110 + $hasMore = $totalCount > $perPage;
107 111
108 112 if ($hasMore) {
109 113 array_pop($formattedActivities);
110 114 }
@@ -112,10 +116,10 @@
112 116 $returnData = [
113 117 'activities' => [
114 118 'data' => $formattedActivities,
115 119 'has_more' => (boolean) $hasMore,
116 - 'per_page' => (int) $request->get('per_page', 5),
117 - 'current_page' => (int) $request->get('page', 1),
120 + 'per_page' => $perPage,
121 + 'current_page' => $page,
118 122 ],
119 123 'after_contents' => $afterContent,
120 124 'before_contents' => $beforeContent,
121 125 ];