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 / Settings / BaseSettings.php
surecart / app / src / Controllers / Admin / Settings Last commit date
AbandonedCheckoutSettings.php 3 years ago AccountSettings.php 3 years ago AdvancedSettings.php 3 years ago BaseSettings.php 3 years ago BrandSettings.php 3 years ago CacheSettings.php 3 years ago ConnectionSettings.php 3 years ago CustomerSettings.php 3 years ago ExportSettings.php 3 years ago OrderSettings.php 3 years ago PortalSettings.php 3 years ago ProcessorsSettings.php 3 years ago SubscriptionSettings.php 3 years ago TaxRegionSettings.php 3 years ago TaxSettings.php 3 years ago UpgradeSettings.php 3 years ago
BaseSettings.php
114 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 * Controls the settings page.
11 */
12 abstract class BaseSettings {
13 /**
14 * Script handles for pages
15 *
16 * @var array
17 */
18 protected $scripts = [];
19
20 /**
21 * The template for the page.
22 *
23 * @var string
24 */
25 protected $template = 'admin/settings-page';
26
27 /**
28 * Additional dependencies for this page.
29 *
30 * @var array
31 */
32 protected $dependencies = [];
33
34 /**
35 * Show the page.
36 *
37 * @param \SureCartCore\Requests\RequestInterface $request Request.
38 * @return function
39 */
40 public function show( \SureCartCore\Requests\RequestInterface $request ) {
41 add_action( 'admin_enqueue_scripts', [ $this, 'showScripts' ] );
42
43 return \SureCart::view( $this->template )->with(
44 [
45 'tab' => $request->query( 'tab' ) ?? '',
46 'is_free' => (bool) ( \SureCart::account()->plan->free ?? true ),
47 'entitlements' => \SureCart::account()->entitlements,
48 'upgrade_url' => \SureCart::config()->links->purchase,
49 'status' => $request->query( 'status' ),
50 ]
51 );
52 }
53
54 /**
55 * Enqueue the show scripts.
56 *
57 * @return void
58 */
59 public function showScripts() {
60 if ( ! empty( $this->scripts['show'] ) ) {
61 $this->enqueue( $this->scripts['show'][0], $this->scripts['show'][1] );
62 }
63 }
64
65 /**
66 * Enqueue a script.
67 *
68 * @param string $handle Script handle.
69 * @param string $path Path to script.
70 * @param array $deps Dependencies.
71 *
72 * @return void
73 */
74 public function enqueue( $handle, $path, $deps = [] ) {
75 $deps = array_merge( $deps, $this->dependencies );
76 $deps = array_merge( $deps, [ 'sc-ui-data', 'wp-data', 'wp-core-data' ] );
77
78 wp_enqueue_media();
79 wp_enqueue_style( 'wp-components' );
80 wp_enqueue_style( 'wp-block-editor' );
81 wp_enqueue_style( 'surecart-themes-default' );
82 wp_enqueue_script( 'surecart-components' );
83 wp_enqueue_script( 'wp-format-library' );
84 wp_enqueue_style( 'wp-format-library' );
85
86 // automatically load dependencies and version.
87 $asset_file = include plugin_dir_path( SURECART_PLUGIN_FILE ) . "dist/$path.asset.php";
88
89 // Enqueue scripts.
90 \SureCart::core()->assets()->enqueueScript(
91 $handle,
92 trailingslashit( \SureCart::core()->assets()->getUrl() ) . "dist/$path.js",
93 array_merge( $asset_file['dependencies'], $deps ),
94 $asset_file['version'] . '-' . \SureCart::plugin()->version()
95 );
96
97 wp_set_script_translations( $handle, 'surecart' );
98
99 wp_localize_script(
100 $handle,
101 'scData',
102 [
103 'supported_currencies' => Currency::getSupportedCurrencies(),
104 'app_url' => defined( 'SURECART_APP_URL' ) ? untrailingslashit( SURECART_APP_URL ) : 'https://app.surecart.com',
105 'api_url' => defined( 'SURECART_API_URL' ) ? untrailingslashit( SURECART_API_URL ) : \SureCart::requests()->getBaseUrl(),
106 'time_zones' => TimeDate::timezoneOptions(),
107 'entitlements' => \SureCart::account()->entitlements,
108 'plan_name' => \SureCart::account()->plan->name ?? '',
109 'processors' => Processor::get(),
110 ]
111 );
112 }
113 }
114