| @@ -2,9 +2,9 @@ | ||
| 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 | 10 | /** |
| @@ -13,10 +13,9 @@ | ||
| 13 | 13 | * @return false |
| 14 | 14 | */ |
| 15 | 15 | public function getSettings(Request $request) |
| 16 | 16 | { |
| 17 | - $settingsKey = $request->get('integration_key'); | |
| 18 | - | |
| 17 | + $settingsKey = $request->getSafe('integration_key', 'sanitize_text_field'); | |
| 19 | 18 | return IntegrationSettingsModule::getSettings($settingsKey, true); |
| 20 | 19 | } |
| 21 | 20 | |
| 22 | 21 | /** |
| @@ -25,19 +24,27 @@ | ||
| 25 | 24 | * @return array |
| 26 | 25 | */ |
| 27 | 26 | public function saveSettings(Request $request) |
| 28 | 27 | { |
| 29 | - $settingsKey = $request->get('integration_key'); | |
| 30 | - $settings = wp_unslash($request->get('settings')); | |
| 28 | + $settingsKey = $request->getSafe('integration_key', 'sanitize_text_field'); | |
| 31 | 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 | + | |
| 32 | 38 | $settings = IntegrationSettingsModule::saveSettings($settingsKey, $settings); |
| 33 | 39 | |
| 34 | 40 | if(!$settings || is_wp_error($settings)) { |
| 35 | - $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'); | |
| 36 | 42 | return $this->sendError([ |
| 37 | - 'message' => __($errorMessage, 'fluent-support') | |
| 43 | + 'message' => $errorMessage | |
| 38 | 44 | ]); |
| 39 | 45 | } |
| 46 | + | |
| 40 | 47 | |
| 41 | 48 | return [ |
| 42 | 49 | 'message' => __('Settings has been updated', 'fluent-support'), |
| 43 | 50 | 'settings' => $settings |