PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.3.2
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.3.2
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 / Admin / Onboarding / OnboardingController.php
OnboardingController.php
66 lines 1.6 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\Admin\Onboarding;
4
5 use SureCart\Models\ApiToken;
6
7 /**
8 * Handles onboarding http requests.
9 */
10 class OnboardingController {
11 /**
12 * Show the onboarding page.
13 *
14 * @return string
15 */
16 public function show() {
17 add_action( 'admin_enqueue_scripts', \SureCart::closure()->method( OnboardingScriptsController::class, 'enqueue' ) );
18
19 // return view.
20 return '<div id="app"></div>';
21 }
22
23 /**
24 * Complete Step
25 *
26 * @param \SureCartCore\Requests\RequestInterface $request Request.
27 * @return function
28 */
29 public function complete( \SureCartCore\Requests\RequestInterface $request ) {
30 return \SureCart::view( 'admin/onboarding/complete' )->with( [ 'status' => $request->query( 'status' ) ] );
31 }
32
33
34 /**
35 * Save the API Token.
36 *
37 * @param \SureCartCore\Requests\RequestInterface $request Request.
38 * @return function
39 */
40 public function save( \SureCartCore\Requests\RequestInterface $request ) {
41 $url = $request->getHeaderLine( 'Referer' );
42 $api_token = $request->body( 'api_token' );
43
44 if ( empty( $api_token ) ) {
45 return \SureCart::redirect()->to( esc_url_raw( add_query_arg( 'status', 'missing', $url ) ) );
46 }
47
48 // get the saved token.
49 $old_token = ApiToken::get();
50
51 // save token.
52 ApiToken::save( $api_token );
53
54 // check if the token is valid.
55 $account = \SureCart::account();
56
57 if ( is_wp_error( $account ) ) {
58 // save token.
59 ApiToken::save( $old_token );
60 wp_die( esc_html__( 'Invalid API Token', 'surecart' ) );
61 }
62
63 return \SureCart::redirect()->to( esc_url( admin_url( 'admin.php?page=sc-dashboard' ) ) );
64 }
65 }
66