PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.6.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.6.0
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 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 / Settings / Settings.php
surecart / app / src / Controllers / Admin / Settings Last commit date
CacheSettings.php 1 year ago MCPSettings.php 3 months ago Settings.php 1 month ago
Settings.php
121 lines
1 <?php
2
3 namespace SureCart\Controllers\Admin\Settings;
4
5 use SureCart\Models\Processor;
6 use SureCart\Support\Currency;
7 use SureCart\Support\TimeDate;
8
9 /**
10 * Settings controller for the client-side routed settings.
11 */
12 class Settings {
13 /**
14 * Show the settings page.
15 *
16 * @param \SureCartCore\Requests\RequestInterface $request Request.
17 * @return function
18 */
19 public function show( \SureCartCore\Requests\RequestInterface $request ) {
20 remove_all_actions( 'admin_notices' );
21 add_action( 'admin_enqueue_scripts', [ $this, 'enqueueScripts' ] );
22
23 return \SureCart::view( 'admin/settings-page' )->with(
24 [
25 'breadcrumb' => '',
26 'claim_url' => ! \SureCart::account()->claimed ? \SureCart::routeUrl( 'account.claim' ) : '',
27 'claim_expired' => \SureCart::account()->claim_expired ?? false,
28 ]
29 );
30 }
31
32 /**
33 * Enqueue the scripts and styles for the settings.
34 *
35 * @return void
36 */
37 public function enqueueScripts() {
38 $handle = 'surecart/scripts/admin/settings';
39 $path = 'admin/settings';
40 $deps = [ 'sc-ui-data', 'wp-data', 'wp-core-data' ];
41
42 wp_enqueue_media();
43 wp_enqueue_style( 'wp-components' );
44 wp_enqueue_style( 'wp-block-editor' );
45 wp_enqueue_style( 'surecart-themes-default' );
46 wp_enqueue_script( 'surecart-components' );
47 wp_enqueue_script( 'wp-format-library' );
48 wp_enqueue_style( 'wp-format-library' );
49
50 // automatically load dependencies and version.
51 $asset_file = include plugin_dir_path( SURECART_PLUGIN_FILE ) . "dist/$path.asset.php";
52
53 wp_enqueue_script(
54 $handle,
55 trailingslashit( \SureCart::core()->assets()->getUrl() ) . "dist/$path.js",
56 array_merge( $asset_file['dependencies'], $deps ),
57 $asset_file['version'],
58 true
59 );
60
61 wp_register_script( 'suretriggers-sdk', 'https://app.ottokit.com/js/v2/embed.js', array(), '1.0.0', false );
62
63 wp_set_script_translations( $handle, 'surecart' );
64
65 wp_localize_script(
66 $handle,
67 'scData',
68 [
69 'supported_currencies' => Currency::list(),
70 'locales' => Currency::getLocales(),
71 'app_url' => defined( 'SURECART_APP_URL' ) ? untrailingslashit( SURECART_APP_URL ) : 'https://app.surecart.com',
72 'account_id' => \SureCart::account()->id,
73 'account_slug' => \SureCart::account()->slug,
74 'locale' => str_replace( '_', '-', get_locale() ),
75 'api_url' => \SureCart::requests()->getBaseUrl(),
76 'ajax_url' => admin_url( 'admin-ajax.php' ),
77 'home_url' => esc_url_raw( home_url() ),
78 'root_url' => esc_url_raw( get_rest_url() ),
79 'plugin_installer_nonce' => wp_create_nonce( 'updates' ),
80 'currency' => \SureCart::account()->currency,
81 'time_zones' => TimeDate::timezoneOptions(),
82 'entitlements' => \SureCart::account()->entitlements,
83 'brand_color' => \SureCart::account()->brand->color ?? null,
84 'brand_logo_url' => \SureCart::account()->brand->logo_url ?? null,
85 'plan_name' => \SureCart::account()->plan->name ?? '',
86 'processors' => Processor::get(),
87 'is_block_theme' => (bool) wp_is_block_theme(),
88 'should_load_on_demand_assets' => (bool) \SureCart::theme()->shouldLoadOnDemandBlockAssets(),
89 'claim_url' => ! \SureCart::account()->claimed ? \SureCart::routeUrl( 'account.claim' ) : '',
90 'claim_expired' => \SureCart::account()->claim_expired ?? false,
91 'is_woocommerce_active' => class_exists( 'WooCommerce' ),
92 'google_map_api_key' => \SureCart::googleMaps()->getApiKey(),
93 'shop_page_edit_url' => \SureCart::pages()->getId( 'shop' )
94 ? admin_url( 'post.php?post=' . \SureCart::pages()->getId( 'shop' ) . '&action=edit' )
95 : '',
96 'dashboard_page_edit_url' => \SureCart::pages()->getId( 'dashboard' )
97 ? admin_url( 'post.php?post=' . \SureCart::pages()->getId( 'dashboard' ) . '&action=edit' )
98 : '',
99 'show_order_bump_design_toggle' => false !== get_option( 'surecart_order_bump_design' ),
100 ]
101 );
102
103 // Localize data needed by the React sidebar.
104 wp_localize_script(
105 $handle,
106 'scSettingsData',
107 [
108 'has_api_token' => (bool) \SureCart\Models\ApiToken::get(),
109 'abilities_api_available' => function_exists( 'wp_register_ability_category' ),
110 ]
111 );
112
113 // Localize data for the MCP settings tab (client-side routed).
114 wp_localize_script(
115 $handle,
116 'scMCPData',
117 MCPSettings::getLocalizedData()
118 );
119 }
120 }
121