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/IntegrationController.php +24 -7 1.4.02.4.0 View file →
@@ -2,32 +2,49 @@
2 2
3 3 namespace FluentSupport\App\Http\Controllers;
4 4
5 5 use FluentSupport\App\Modules\IntegrationSettingsModule;
6 -use FluentSupport\Framework\Request\Request;
6 +use FluentSupport\Framework\Http\Request\Request;
7 7
8 8 class IntegrationController extends Controller
9 9 {
10 + /**
11 + * getSettings method will fetch the list of integration settings by integration key
12 + * @param Request $request
13 + * @return false
14 + */
10 15 public function getSettings(Request $request)
11 16 {
12 - $settingsKey = $request->get('integration_key');
13 -
17 + $settingsKey = $request->getSafe('integration_key', 'sanitize_text_field');
14 18 return IntegrationSettingsModule::getSettings($settingsKey, true);
15 19 }
16 20
21 + /**
22 + * saveSettings method will save the integration settings by integration key
23 + * @param Request $request
24 + * @return array
25 + */
17 26 public function saveSettings(Request $request)
18 27 {
19 - $settingsKey = $request->get('integration_key');
20 - $settings = wp_unslash($request->get('settings'));
28 + $settingsKey = $request->getSafe('integration_key', 'sanitize_text_field');
21 29
30 + $settings = $request->get('settings', []);
31 +
32 + foreach ($settings as $key => $value) {
33 + $settings[$key] = is_array($value) ? map_deep($value, 'sanitize_text_field') : sanitize_text_field($value);
34 + }
35 +
36 + $settings = wp_unslash($settings);
37 +
22 38 $settings = IntegrationSettingsModule::saveSettings($settingsKey, $settings);
23 39
24 40 if(!$settings || is_wp_error($settings)) {
25 - $errorMessage = (is_wp_error($settings)) ? $settings->get_error_message() : 'Settings failed to save';
41 + $errorMessage = (is_wp_error($settings)) ? $settings->get_error_message() : __('Settings failed to save', 'fluent-support');
26 42 return $this->sendError([
27 - 'message' => __($errorMessage, 'fluent-support')
43 + 'message' => $errorMessage
28 44 ]);
29 45 }
46 +
30 47
31 48 return [
32 49 'message' => __('Settings has been updated', 'fluent-support'),
33 50 'settings' => $settings