PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.0.5
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.0.5
4.7.2 4.7.1 4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 All 281 releases
surecart / app / src / Controllers / Rest / SettingsController.php
SettingsController.php
76 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SureCart\Controllers\Rest;
4
5 use SureCart\Models\Account;
6 use SureCart\Models\ApiToken;
7
8 /**
9 * Handle price requests through the REST API
10 */
11 class SettingsController {
12 /**
13 * Index
14 *
15 * @param \WP_REST_Request $request Rest Request.
16 *
17 * @return \WP_REST_Response
18 */
19 public function find( \WP_REST_Request $request ) {
20 return rest_ensure_response(
21 [
22 'object' => 'settings',
23 'api_token' => ApiToken::get(),
24 'uninstall' => (bool) get_option( 'sc_uninstall', false ),
25 'stripe_payment_element' => (bool) get_option( 'sc_stripe_payment_element', false ),
26 'use_esm_loader' => (bool) get_option( 'surecart_use_esm_loader', false ),
27 'slide_out_cart_disabled' => (bool) get_option( 'sc_slide_out_cart_disabled', false ),
28 ]
29 );
30 }
31
32 /**
33 * Update
34 *
35 * @param \WP_REST_Request $request Rest Request.
36 *
37 * @return \WP_REST_Response
38 */
39 public function edit( \WP_REST_Request $request ) {
40 // save api token.
41 if ( isset( $request['api_token'] ) ) {
42 $old = ApiToken::get();
43 ApiToken::save( $request['api_token'] );
44 if ( ! empty( $request['api_token'] ) ) {
45 $test = Account::find();
46 if ( is_wp_error( $test ) ) {
47 ApiToken::save( $old );
48 return rest_ensure_response( $test );
49 }
50 }
51 }
52
53 // update uninstall option.
54 if ( isset( $request['uninstall'] ) ) {
55 update_option( 'sc_uninstall', $request->get_param( 'uninstall' ) );
56 }
57
58 // update uninstall option.
59 if ( isset( $request['stripe_payment_element'] ) ) {
60 update_option( 'sc_stripe_payment_element', $request->get_param( 'stripe_payment_element' ) );
61 }
62
63 // update performance option.
64 if ( isset( $request['use_esm_loader'] ) ) {
65 update_option( 'surecart_use_esm_loader', $request->get_param( 'use_esm_loader' ) );
66 }
67
68 // update slide out cart option.
69 if ( isset( $request['slide_out_cart_disabled'] ) ) {
70 update_option( 'sc_slide_out_cart_disabled', (bool) $request->get_param( 'slide_out_cart_disabled' ) );
71 }
72
73 return rest_ensure_response( $this->find( $request ) );
74 }
75 }
76