| @@ -12,10 +12,8 @@ | ||
| 12 | 12 | use WPDeveloper\BetterDocs\Core\BaseAPI; |
| 13 | 13 | use WPDeveloper\BetterDocs\Dependencies\DI\DependencyException; |
| 14 | 14 | use WPDeveloper\BetterDocs\Dependencies\DI\NotFoundException; |
| 15 | 15 | use WPDeveloper\BetterDocsChatbot\Core\AIChatbot; |
| 16 | -use WPDeveloper\BetterDocs\Core\Settings as CoreSettings; | |
| 17 | -use WPDeveloper\BetterDocs\Utils\Helper; | |
| 18 | 16 | |
| 19 | 17 | class Settings extends BaseAPI { |
| 20 | 18 | |
| 21 | 19 | public function permission_check(): bool { |
| @@ -58,9 +56,9 @@ | ||
| 58 | 56 | public function sample_docs( WP_REST_Request $request ) { |
| 59 | 57 | $action = $request->get_param( 'action' ); |
| 60 | 58 | |
| 61 | 59 | if ( $action == 'create-dummy-data' ) { |
| 62 | - $file = BETTERDOCS_ABSPATH . 'assets/static/admin/images/BetterDocs-sample-data.csv'; | |
| 60 | + $file = BETTERDOCS_ABSPATH . 'assets/admin/images/BetterDocs-sample-data.csv'; | |
| 63 | 61 | $args = [ |
| 64 | 62 | 'fetch_attachments' => true, |
| 65 | 63 | 'action' => '', |
| 66 | 64 | 'existing_slug' => '', |
| @@ -291,41 +289,13 @@ | ||
| 291 | 289 | return true; |
| 292 | 290 | } |
| 293 | 291 | |
| 294 | 292 | public function get_settings(): array { |
| 295 | - $settings = betterdocs()->settings->get_all( true ); | |
| 296 | - | |
| 297 | - // Never hand raw API keys back over REST. The route is already gated to | |
| 298 | - // `edit_docs_settings` (see permission_check() above), but get_all( true ) returned | |
| 299 | - // UNMASKED values, so an authorized admin still received every key in full — the admin | |
| 300 | - // UI only ever needs the masked form. Mask for managers, and strip entirely for anyone | |
| 301 | - // else as defense-in-depth should that capability gate ever loosen. Mirrors the | |
| 302 | - // admin-page localizer (Core\Settings::enqueue()) so the masked-key save round-trip | |
| 303 | - // stays consistent. | |
| 304 | - $sensitive_api_keys = CoreSettings::sensitive_api_key_fields(); | |
| 305 | - $can_manage = current_user_can( 'edit_docs_settings' ); | |
| 306 | - foreach ( $sensitive_api_keys as $api_key_field ) { | |
| 307 | - if ( ! isset( $settings[ $api_key_field ] ) ) { | |
| 308 | - continue; | |
| 309 | - } | |
| 310 | - if ( ! $can_manage ) { | |
| 311 | - unset( $settings[ $api_key_field ] ); | |
| 312 | - continue; | |
| 313 | - } | |
| 314 | - if ( ! empty( $settings[ $api_key_field ] ) ) { | |
| 315 | - $settings[ $api_key_field ] = Helper::mask_api_key( $settings[ $api_key_field ] ); | |
| 316 | - } | |
| 317 | - } | |
| 318 | - | |
| 319 | - return $settings; | |
| 293 | + return betterdocs()->settings->get_all( true ); | |
| 320 | 294 | } |
| 321 | 295 | |
| 322 | 296 | public function save_settings( WP_REST_Request $request ) { |
| 323 | - $result = betterdocs()->settings->save_settings( $request->get_params() ); | |
| 324 | - if ( is_wp_error( $result ) ) { | |
| 325 | - return $this->error( $result->get_error_code(), $result->get_error_message(), 400 ); | |
| 326 | - } | |
| 327 | - if ( $result ) { | |
| 297 | + if ( betterdocs()->settings->save_settings( $request->get_params() ) ) { | |
| 328 | 298 | return $this->success( __( 'Settings Saved!', 'betterdocs' ) ); |
| 329 | 299 | } |
| 330 | 300 | |
| 331 | 301 | return $this->error( 'nothing_changed', __( 'There are no changes to be saved.', 'betterdocs' ), 200 ); |