PluginProbe
Getwid – Gutenberg Blocks / 3.0.2
Getwid – Gutenberg Blocks v3.0.2
3.0.2 3.0.1 3.0.0 2.1.0 2.1.1 2.1.2 2.1.3 2.2.0 trunk 1.8.7 1.9.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9
← All changes | includes/scripts-manager.php +346 -314 2.0.103.0.2 View file →
@@ -1,314 +1,346 @@
1 -<?php
2 -
3 -namespace Getwid;
4 -
5 -/**
6 - * Class ScriptsManager
7 - * @package Getwid
8 - */
9 -class ScriptsManager {
10 -
11 - private $version;
12 - private $prefix;
13 -
14 - /**
15 - * ScriptsManager constructor.
16 - */
17 - public function __construct() {
18 -
19 - $settings = getwid()->settings();
20 -
21 - $this->version = $settings->getVersion();
22 - $this->prefix = $settings->getPrefix();
23 -
24 - // Fires after block assets have been enqueued for the editing interface.
25 - add_action( 'enqueue_block_editor_assets', [ $this, 'enqueueEditorAssets'] );
26 -
27 - // Fires after enqueuing block assets for both editor and front-end.
28 - add_action( 'enqueue_block_assets', [ $this, 'enqueueFrontBlockAssets' ] );
29 -
30 - // section_content_width inline styles
31 - add_action( 'after_theme_setup', [ $this, 'enqueue_editor_section_css' ] );
32 -
33 - add_action( 'wp_footer', [ $this, 'localizeFrontend' ] );
34 -
35 - // Register frontend styles
36 - add_action( 'wp_footer', [ $this, 'wp_late_enqueue_scripts' ] );
37 - }
38 -
39 - public function get_image_sizes() {
40 -
41 - global $_wp_additional_image_sizes;
42 -
43 - $intermediate_image_sizes = get_intermediate_image_sizes();
44 -
45 - $image_sizes = array();
46 - foreach ( $intermediate_image_sizes as $size ) {
47 - if ( isset( $_wp_additional_image_sizes[ $size ] ) ) {
48 - $image_sizes[ $size ] = array(
49 - 'width' => $_wp_additional_image_sizes[ $size ][ 'width' ],
50 - 'height' => $_wp_additional_image_sizes[ $size ][ 'height' ]
51 - );
52 - } else {
53 - $image_sizes[ $size ] = array(
54 - 'width' => intval( get_option( "{$size}_size_w" ) ),
55 - 'height' => intval( get_option( "{$size}_size_h" ) )
56 - );
57 - }
58 - }
59 -
60 - $sizes_arr = [];
61 - foreach ( $image_sizes as $key => $value ) {
62 - $temp_arr = [];
63 - $temp_arr[ 'value' ] = $key;
64 - $temp_arr[ 'label' ] = ucwords( strtolower( preg_replace( '/[-_]/', ' ', $key ) ) ) . " - {$value['width']} x {$value['height']}";
65 - $sizes_arr[] = $temp_arr;
66 - }
67 -
68 - $sizes_arr[] = array(
69 - 'value' => 'full',
70 - 'label' => __( 'Full Size', 'getwid' )
71 - );
72 -
73 - return $sizes_arr;
74 - }
75 -
76 - public function load_locale_data() {
77 - $locale_data = $this->get_locale_data( 'getwid' );
78 - wp_add_inline_script(
79 - 'wp-i18n',
80 - 'wp.i18n.setLocaleData( ' . json_encode( $locale_data ) . ', "'. $this->prefix .'" );'
81 - );
82 - }
83 -
84 - public function get_locale_data( $domain ) {
85 - $translations = get_translations_for_domain( $domain );
86 -
87 - $locale = array(
88 - '' => array(
89 - 'domain' => $domain,
90 - 'lang' => is_admin() ? get_user_locale() : get_locale(),
91 - ),
92 - );
93 -
94 - if ( ! empty( $translations->headers[ 'Plural-Forms' ] ) ) {
95 - $locale[ '' ][ 'plural_forms' ] = $translations->headers[ 'Plural-Forms' ];
96 - }
97 -
98 - foreach ( $translations->entries as $msgid => $entry ) {
99 - $locale[ $msgid ] = $entry->translations;
100 - }
101 -
102 - return $locale;
103 - }
104 -
105 - /**
106 - * Enqueue editor-only js and css (Enqueue scripts (only on Edit Post Page))
107 - */
108 - public function enqueueEditorAssets() {
109 -
110 - global $pagenow;
111 -
112 - $dependencies = array( 'wp-i18n', 'wp-element', 'wp-blocks', 'wp-components', 'wp-api', 'wp-api-fetch', 'lodash' );
113 -
114 - if ( $pagenow && $pagenow === 'widgets.php' ) {
115 - array_push( $dependencies, 'wp-edit-widgets' );
116 - } else {
117 - array_push( $dependencies, 'wp-editor' );
118 - }
119 -
120 - // Enqueue the bundled block JS file
121 - wp_enqueue_script(
122 - "{$this->prefix}-blocks-editor-js",
123 - getwid_get_plugin_url( 'assets/js/editor.blocks.js' ),
124 - apply_filters(
125 - 'getwid/editor_blocks_js/dependencies',
126 - $dependencies
127 - ),
128 - $this->version,
129 - true
130 - );
131 -
132 - //disabled blocks
133 - $disabledBlocks = [];
134 - $disabledBlocksData = [];
135 - if ( getwid()->blocksManager()->hasDisabledBlocks() ) {
136 - $disabledBlocks = getwid()->blocksManager()->getDisabledBlocks();
137 - foreach ( $disabledBlocks as $block ) {
138 - $disabledBlocksData[] = $block->getBlockName();
139 - }
140 - }
141 -
142 - $this->load_locale_data();
143 -
144 - wp_localize_script(
145 - "{$this->prefix}-blocks-editor-js",
146 - 'Getwid',
147 - apply_filters(
148 - 'getwid/editor_blocks_js/localize_data',
149 - [
150 - 'localeData' => $this->get_locale_data( 'getwid' ),
151 - 'disabled_blocks' => $disabledBlocksData,
152 - 'settings' => [
153 - 'wide_support' => get_theme_support( 'align-wide' ),
154 - 'date_time_utc' => current_time('Y-m-d H:i:s'),
155 - 'post_type' => get_post_type(),
156 - 'google_api_key' => get_option( 'getwid_google_api_key', '' ),
157 - 'instagram_token_isset' => (bool) get_option( 'getwid_instagram_token', '' ),
158 -
159 - 'assets_path' => getwid_get_plugin_url( '/assets' ),
160 - 'image_sizes' => $this->get_image_sizes(),
161 -
162 - 'excerpt_length' => apply_filters( 'excerpt_length', 55 ),
163 - 'recaptcha_site_key' => get_option( 'getwid_recaptcha_v2_site_key' , '' ),
164 - 'recaptcha_secret_key' => get_option( 'getwid_recaptcha_v2_secret_key', '' ),
165 - 'mailchimp_api_key' => get_option( 'getwid_mailchimp_api_key' , '' ),
166 - 'debug' => ( defined( 'WP_DEBUG' ) ? WP_DEBUG : false )
167 - ],
168 - 'templates' => [
169 - 'name' => getwid()->postTemplatePart()->postType,
170 - 'new' => admin_url( 'post-new.php?post_type=' . getwid()->postTemplatePart()->postType ),
171 - 'view' => admin_url( 'edit.php?post_type=' . getwid()->postTemplatePart()->postType ),
172 - 'edit' => admin_url( 'post.php?post=' )
173 - ],
174 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
175 - 'options_general_url' => admin_url( 'options-general.php' ),
176 - 'get_instagram_token_url' => add_query_arg(
177 - ['nonce' => wp_create_nonce('getwid_nonce_save_instagram_token') ],
178 - admin_url( 'options-general.php' )
179 - ),
180 - 'options_url' => [
181 - 'general' => getwid()->settingsPage()->getTabUrl('general'),
182 - 'appearance' => getwid()->settingsPage()->getTabUrl('appearance'),
183 - 'blocks' => getwid()->settingsPage()->getTabUrl('blocks'),
184 - ],
185 - 'nonces' => array(
186 - 'google_api_key' => wp_create_nonce( 'getwid_nonce_google_api_key' ),
187 - 'recaptcha_v2' => wp_create_nonce( 'getwid_nonce_recaptcha_v2' ),
188 - 'mailchimp_api_key' => wp_create_nonce( 'getwid_nonce_mailchimp_api_key' ),
189 - 'check_instagram_token' => wp_create_nonce( 'getwid_nonce_check_instagram_token' )
190 - ),
191 - 'acf_exist' => getwid_acf_is_active(),
192 - ]
193 - )
194 - );
195 -
196 - $rtl = is_rtl() ? '.rtl' : '';
197 - // Enqueue optional editor only styles
198 - wp_enqueue_style(
199 - "{$this->prefix}-blocks-editor",
200 - getwid_get_plugin_url( 'assets/css/blocks.editor' . $rtl . '.css' ),
201 - apply_filters(
202 - 'getwid/editor_blocks_css/dependencies',
203 - []
204 - ),
205 - $this->version
206 - );
207 - }
208 -
209 - /**
210 - * Enqueue js and css for both editor and front-end
211 - *
212 - */
213 - public function enqueueFrontBlockAssets() {
214 -
215 - // *** Start of Backend & Frontend ***
216 -
217 - /**
218 - * Assets optimization. Currently in Beta.
219 - * @since 1.5.3
220 - */
221 - $_has_enabled_blocks = getwid()->blocksManager()->hasEnabledBlocks();
222 -
223 - if ( $_has_enabled_blocks ) {
224 -
225 - if ( FALSE == getwid()->assetsOptimization()->load_assets_on_demand() || is_admin() ) {
226 -
227 - $rtl = is_rtl() ? '.rtl' : '';
228 -
229 - wp_enqueue_style(
230 - "{$this->prefix}-blocks",
231 - getwid_get_plugin_url( 'assets/css/blocks.style' . $rtl . '.css' ),
232 -
233 - // section, banner, icon-box, icon, image-box, image-hotspot, media-text-slider, video-popup, post-carousel, post-slider, images-slider
234 - /**
235 - * Filters frontend style dependencies.
236 - */
237 - apply_filters(
238 - 'getwid/blocks_style_css/dependencies',
239 - []
240 - ),
241 - $this->version
242 - );
243 -
244 - wp_add_inline_style( "{$this->prefix}-blocks", getwid_generate_section_content_width_css() );
245 - wp_add_inline_style( "{$this->prefix}-blocks", getwid_generate_smooth_animation_css() );
246 - }
247 -
248 - }
249 -
250 - // *** End of Backend & Frontend ***
251 -
252 - /**
253 - * Assets optimization. Currently in Beta.
254 - * @since 1.5.3
255 - */
256 - if ( is_admin() || ! $_has_enabled_blocks || ( TRUE == getwid()->assetsOptimization()->load_assets_on_demand() ) ) {
257 - return;
258 - }
259 -
260 - /**
261 - * Filters frontend script dependencies.
262 - */
263 - wp_enqueue_script(
264 - "{$this->prefix}-blocks-frontend-js",
265 - getwid_get_plugin_url( 'assets/js/frontend.blocks.js' ),
266 - apply_filters(
267 - 'getwid/frontend_blocks_js/dependencies',
268 - [ 'jquery' ]
269 - ),
270 - $this->version,
271 - true
272 - );
273 - }
274 -
275 - public function localizeFrontend() {
276 - wp_localize_script(
277 - "{$this->prefix}-blocks-frontend-js",
278 - 'Getwid',
279 - apply_filters(
280 - 'getwid/frontend_blocks_js/localize_data',
281 - [
282 - 'settings' => [],
283 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
284 - 'isRTL' => is_rtl(),
285 - 'nonces' => array(
286 - 'contact_form' => wp_create_nonce( 'getwid_nonce_send_contact_form' )
287 - ),
288 - ]
289 - )
290 - );
291 - }
292 -
293 - public function wp_late_enqueue_scripts() {
294 -
295 - $should_enqueue_common_style = apply_filters('getwid/optimize/should_load_common_css', false);
296 -
297 - if ( TRUE == getwid()->assetsOptimization()->load_assets_on_demand() && $should_enqueue_common_style ) {
298 -
299 - $rtl = is_rtl() ? '.rtl' : '';
300 -
301 - wp_enqueue_style(
302 - "{$this->prefix}-blocks-common",
303 - getwid_get_plugin_url( 'assets/blocks/common.style' . $rtl . '.css' ),
304 - [],
305 - $this->version
306 - );
307 - }
308 - }
309 -
310 - function enqueue_editor_section_css() {
311 - add_editor_style( getwid_generate_section_content_width_css() );
312 - }
313 -
314 -}
1 +<?php
2 +
3 +namespace Getwid;
4 +
5 +/**
6 + * Class ScriptsManager
7 + * @package Getwid
8 + */
9 +class ScriptsManager {
10 +
11 + private $version;
12 + private $prefix;
13 +
14 + /**
15 + * ScriptsManager constructor.
16 + */
17 + public function __construct() {
18 +
19 + $settings = getwid()->settings();
20 +
21 + $this->version = $settings->getVersion();
22 + $this->prefix = $settings->getPrefix();
23 +
24 + add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ), 10 );
25 + add_action( 'enqueue_block_assets', array( $this, 'enqueue_block_assets' ), 10 );
26 +
27 + add_action( 'enqueue_block_assets', array( $this, 'enqueue_common_blocks_assets' ), 15 );
28 + }
29 +
30 + public function enqueue_block_editor_assets() {
31 +
32 + $this->setup_editor_global_data();
33 +
34 + $style_url = getwid_get_plugin_url( '/assets/components/index.css' );
35 + $script_url = getwid_get_plugin_url( '/assets/components/index.js' );
36 + $asset_path = getwid_get_plugin_path( '/assets/components/index.asset.php' );
37 +
38 + if ( ! file_exists( $asset_path ) ) {
39 + return;
40 + }
41 +
42 + $asset = include $asset_path;
43 +
44 + wp_enqueue_script(
45 + 'getwid-components',
46 + $script_url,
47 + $asset['dependencies'],
48 + $asset['version'],
49 + );
50 +
51 + $disabled_blocks = array();
52 + $disabled_blocks_data = array();
53 + if ( getwid()->blocksManager()->hasDisabledBlocks() ) {
54 + $disabled_blocks = getwid()->blocksManager()->getDisabledBlocks();
55 + foreach ( $disabled_blocks as $block ) {
56 + $disabled_blocks_data[] = $block->get_block_name();
57 + }
58 + }
59 +
60 + $data = apply_filters(
61 + 'getwid/editor_blocks_js/localize_data',
62 + array(
63 + 'disabledBlocks' => $disabled_blocks_data,
64 + 'optionsUrl' => array(
65 + 'general' => getwid()->settingsPage()->getTabUrl( 'general' ),
66 + 'appearance' => getwid()->settingsPage()->getTabUrl( 'appearance' ),
67 + 'blocks' => getwid()->settingsPage()->getTabUrl( 'blocks' ),
68 + ),
69 + 'templates' => array(
70 + 'name' => getwid()->postTemplatePart()->postType,
71 + 'new' => admin_url( 'post-new.php?post_type=' . getwid()->postTemplatePart()->postType ),
72 + 'view' => admin_url( 'edit.php?post_type=' . getwid()->postTemplatePart()->postType ),
73 + 'edit' => admin_url( 'post.php?post=' ),
74 + ),
75 + 'settings' => array(
76 + 'image_sizes' => $this->get_image_sizes(),
77 + ),
78 + )
79 + );
80 + wp_add_inline_script( 'getwid-components', 'const GetwidComponentsData = ' . json_encode( $data ), 'before' );
81 +
82 + wp_enqueue_style(
83 + 'getwid-components',
84 + $style_url,
85 + apply_filters(
86 + 'getwid/editor_blocks_css/dependencies',
87 + array( 'wp-components' )
88 + ),
89 + $asset['version']
90 + );
91 +
92 + wp_register_style(
93 + "{$this->prefix}-blocks-editor-common",
94 + getwid_get_plugin_url( 'assets/common-styles/editor.css' ),
95 + array(),
96 + $this->version
97 + );
98 +
99 + wp_style_add_data( "{$this->prefix}-blocks-editor-common", 'rtl', 'replace' );
100 + }
101 +
102 + public function enqueue_block_assets() {
103 +
104 + wp_register_script(
105 + 'slick',
106 + getwid_get_plugin_url( 'vendors/slick/slick/slick.min.js' ),
107 + array( 'jquery' ),
108 + '1.9.0',
109 + true
110 + );
111 +
112 + wp_add_inline_script(
113 + 'slick',
114 + sprintf(
115 + 'window.Getwid = window.Getwid || {}; window.Getwid = {...window.Getwid, ...%s};',
116 + wp_json_encode(
117 + array( 'isRTL' => is_rtl() )
118 + )
119 + ),
120 + 'before'
121 + );
122 +
123 + wp_register_style(
124 + 'slick',
125 + getwid_get_plugin_url( 'vendors/slick/slick/slick.min.css' ),
126 + array(),
127 + '1.9.0'
128 + );
129 +
130 + wp_register_style(
131 + 'slick-theme',
132 + getwid_get_plugin_url( 'vendors/slick/slick/slick-theme.min.css' ),
133 + array(),
134 + '1.9.0'
135 + );
136 +
137 + wp_register_style(
138 + 'animate',
139 + getwid_get_plugin_url( 'vendors/animate.css/animate.min.css' ),
140 + array(),
141 + '3.7.0'
142 + );
143 +
144 + wp_register_script(
145 + 'wow',
146 + getwid_get_plugin_url( 'vendors/wow.js/dist/wow.min.js' ),
147 + array( 'jquery' ),
148 + '1.2.1',
149 + true
150 + );
151 +
152 + wp_register_script(
153 + 'mp-fancybox',
154 + getwid_get_plugin_url( 'vendors/mp-fancybox/jquery.fancybox.min.js' ),
155 + array( 'jquery' ),
156 + '3.5.7-mp.1',
157 + true
158 + );
159 +
160 + wp_register_style(
161 + 'mp-fancybox',
162 + getwid_get_plugin_url( 'vendors/mp-fancybox/jquery.fancybox.min.css' ),
163 + array(),
164 + '3.5.7-mp.1'
165 + );
166 +
167 + wp_register_script(
168 + 'countup',
169 + getwid_get_plugin_url( 'vendors/countup.js/dist/countUp.min.js' ),
170 + array(),
171 + '2.0.4',
172 + true
173 + );
174 +
175 + wp_register_script(
176 + 'waypoints',
177 + getwid_get_plugin_url( 'vendors/waypoints/lib/jquery.waypoints.min.js' ),
178 + array( 'jquery' ),
179 + '4.0.1',
180 + true
181 + );
182 +
183 + wp_register_script(
184 + 'popper',
185 + getwid_get_plugin_url( 'vendors/tippy.js/popper.min.js' ),
186 + array( 'jquery' ),
187 + '2.4.0',
188 + true
189 + );
190 +
191 + wp_register_script(
192 + 'tippy',
193 + getwid_get_plugin_url( 'vendors/tippy.js/tippy-bundle.umd.min.js' ),
194 + array( 'jquery', 'popper' ),
195 + '6.2.3',
196 + true
197 + );
198 +
199 + wp_register_script(
200 + 'unescape',
201 + getwid_get_plugin_url( 'vendors/lodash.unescape/unescape.min.js' ),
202 + array(),
203 + '4.0.1',
204 + true
205 + );
206 +
207 + wp_register_style(
208 + 'tippy-themes',
209 + getwid_get_plugin_url( 'vendors/tippy.js/themes.css' ),
210 + array(),
211 + '6.2.3'
212 + );
213 +
214 + wp_register_style(
215 + 'tippy-animation',
216 + getwid_get_plugin_url( 'vendors/tippy.js/animations.css' ),
217 + array(),
218 + '6.2.3'
219 + );
220 + }
221 +
222 + public function setup_editor_global_data() {
223 + $disabled_blocks = array();
224 + $disabled_blocks_data = array();
225 + if ( getwid()->blocksManager()->hasDisabledBlocks() ) {
226 + $disabled_blocks = getwid()->blocksManager()->getDisabledBlocks();
227 + foreach ( $disabled_blocks as $block ) {
228 + $disabled_blocks_data[] = $block->get_block_name();
229 + }
230 + }
231 +
232 + $current_user_can_manage_options = current_user_can( 'manage_options' );
233 +
234 + $mailchimp_api_key = get_option( 'getwid_mailchimp_api_key', '' );
235 +
236 + if ( ! $current_user_can_manage_options ) {
237 + $mailchimp_api_key = $mailchimp_api_key ? '1' : '';
238 + }
239 +
240 + $recaptcha_site_key = $current_user_can_manage_options ? get_option( 'getwid_recaptcha_v2_site_key', '' ) : '1';
241 + $recaptcha_secret_key = $current_user_can_manage_options ? get_option( 'getwid_recaptcha_v2_secret_key', '' ) : '1';
242 +
243 + $data = apply_filters(
244 + 'getwid/editor_blocks_js/localize_data',
245 + array(
246 + 'disabled_blocks' => $disabled_blocks_data,
247 + 'settings' => array(
248 + 'wide_support' => get_theme_support( 'align-wide' ),
249 + 'date_time_utc' => current_time( 'Y-m-d H:i:s' ),
250 + 'post_type' => get_post_type(),
251 + 'google_api_key' => get_option( 'getwid_google_api_key', '' ),
252 + 'instagram_token_isset' => (bool) get_option( 'getwid_instagram_token', '' ),
253 +
254 + 'assets_path' => getwid_get_plugin_url( '/assets' ),
255 + 'image_sizes' => $this->get_image_sizes(),
256 +
257 + 'excerpt_length' => apply_filters( 'excerpt_length', 55 ),
258 + 'recaptcha_site_key' => $recaptcha_site_key,
259 + 'recaptcha_secret_key' => $recaptcha_secret_key,
260 + 'mailchimp_api_key' => $mailchimp_api_key,
261 + 'debug' => ( defined( 'WP_DEBUG' ) ? WP_DEBUG : false ),
262 + ),
263 + 'templates' => array(
264 + 'name' => getwid()->postTemplatePart()->postType,
265 + 'new' => admin_url( 'post-new.php?post_type=' . getwid()->postTemplatePart()->postType ),
266 + 'view' => admin_url( 'edit.php?post_type=' . getwid()->postTemplatePart()->postType ),
267 + 'edit' => admin_url( 'post.php?post=' ),
268 + ),
269 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
270 + 'options_general_url' => admin_url( 'options-general.php' ),
271 + 'get_instagram_token_url' => add_query_arg(
272 + array( 'nonce' => wp_create_nonce( 'getwid_nonce_save_instagram_token' ) ),
273 + admin_url( 'options-general.php' )
274 + ),
275 + 'options_url' => array(
276 + 'general' => getwid()->settingsPage()->getTabUrl( 'general' ),
277 + 'appearance' => getwid()->settingsPage()->getTabUrl( 'appearance' ),
278 + 'blocks' => getwid()->settingsPage()->getTabUrl( 'blocks' ),
279 + ),
280 + 'nonces' => array(
281 + 'google_api_key' => wp_create_nonce( 'getwid_nonce_google_api_key' ),
282 + 'recaptcha_v2' => wp_create_nonce( 'getwid_nonce_recaptcha_v2' ),
283 + 'mailchimp_api_key' => wp_create_nonce( 'getwid_nonce_mailchimp_api_key' ),
284 + 'check_instagram_token' => wp_create_nonce( 'getwid_nonce_check_instagram_token' ),
285 + ),
286 + 'acf_exist' => getwid_acf_is_active(),
287 + 'current_user' => array(
288 + 'can_manage_options' => $current_user_can_manage_options,
289 + ),
290 + )
291 + );
292 +
293 + wp_add_inline_script( 'wp-blocks', 'const Getwid = ' . wp_json_encode( $data ), 'before' );
294 + }
295 +
296 + public function get_image_sizes() {
297 +
298 + global $_wp_additional_image_sizes;
299 +
300 + $intermediate_image_sizes = get_intermediate_image_sizes();
301 +
302 + $image_sizes = array();
303 + foreach ( $intermediate_image_sizes as $size ) {
304 + if ( isset( $_wp_additional_image_sizes[ $size ] ) ) {
305 + $image_sizes[ $size ] = array(
306 + 'width' => $_wp_additional_image_sizes[ $size ]['width'],
307 + 'height' => $_wp_additional_image_sizes[ $size ]['height'],
308 + );
309 + } else {
310 + $image_sizes[ $size ] = array(
311 + 'width' => intval( get_option( "{$size}_size_w" ) ),
312 + 'height' => intval( get_option( "{$size}_size_h" ) ),
313 + );
314 + }
315 + }
316 +
317 + $sizes_arr = array();
318 + foreach ( $image_sizes as $key => $value ) {
319 + $temp_arr = array();
320 + $temp_arr['value'] = $key;
321 + $temp_arr['label'] = ucwords( strtolower( preg_replace( '/[-_]/', ' ', $key ) ) ) . " - {$value['width']} x {$value['height']}";
322 + $sizes_arr[] = $temp_arr;
323 + }
324 +
325 + $sizes_arr[] = array(
326 + 'value' => 'full',
327 + 'label' => __( 'Full Size', 'getwid' ),
328 + );
329 +
330 + return $sizes_arr;
331 + }
332 +
333 + public function enqueue_common_blocks_assets() {
334 + wp_enqueue_style(
335 + "{$this->prefix}-blocks-common",
336 + getwid_get_plugin_url( 'assets/common-styles/style.css' ),
337 + array(),
338 + $this->version,
339 + );
340 +
341 + wp_style_add_data( "{$this->prefix}-blocks-common", 'rtl', 'replace' );
342 +
343 + wp_add_inline_style( "{$this->prefix}-blocks-common", getwid_generate_section_content_width_css() );
344 + wp_add_inline_style( "{$this->prefix}-blocks-common", getwid_generate_smooth_animation_css() );
345 + }
346 +}