PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.83
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.83
51.1.84 51.1.85 51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 51.1.46 All 39 releases
← All changes | includes/RegisterAssets.php +29 -16 51.1.6451.1.83 View file →
@@ -111,9 +111,9 @@
111 111
112 112 if(KING_ADDONS_WGT_FORM_BUILDER) {
113 113 wp_localize_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-form-builder-script', 'KingAddonsFormBuilderData', [
114 114 'ajaxurl' => admin_url('admin-ajax.php'),
115 - // Security fix: Remove public nonce exposure - generate dynamically in AJAX handlers
115 + 'nonce' => wp_create_nonce('king-addons-js'),
116 116 'input_empty' => esc_html__('Please fill out this field', 'king-addons'),
117 117 'select_empty' => esc_html__('Nothing selected', 'king-addons'),
118 118 'file_empty' => esc_html__('Please upload a file', 'king-addons'),
119 119 'recaptcha_v3_site_key' => get_option('king_addons_recaptcha_v3_site_key'),
@@ -120,22 +120,8 @@
120 120 'recaptcha_error' => esc_html__('Recaptcha Error', 'king-addons'),
121 121 ]);
122 122 }
123 123
124 - // Localize form builder script - Security fix: Remove public nonce exposure
125 - if (KING_ADDONS_WGT_FORM_BUILDER) {
126 - wp_localize_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-form-builder-script', 'king_addons_form_builder_vars', [
127 - 'ajax_url' => admin_url('admin-ajax.php'),
128 - // Security fix: Remove public nonce exposure - generate dynamically in AJAX handlers
129 - 'required_text' => esc_html__('This field is required', 'king-addons'),
130 - 'email_text' => esc_html__('Enter a valid email', 'king-addons'),
131 - 'select_empty' => esc_html__('Nothing selected', 'king-addons'),
132 - 'file_empty' => esc_html__('Please upload a file', 'king-addons'),
133 - 'recaptcha_v3_site_key' => get_option('king_addons_recaptcha_v3_site_key'),
134 - 'recaptcha_error' => esc_html__('Recaptcha Error', 'king-addons'),
135 - ]);
136 - }
137 -
138 124 foreach (ModulesMap::getModulesMapArray()['features'] as $feature_id => $feature_array) {
139 125 foreach ($feature_array['js'] as $js) {
140 126 wp_register_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-' . $feature_id . '-' . $js, KING_ADDONS_URL . 'includes/features/' . $feature_array['php-class'] . '/' . $js . '.js', null, KING_ADDONS_VERSION);
141 127 }
@@ -146,14 +132,41 @@
146 132 * Register libraries files
147 133 */
148 134 function registerLibrariesFiles(): void
149 135 {
136 + $jquery_libraries = [
137 + 'grid',
138 + 'isotope',
139 + 'slick',
140 + 'lightgallery',
141 + 'infinitescroll',
142 + 'imagesloaded',
143 + 'jqueryeventmove',
144 + 'jquerynumerator',
145 + 'jarallax',
146 + 'flipclock',
147 + 'fullpage',
148 + 'marquee',
149 + 'parallax',
150 + 'perfectscrollbar',
151 + 'wpcolorpicker',
152 + 'aos',
153 + ];
154 +
150 155 foreach (LibrariesMap::getLibrariesMapArray()['libraries'] as $library_id => $library_array) {
151 156 foreach ($library_array['css'] as $css) {
152 157 wp_register_style(KING_ADDONS_ASSETS_UNIQUE_KEY . '-' . $library_id . '-' . $css, KING_ADDONS_URL . 'includes/assets/libraries/' . $library_id . '/' . $css . '.css', null, KING_ADDONS_VERSION);
153 158 }
154 159 foreach ($library_array['js'] as $js) {
155 - wp_register_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-' . $library_id . '-' . $js, KING_ADDONS_URL . 'includes/assets/libraries/' . $library_id . '/' . $js . '.js', null, KING_ADDONS_VERSION);
160 + $dependencies = in_array($library_id, $jquery_libraries, true) ? ['jquery'] : [];
161 +
162 + wp_register_script(
163 + KING_ADDONS_ASSETS_UNIQUE_KEY . '-' . $library_id . '-' . $js,
164 + KING_ADDONS_URL . 'includes/assets/libraries/' . $library_id . '/' . $js . '.js',
165 + $dependencies,
166 + KING_ADDONS_VERSION,
167 + true
168 + );
156 169 }
157 170 }
158 171
159 172 wp_localize_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-grid-grid', 'KingAddonsGridData', [