| @@ -2,30 +2,41 @@ | ||
| 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 | +/** | |
| 9 | + * Slack integration settings. | |
| 10 | + */ | |
| 8 | 11 | class SlackController extends Controller |
| 9 | 12 | { |
| 13 | + /** | |
| 14 | + * @param Request $request | |
| 15 | + * @return array|false | |
| 16 | + */ | |
| 10 | 17 | public function getSettings(Request $request) |
| 11 | 18 | { |
| 12 | - $settingsKey = $request->get('integration_key'); | |
| 19 | + $settingsKey = $request->getSafe('integration_key', 'sanitize_text_field'); | |
| 13 | 20 | |
| 14 | 21 | return IntegrationSettingsModule::getSettings($settingsKey, true); |
| 15 | 22 | } |
| 16 | 23 | |
| 24 | + /** | |
| 25 | + * @param Request $request | |
| 26 | + * @return array | |
| 27 | + */ | |
| 17 | 28 | public function saveSettings(Request $request) |
| 18 | 29 | { |
| 19 | - $settingsKey = $request->get('integration_key'); | |
| 20 | - $settings = wp_unslash($request->get('settings')); | |
| 21 | - | |
| 30 | + $settingsKey = $request->getSafe('integration_key' , 'sanitize_text_field'); | |
| 31 | + $settings = wp_unslash($request->get('settings', null)); | |
| 32 | + $settings = is_array($settings) ? map_deep($settings, 'sanitize_text_field') : []; | |
| 22 | 33 | $settings = IntegrationSettingsModule::saveSettings($settingsKey, $settings); |
| 23 | 34 | |
| 24 | 35 | if(!$settings || is_wp_error($settings)) { |
| 25 | - $errorMessage = (is_wp_error($settings)) ? $settings->get_error_message() : 'Settings failed to save'; | |
| 36 | + $errorMessage = (is_wp_error($settings)) ? $settings->get_error_message() : __('Settings failed to save', 'fluent-support'); | |
| 26 | 37 | return $this->sendError([ |
| 27 | - 'message' => __($errorMessage, 'fluent-support') | |
| 38 | + 'message' => $errorMessage | |
| 28 | 39 | ]); |
| 29 | 40 | } |
| 30 | 41 | |
| 31 | 42 | return [ |