| @@ -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', [ |