PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.6.1
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
← All changes | app/src/Support/Scripts/AdminModelEditController.php +20 -110 4.7.23.6.1 View file →
@@ -1,8 +1,9 @@
1 1 <?php
2 2
3 3 namespace SureCart\Support\Scripts;
4 4
5 +use SureCart\Models\Account;
5 6 use SureCart\Support\Currency;
6 7
7 8 /**
8 9 * Class for model edit pages to extend.
@@ -36,16 +37,8 @@
36 37 */
37 38 protected $dependencies = [ 'sc-core-data', 'sc-ui-data' ];
38 39
39 40 /**
40 - * Whether this admin screen renders a `@wordpress/dataviews` table and
41 - * needs the bundled DataViews stylesheet.
42 - *
43 - * @var bool
44 - */
45 - protected $needs_dataviews_style = false;
46 -
47 - /**
48 41 * Data to pass to the page.
49 42 *
50 43 * @var array
51 44 */
@@ -68,13 +61,8 @@
68 61 wp_enqueue_style( 'wp-components' );
69 62 wp_enqueue_style( 'wp-editor' );
70 63 }
71 64
72 - /**
73 - * Enqueue components
74 - *
75 - * @return void
76 - */
77 65 public function enqueueComponents() {
78 66 wp_enqueue_script( 'surecart-components' );
79 67 wp_enqueue_style( 'surecart-themes-default' );
80 68 wp_add_inline_style(
@@ -87,32 +75,8 @@
87 75 );
88 76 }
89 77
90 78 /**
91 - * Enqueue the bundled `@wordpress/dataviews` stylesheet copied to
92 - * `dist/vendor/` at build time. See `webpack.config.js` for the
93 - * CopyPlugin pattern that produces this file.
94 - *
95 - * Only enqueues when `$needs_dataviews_style` is set on the controller.
96 - */
97 - protected function enqueueDataviewsStyle(): void {
98 - if ( ! $this->needs_dataviews_style ) {
99 - return;
100 - }
101 - $relative = is_rtl() ? 'dist/vendor/dataviews-rtl.css' : 'dist/vendor/dataviews.css';
102 - $abs_path = plugin_dir_path( SURECART_PLUGIN_FILE ) . $relative;
103 - if ( ! file_exists( $abs_path ) ) {
104 - return;
105 - }
106 - wp_enqueue_style(
107 - 'sc-dataviews',
108 - trailingslashit( \SureCart::core()->assets()->getUrl() ) . $relative,
109 - [],
110 - defined( 'SURECART_VERSION' ) ? SURECART_VERSION : (string) filemtime( $abs_path )
111 - );
112 - }
113 -
114 - /**
115 79 * Enqueue scripts
116 80 *
117 81 * @return void
118 82 */
@@ -122,9 +86,8 @@
122 86 }
123 87
124 88 // components are also used on index pages.
125 89 $this->enqueueComponents();
126 - $this->enqueueDataviewsStyle();
127 90
128 91 // match url query for the scripts.
129 92 if ( ! empty( $this->url_query ) ) {
130 93 foreach ( $this->url_query as $param => $value ) {
@@ -137,9 +100,9 @@
137 100
138 101 // enqueue dependencies.
139 102 $this->enqueueScriptDependencies();
140 103
141 - // Fix Jetpack script key hijacking issues.
104 + // fix shitty jetpack issues key hijacking issues.
142 105 add_filter(
143 106 'admin_head',
144 107 function () {
145 108 wp_dequeue_script( 'wpcom-notes-common' );
@@ -150,86 +113,36 @@
150 113 200
151 114 );
152 115
153 116 // automatically load dependencies and version.
154 - $asset_file_path = plugin_dir_path( SURECART_PLUGIN_FILE ) . "dist/$this->path.asset.php";
155 - if ( ! file_exists( $asset_file_path ) ) {
156 - // Bundle hasn't been built yet (e.g. fresh install or the entry
157 - // was just added without running `yarn build`). Bail rather than
158 - // crashing on an `array_merge( null, ... )`.
159 - return;
160 - }
161 - $asset_file = include $asset_file_path;
117 + $asset_file = include plugin_dir_path( SURECART_PLUGIN_FILE ) . "dist/$this->path.asset.php";
162 118
163 - // Fall back to plugin version so we still cache-bust on upgrade if
164 - // the asset manifest is missing or malformed.
165 - $version = $asset_file['version'] ?? ( defined( 'SURECART_VERSION' ) ? SURECART_VERSION : null );
166 -
167 119 // Enqueue scripts.
168 120 wp_enqueue_script(
169 121 $this->handle,
170 122 trailingslashit( \SureCart::core()->assets()->getUrl() ) . "dist/$this->path.js",
171 - array_merge( $asset_file['dependencies'] ?? [], $this->dependencies ),
172 - $version,
123 + array_merge( $asset_file['dependencies'], $this->dependencies ),
124 + $asset_file['version'],
173 125 true
174 126 );
175 127
176 - // Enqueue extracted CSS if the build produced a stylesheet for this entry.
177 - $style_path = plugin_dir_path( SURECART_PLUGIN_FILE ) . "dist/$this->path.css";
178 - if ( file_exists( $style_path ) ) {
179 - wp_enqueue_style(
180 - $this->handle,
181 - trailingslashit( \SureCart::core()->assets()->getUrl() ) . "dist/$this->path.css",
182 - array(),
183 - $version
184 - );
185 - }
186 -
187 - // Enqueue the vendor/library stylesheet (style-{entry}.css) produced by splitChunks.
188 - $vendor_style_basename = 'style-' . basename( $this->path );
189 - $vendor_style_dir = dirname( $this->path );
190 - $vendor_style_rel = ( '.' === $vendor_style_dir ? '' : $vendor_style_dir . '/' ) . $vendor_style_basename . '.css';
191 - $vendor_style_path = plugin_dir_path( SURECART_PLUGIN_FILE ) . "dist/$vendor_style_rel";
192 - if ( file_exists( $vendor_style_path ) ) {
193 - wp_enqueue_style(
194 - $this->handle . '-vendor',
195 - trailingslashit( \SureCart::core()->assets()->getUrl() ) . "dist/$vendor_style_rel",
196 - array(),
197 - $version
198 - );
199 - }
200 -
201 - if ( $this->needs_dataviews_style ) {
202 - $this->data['enhanced_admin_views_enabled'] = (bool) get_option( 'surecart_enhanced_admin_views', true );
203 - $this->data['modern_view_intro'] = \SureCart\Settings\SettingService::getModernViewIntroData();
204 - }
205 -
206 128 // pass app url.
207 - $this->data['upgrade_url'] = \SureCart::config()->links->purchase;
208 - $this->data['surecart_app_url'] = defined( 'SURECART_APP_URL' ) ? SURECART_APP_URL : '';
209 - $this->data['account_id'] = \SureCart::account()->id ?? '';
210 - $this->data['account_slug'] = \SureCart::account()->slug ?? '';
211 - $this->data['api_url'] = \SureCart::requests()->getBaseUrl();
212 - $this->data['plugin_url'] = \SureCart::core()->assets()->getUrl();
213 - $this->data['locale'] = str_replace( '_', '-', get_locale() );
214 - $this->data['root_url'] = esc_url_raw( get_rest_url() );
215 - $this->data['home_url'] = untrailingslashit( get_home_url() );
216 - $this->data['site_name'] = get_bloginfo( 'name' );
217 - $this->data['site_icon_url'] = get_site_icon_url( 96 );
218 - $this->data['buy_page_slug'] = untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'buy_page' ) );
219 - $this->data['product_page_slug'] = untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'product_page' ) );
220 - $this->data['collection_page_slug'] = untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'collection_page' ) );
221 - $this->data['is_block_theme'] = \SureCart::utility()->blockTemplates()->isFSETheme();
222 - $this->data['claim_url'] = ! \SureCart::account()->claimed ? \SureCart::routeUrl( 'account.claim' ) : '';
223 - $this->data['claim_expired'] = \SureCart::account()->claim_expired ?? false;
224 - $this->data['is_woocommerce_active'] = class_exists( 'WooCommerce' );
129 + $this->data['upgrade_url'] = \SureCart::config()->links->purchase;
130 + $this->data['surecart_app_url'] = defined( 'SURECART_APP_URL' ) ? SURECART_APP_URL : '';
131 + $this->data['account_id'] = \SureCart::account()->id ?? '';
132 + $this->data['account_slug'] = \SureCart::account()->slug ?? '';
133 + $this->data['api_url'] = \SureCart::requests()->getBaseUrl();
134 + $this->data['plugin_url'] = \SureCart::core()->assets()->getUrl();
135 + $this->data['home_url'] = untrailingslashit( get_home_url() );
136 + $this->data['buy_page_slug'] = untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'buy_page' ) );
137 + $this->data['product_page_slug'] = untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'product_page' ) );
138 + $this->data['collection_page_slug'] = untrailingslashit( \SureCart::settings()->permalinks()->getBase( 'collection_page' ) );
139 + $this->data['is_block_theme'] = \SureCart::utility()->blockTemplates()->isFSETheme();
140 + $this->data['claim_url'] = ! \SureCart::account()->claimed ? \SureCart::routeUrl( 'account.claim' ) : '';
225 141
226 142 if ( in_array( 'currency', $this->with_data ) ) {
227 143 $this->data['currency_code'] = \SureCart::account()->currency;
228 144 }
229 - if ( in_array( 'review_protocol', $this->with_data ) ) {
230 - $this->data['review_protocol'] = \SureCart::account()->review_protocol;
231 - }
232 145 if ( in_array( 'tax_protocol', $this->with_data ) ) {
233 146 $this->data['tax_protocol'] = \SureCart::account()->tax_protocol;
234 147 }
235 148 if ( in_array( 'shipping_protocol', $this->with_data ) ) {
@@ -246,18 +159,15 @@
246 159 foreach ( array_keys( \SureCart::getAdminPageNames() ) as $name ) {
247 160 $this->data['links'][ $name ] = esc_url_raw( add_query_arg( [ 'action' => 'edit' ], \SureCart::getUrl()->index( $name ) ) );
248 161 }
249 162 }
250 - if ( in_array( 'google_map_api_key', $this->with_data ) ) {
251 - $this->data['google_map_api_key'] = \SureCart::googleMaps()->getApiKey();
163 + if ( in_array( 'i18n', $this->with_data ) ) {
164 + $this->data['i18n'] = \SureCart::state()->i18n()->get();
252 165 }
253 166
254 167 // pass entitlements to page.
255 168 $this->data['entitlements'] = \SureCart::account()->entitlements;
256 - $this->data['get_locale'] = str_replace( '_', '-', determine_locale() );
257 -
258 - // pass wp user roles to page.
259 - $this->data['wp_user_roles'] = get_editable_roles();
169 + $this->data['get_locale'] = str_replace( '_', '-', get_locale() );
260 170
261 171 wp_set_script_translations( $this->handle, 'surecart' );
262 172
263 173 // common localizations.