PluginProbe
Fluent Support – Helpdesk & Customer Support Ticket System / 2.4.0
Fluent Support – Helpdesk & Customer Support Ticket System v2.4.0
2.4.0 2.3.2 2.3.1 2.3.0 2.2.1 2.2.0 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.4.0 1.4.1 1.4.2 1.4.5 1.4.6 1.4.7 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 All 68 releases
← All changes | app/Http/Controllers/ActivityLoggerController.php +18 -6 1.10.52.4.0 View file →
@@ -2,9 +2,10 @@
2 2
3 3 namespace FluentSupport\App\Http\Controllers;
4 4
5 5 use FluentSupport\App\Models\Activity;
6 -use FluentSupport\Framework\Request\Request;
6 +use FluentSupport\App\Services\Helper;
7 +use FluentSupport\Framework\Http\Request\Request;
7 8
8 9 /**
9 10 * ActivityLoggerController class for REST API
10 11 * This class is responsible for getting data for all request related to activity and activity settings
@@ -21,18 +22,21 @@
21 22
22 23 public function getActivities (Request $request, Activity $activity)
23 24 {
24 25 try {
26 + $filters = $request->get('filters', null);
27 + $filters = is_array($filters) ? map_deep($filters, 'sanitize_text_field') : [];
28 +
25 29 return $activity->getActivities( [
26 30 'page' => $request->getSafe('page', 'intval', 1),
27 31 'per_page' => $request->getSafe('per_page', 'intval', 10),
28 32 'from' => $request->getSafe('from', 'sanitize_text_field', ''),
29 33 'to' => $request->getSafe('to', 'sanitize_text_field', ''),
30 - 'filters' => $request->getSafe('filters', null, []),
34 + 'filters' => $filters,
31 35 ] );
32 36 } catch (\Exception $e) {
33 37 return $this->sendError([
34 - 'message' => $e->getMessage()
38 + 'message' => Helper::getSafeErrorMessage($e)
35 39 ]);
36 40 }
37 41 }
38 42
@@ -42,12 +46,20 @@
42 46 */
43 47 public function updateSettings (Request $request, Activity $activity)
44 48 {
45 49 try {
46 - return $activity->updateSettings($request->getSafe('activity_settings', 'sanitize_text_field', []));
50 + // Get raw array - do not use sanitize_text_field on the whole object (it would turn array into empty string)
51 + $raw = $request->get('activity_settings', null);
52 + $settings = is_array($raw) ? $raw : [];
53 + $settings = [
54 + 'delete_days' => isset($settings['delete_days']) ? intval($settings['delete_days']) : 14,
55 + 'disable_logs' => isset($settings['disable_logs']) ? sanitize_text_field($settings['disable_logs']) : 'no',
56 + 'open_link_in_new_tab' => isset($settings['open_link_in_new_tab']) ? sanitize_text_field($settings['open_link_in_new_tab']) : 'no',
57 + ];
58 + return $activity->updateSettings($settings);
47 59 } catch (\Exception $e) {
48 60 return $this->sendError([
49 - 'message' => $e->getMessage()
61 + 'message' => Helper::getSafeErrorMessage($e)
50 62 ]);
51 63 }
52 64 }
53 65
@@ -60,9 +72,9 @@
60 72 try {
61 73 return $activity->getSettings();
62 74 } catch (\Exception $e) {
63 75 return $this->sendError([
64 - 'message' => $e->getMessage()
76 + 'message' => Helper::getSafeErrorMessage($e)
65 77 ]);
66 78 }
67 79 }
68 80 }