PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.4.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.4.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 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Controllers / Admin / Onboarding.php
surecart / app / src / Controllers / Admin Last commit date
Abandoned 3 years ago Bumps 3 years ago Cart 3 years ago Coupons 3 years ago Customers 3 years ago Dashboard 3 years ago Invoices 3 years ago Licenses 3 years ago Orders 3 years ago ProductGroups 3 years ago Products 3 years ago Settings 3 years ago Subscriptions 3 years ago Tables 3 years ago .gitkeep 3 years ago Account.php 3 years ago AdminController.php 3 years ago Connection.php 3 years ago Onboarding.php 3 years ago PluginSettings.php 3 years ago
Onboarding.php
111 lines
1 <?php
2
3 namespace SureCart\Controllers\Admin;
4
5 use SureCart\Models\ApiToken;
6 use SureCart\Models\Product;
7
8 /**
9 * Handles onboarding http requests.
10 */
11 class Onboarding {
12 /**
13 * Show the onboarding page.
14 *
15 * @return string
16 */
17 public function show() {
18 if ( ! ApiToken::get() || is_wp_error( \SureCart::account() ) ) {
19 return \SureCart::view( 'admin/onboarding/install' )->with(
20 [
21 'url' => esc_url(
22 add_query_arg(
23 [
24 'onboarding' => [
25 'account_name' => get_bloginfo( 'name' ),
26 'account_url' => get_site_url(),
27 'return_url' => esc_url_raw( admin_url( 'admin.php?page=sc-complete-signup' ) ),
28 'account_time_zone' => wp_timezone_string(),
29 ],
30 ],
31 untrailingslashit( SURECART_APP_URL ) . '/sign_up'
32 )
33 ),
34 ]
35 );
36 }
37
38 // check if the token is valid.
39 $account = \SureCart::account();
40 $products = Product::get();
41
42 if ( empty( $products ) ) {
43 // create a donation product for an example.
44 Product::create(
45 [
46 'name' => __( 'Donation', 'surecart' ),
47 'recurring' => false,
48 'tax_enabled' => false,
49 'prices' => [
50 [
51 'ad_hoc' => true,
52 'currency' => $account->currency,
53 ],
54 ],
55 ]
56 );
57 }
58
59 return \SureCart::view( 'admin/onboarding/show' )->with(
60 [
61 'docs_url' => 'https://surecart.com',
62 'settings_url' => esc_url( admin_url( 'admin.php?page=sc-settings' ) ),
63 'product_url' => esc_url( \SureCart::getUrl()->edit( 'product' ) ),
64 'form_url' => esc_url( admin_url( 'post-new.php?post_type=sc_form' ) ),
65 ]
66 );
67 }
68
69 /**
70 * Complete Step
71 *
72 * @param \SureCartCore\Requests\RequestInterface $request Request.
73 * @return function
74 */
75 public function complete( \SureCartCore\Requests\RequestInterface $request ) {
76 return \SureCart::view( 'admin/onboarding/complete' )->with( [ 'status' => $request->query( 'status' ) ] );
77 }
78
79 /**
80 * Save the API Token.
81 *
82 * @param \SureCartCore\Requests\RequestInterface $request Request.
83 * @return function
84 */
85 public function save( \SureCartCore\Requests\RequestInterface $request ) {
86 $url = $request->getHeaderLine( 'Referer' );
87 $api_token = $request->body( 'api_token' );
88
89 if ( empty( $api_token ) ) {
90 return \SureCart::redirect()->to( esc_url_raw( add_query_arg( 'status', 'missing', $url ) ) );
91 }
92
93 // get the saved token.
94 $old_token = ApiToken::get();
95
96 // save token.
97 ApiToken::save( $api_token );
98
99 // check if the token is valid.
100 $account = \SureCart::account();
101
102 if ( is_wp_error( $account ) ) {
103 // save token.
104 ApiToken::save( $old_token );
105 wp_die( esc_html__( 'Invalid API Token', 'surecart' ) );
106 }
107
108 return \SureCart::redirect()->to( esc_url( admin_url( 'admin.php?page=sc-dashboard' ) ) );
109 }
110 }
111