PluginProbe
Fluent Support – Helpdesk & Customer Support Ticket System / 2.4.5
Fluent Support – Helpdesk & Customer Support Ticket System v2.4.5
2.4.5 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 All 69 releases
← All changes | app/Http/Controllers/ActivityLoggerController.php +19 -14 1.10.5 → 2.4.5 View file →
@@ -2,21 +2,17 @@
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 - * ActivityLoggerController class for REST API
10 - * This class is responsible for getting data for all request related to activity and activity settings
11 - * @package FluentSupport\App\Http\Controllers
12 - *
13 - * @version 1.0.0
10 + * Activity log endpoints and settings.
14 11 */
15 12 class ActivityLoggerController extends Controller
16 13 {
17 14 /**
18 - * getActivities method will get information regarding all activity with users(agent/customer) and activity settings
19 15 * @return \WP_REST_Response | array
20 16 */
21 17
22 18 public function getActivities (Request $request, Activity $activity)
@@ -21,39 +17,48 @@
21 17
22 18 public function getActivities (Request $request, Activity $activity)
23 19 {
24 20 try {
21 + $filters = $request->get('filters', null);
22 + $filters = is_array($filters) ? map_deep($filters, 'sanitize_text_field') : [];
23 +
25 24 return $activity->getActivities( [
26 25 'page' => $request->getSafe('page', 'intval', 1),
27 26 'per_page' => $request->getSafe('per_page', 'intval', 10),
28 27 'from' => $request->getSafe('from', 'sanitize_text_field', ''),
29 28 'to' => $request->getSafe('to', 'sanitize_text_field', ''),
30 - 'filters' => $request->getSafe('filters', null, []),
29 + 'filters' => $filters,
31 30 ] );
32 31 } catch (\Exception $e) {
33 32 return $this->sendError([
34 - 'message' => $e->getMessage()
33 + 'message' => Helper::getSafeErrorMessage($e)
35 34 ]);
36 35 }
37 36 }
38 37
39 38 /**
40 - * updateSettings method will update existing activity settings
41 39 * @return \WP_REST_Response | array
42 40 */
43 41 public function updateSettings (Request $request, Activity $activity)
44 42 {
45 43 try {
46 - return $activity->updateSettings($request->getSafe('activity_settings', 'sanitize_text_field', []));
44 + // Read raw: sanitize_text_field on the array would turn it into an empty string.
45 + $raw = $request->get('activity_settings', null);
46 + $settings = is_array($raw) ? $raw : [];
47 + $settings = [
48 + 'delete_days' => isset($settings['delete_days']) ? intval($settings['delete_days']) : 14,
49 + 'disable_logs' => isset($settings['disable_logs']) ? sanitize_text_field($settings['disable_logs']) : 'no',
50 + 'open_link_in_new_tab' => isset($settings['open_link_in_new_tab']) ? sanitize_text_field($settings['open_link_in_new_tab']) : 'no',
51 + ];
52 + return $activity->updateSettings($settings);
47 53 } catch (\Exception $e) {
48 54 return $this->sendError([
49 - 'message' => $e->getMessage()
55 + 'message' => Helper::getSafeErrorMessage($e)
50 56 ]);
51 57 }
52 58 }
53 59
54 60 /**
55 - * getSettings method will get the list of activity settings and return
56 61 * @return \WP_REST_Response | array
57 62 */
58 63 public function getSettings(Activity $activity)
59 64 {
@@ -60,9 +65,9 @@
60 65 try {
61 66 return $activity->getSettings();
62 67 } catch (\Exception $e) {
63 68 return $this->sendError([
64 - 'message' => $e->getMessage()
69 + 'message' => Helper::getSafeErrorMessage($e)
65 70 ]);
66 71 }
67 72 }
68 73 }