| @@ -10,8 +10,9 @@ | ||
| 10 | 10 | $include_js = isset($usp_options['usp_include_js']) ? $usp_options['usp_include_js'] : null; |
| 11 | 11 | $form_type = isset($usp_options['usp_form_version']) ? $usp_options['usp_form_version'] : null; |
| 12 | 12 | $display_url = isset($usp_options['usp_display_url']) ? $usp_options['usp_display_url'] : null; |
| 13 | 13 | $recaptcha = isset($usp_options['usp_recaptcha']) ? $usp_options['usp_recaptcha'] : null; |
| 14 | + $turnstile = isset($usp_options['usp_turnstile']) ? $usp_options['usp_turnstile'] : null; | |
| 14 | 15 | $multi_cats = isset($usp_options['multiple-cats']) ? $usp_options['multiple-cats'] : null; |
| 15 | 16 | $existing_tags = isset($usp_options['usp_existing_tags']) ? $usp_options['usp_existing_tags'] : null; |
| 16 | 17 | |
| 17 | 18 | $protocol = is_ssl() ? 'https://' : 'http://'; |
| @@ -78,8 +79,16 @@ | ||
| 78 | 79 | array_push($deps, 'usp_recaptcha'); |
| 79 | 80 | |
| 80 | 81 | } |
| 81 | 82 | |
| 83 | + if ($turnstile === 'show') { | |
| 84 | + | |
| 85 | + usp_enqueue_turnstile(); | |
| 86 | + | |
| 87 | + array_push($deps, 'usp_turnstile'); | |
| 88 | + | |
| 89 | + } | |
| 90 | + | |
| 82 | 91 | if ($multi_cats || $existing_tags) { |
| 83 | 92 | |
| 84 | 93 | wp_enqueue_script('usp_chosen', $plugin_url .'/resources/jquery.chosen.js', array('jquery'), USP_VERSION); |
| 85 | 94 | |
| @@ -94,8 +103,10 @@ | ||
| 94 | 103 | wp_enqueue_script('usp_cookie', $plugin_url .'/resources/jquery.cookie.js', array('jquery'), USP_VERSION); |
| 95 | 104 | wp_enqueue_script('usp_parsley', $plugin_url .'/resources/jquery.parsley.min.js', array('jquery'), USP_VERSION); |
| 96 | 105 | wp_enqueue_script('usp_core', $plugin_url .'/resources/jquery.usp.core.js', $deps, USP_VERSION); |
| 97 | 106 | |
| 107 | + do_action('usp_enqueue_after', $plugin_url, $deps); | |
| 108 | + | |
| 98 | 109 | usp_inline_script(); |
| 99 | 110 | |
| 100 | 111 | } |
| 101 | 112 | |
| @@ -130,8 +141,14 @@ | ||
| 130 | 141 | } |
| 131 | 142 | |
| 132 | 143 | } |
| 133 | 144 | |
| 145 | +function usp_enqueue_turnstile() { | |
| 146 | + | |
| 147 | + wp_enqueue_script('usp_turnstile', 'https://challenges.cloudflare.com/turnstile/v0/api.js', array(), null); | |
| 148 | + | |
| 149 | +} | |
| 150 | + | |
| 134 | 151 | function usp_inline_script() { |
| 135 | 152 | |
| 136 | 153 | global $usp_options; |
| 137 | 154 | |
| @@ -140,9 +157,8 @@ | ||
| 140 | 157 | $custom_field = isset($usp_options['custom_name']) ? $usp_options['custom_name'] : ''; |
| 141 | 158 | $custom_field_2 = isset($usp_options['custom_name_2']) ? $usp_options['custom_name_2'] : ''; |
| 142 | 159 | $custom_checkbox = isset($usp_options['custom_checkbox_name']) ? $usp_options['custom_checkbox_name'] : ''; |
| 143 | 160 | $usp_casing = isset($usp_options['usp_casing']) ? $usp_options['usp_casing'] : ''; |
| 144 | - $usp_response = isset($usp_options['usp_response']) ? $usp_options['usp_response'] : ''; | |
| 145 | 161 | $multiple_cats = isset($usp_options['multiple-cats']) ? $usp_options['multiple-cats'] : ''; |
| 146 | 162 | $existing_tags = isset($usp_options['usp_existing_tags']) ? $usp_options['usp_existing_tags'] : ''; |
| 147 | 163 | $recaptcha_disp = isset($usp_options['usp_recaptcha']) ? $usp_options['usp_recaptcha'] : ''; |
| 148 | 164 | $recaptcha_vers = isset($usp_options['recaptcha_version']) ? $usp_options['recaptcha_version'] : 2; |
| @@ -149,14 +165,15 @@ | ||
| 149 | 165 | $recaptcha_key = isset($usp_options['recaptcha_public']) ? $usp_options['recaptcha_public'] : ''; |
| 150 | 166 | |
| 151 | 167 | $print_casing = $usp_casing ? 'true' : 'false'; |
| 152 | 168 | $parsley_error = apply_filters('usp_parsley_error', esc_html__('Incorrect response.', 'usp')); |
| 169 | + $challenge_nonce = wp_create_nonce('challenge_nonce'); | |
| 170 | + $ajax_url = admin_url('admin-ajax.php'); | |
| 153 | 171 | |
| 154 | 172 | $script = 'var usp_custom_field = '. json_encode($custom_field) .'; '; |
| 155 | 173 | $script .= 'var usp_custom_field_2 = '. json_encode($custom_field_2) .'; '; |
| 156 | 174 | $script .= 'var usp_custom_checkbox = '. json_encode($custom_checkbox) .'; '; |
| 157 | 175 | $script .= 'var usp_case_sensitivity = '. json_encode($print_casing) .'; '; |
| 158 | - $script .= 'var usp_challenge_response = '. json_encode($usp_response) .'; '; | |
| 159 | 176 | $script .= 'var usp_min_images = '. json_encode($min_images) .'; '; |
| 160 | 177 | $script .= 'var usp_max_images = '. json_encode($max_images) .'; '; |
| 161 | 178 | $script .= 'var usp_parsley_error = '. json_encode($parsley_error) .'; '; |
| 162 | 179 | $script .= 'var usp_multiple_cats = '. json_encode($multiple_cats) .'; '; |
| @@ -163,8 +180,10 @@ | ||
| 163 | 180 | $script .= 'var usp_existing_tags = '. json_encode($existing_tags) .'; '; |
| 164 | 181 | $script .= 'var usp_recaptcha_disp = '. json_encode($recaptcha_disp) .'; '; |
| 165 | 182 | $script .= 'var usp_recaptcha_vers = '. json_encode($recaptcha_vers) .'; '; |
| 166 | 183 | $script .= 'var usp_recaptcha_key = '. json_encode($recaptcha_key) .'; '; |
| 184 | + $script .= 'var challenge_nonce = '. json_encode($challenge_nonce) .'; '; | |
| 185 | + $script .= 'var ajax_url = '. json_encode($ajax_url) .'; '; | |
| 167 | 186 | |
| 168 | 187 | wp_add_inline_script('usp_core', $script, 'before'); |
| 169 | 188 | |
| 170 | 189 | } |
| @@ -189,4 +208,18 @@ | ||
| 189 | 208 | } |
| 190 | 209 | |
| 191 | 210 | } |
| 192 | 211 | add_action('admin_enqueue_scripts', 'usp_load_admin_styles'); |
| 212 | + | |
| 213 | +function usp_ajax_challenge_nonce() { | |
| 214 | + | |
| 215 | + check_ajax_referer('challenge_nonce', 'nonce'); | |
| 216 | + | |
| 217 | + global $usp_options; | |
| 218 | + | |
| 219 | + echo isset($usp_options['usp_response']) ? $usp_options['usp_response'] : ''; | |
| 220 | + | |
| 221 | + wp_die(); // | |
| 222 | + | |
| 223 | +} | |
| 224 | +add_action('wp_ajax_challenge_nonce', 'usp_ajax_challenge_nonce'); | |
| 225 | +add_action('wp_ajax_nopriv_challenge_nonce', 'usp_ajax_challenge_nonce'); | |