PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.86
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.86
51.1.86 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 All 40 releases
← All changes | includes/admin/layouts/settings-page.php +133 -1 51.1.63 → 51.1.86 View file →
@@ -12,9 +12,9 @@
12 12 // Theme mode is per-user
13 13 $theme_mode = get_user_meta(get_current_user_id(), 'king_addons_theme_mode', true);
14 14 $allowed_theme_modes = ['dark', 'light', 'auto'];
15 15 if (!in_array($theme_mode, $allowed_theme_modes, true)) {
16 - $theme_mode = 'dark';
16 + $theme_mode = 'auto';
17 17 }
18 18
19 19 // Handle form submission
20 20 if (isset($_POST['king_addons_settings_submit_settings'])) {
@@ -30,8 +30,22 @@
30 30 update_option('king_addons_recaptcha_v3_site_key', sanitize_text_field($_POST['king_addons_recaptcha_v3_site_key']));
31 31 update_option('king_addons_recaptcha_v3_secret_key', sanitize_text_field($_POST['king_addons_recaptcha_v3_secret_key']));
32 32 update_option('king_addons_recaptcha_v3_score_threshold', floatval($_POST['king_addons_recaptcha_v3_score_threshold']));
33 33
34 + // Alternatives to reCAPTCHA, offered per form in the Form Builder panel.
35 + update_option('king_addons_turnstile_site_key', sanitize_text_field($_POST['king_addons_turnstile_site_key'] ?? ''));
36 + update_option('king_addons_turnstile_secret_key', sanitize_text_field($_POST['king_addons_turnstile_secret_key'] ?? ''));
37 + update_option('king_addons_hcaptcha_site_key', sanitize_text_field($_POST['king_addons_hcaptcha_site_key'] ?? ''));
38 + update_option('king_addons_hcaptcha_secret_key', sanitize_text_field($_POST['king_addons_hcaptcha_secret_key'] ?? ''));
39 +
40 + // Payment providers used by the Form Builder payment action.
41 + update_option('king_addons_stripe_secret_key', sanitize_text_field($_POST['king_addons_stripe_secret_key'] ?? ''));
42 + update_option('king_addons_stripe_webhook_secret', sanitize_text_field($_POST['king_addons_stripe_webhook_secret'] ?? ''));
43 + update_option('king_addons_paypal_client_id', sanitize_text_field($_POST['king_addons_paypal_client_id'] ?? ''));
44 + update_option('king_addons_paypal_secret', sanitize_text_field($_POST['king_addons_paypal_secret'] ?? ''));
45 + $king_addons_paypal_env = sanitize_key($_POST['king_addons_paypal_environment'] ?? 'sandbox');
46 + update_option('king_addons_paypal_environment', 'live' === $king_addons_paypal_env ? 'live' : 'sandbox');
47 +
34 48 // Lightbox colors
35 49 update_option('king_addons_lightbox_bg_color', sanitize_text_field($_POST['king_addons_lightbox_bg_color']));
36 50 update_option('king_addons_lightbox_toolbar_color', sanitize_text_field($_POST['king_addons_lightbox_toolbar_color']));
37 51 update_option('king_addons_lightbox_caption_color', sanitize_text_field($_POST['king_addons_lightbox_caption_color']));
@@ -64,8 +78,17 @@
64 78 $mailchimp_key = get_option('king_addons_mailchimp_api_key', '');
65 79 $recaptcha_site_key = get_option('king_addons_recaptcha_v3_site_key', '');
66 80 $recaptcha_secret_key = get_option('king_addons_recaptcha_v3_secret_key', '');
67 81 $recaptcha_score_threshold = get_option('king_addons_recaptcha_v3_score_threshold', 0.5);
82 +$turnstile_site_key = get_option('king_addons_turnstile_site_key', '');
83 +$turnstile_secret_key = get_option('king_addons_turnstile_secret_key', '');
84 +$hcaptcha_site_key = get_option('king_addons_hcaptcha_site_key', '');
85 +$hcaptcha_secret_key = get_option('king_addons_hcaptcha_secret_key', '');
86 +$stripe_secret_key = get_option('king_addons_stripe_secret_key', '');
87 +$stripe_webhook_secret = get_option('king_addons_stripe_webhook_secret', '');
88 +$paypal_client_id = get_option('king_addons_paypal_client_id', '');
89 +$paypal_secret = get_option('king_addons_paypal_secret', '');
90 +$paypal_environment = get_option('king_addons_paypal_environment', 'sandbox');
68 91 $improve_import_performance = get_option('king_addons_improve_import_performance', '1');
69 92 $disable_template_catalog_button = get_option('king_addons_disable_template_catalog_button', '0');
70 93
71 94 // Enqueue the shared CSS
@@ -190,8 +213,117 @@
190 213 <div class="ka-row-label"><?php esc_html_e('Score Threshold', 'king-addons'); ?></div>
191 214 <div class="ka-row-field">
192 215 <input type="number" step="0.1" min="0" max="1" name="king_addons_recaptcha_v3_score_threshold" value="<?php echo esc_attr($recaptcha_score_threshold); ?>" style="max-width:100px" />
193 216 <p class="ka-row-desc"><?php esc_html_e('Score threshold 0.0 to 1.0 (default 0.5). Higher values are more strict.', 'king-addons'); ?></p>
217 + </div>
218 + </div>
219 + </div>
220 + </div>
221 +
222 + <div class="ka-card">
223 + <div class="ka-card-header">
224 + <span class="dashicons dashicons-shield-alt"></span>
225 + <h2><?php esc_html_e('Cloudflare Turnstile', 'king-addons'); ?></h2>
226 + </div>
227 + <div class="ka-card-body">
228 + <div class="ka-row">
229 + <div class="ka-row-label"><?php esc_html_e('Site Key', 'king-addons'); ?></div>
230 + <div class="ka-row-field">
231 + <input type="text" name="king_addons_turnstile_site_key" value="<?php echo esc_attr($turnstile_site_key); ?>" />
232 + <p class="ka-row-desc">
233 + <?php esc_html_e('Pick Turnstile per form in the Form Builder panel.', 'king-addons'); ?>
234 + <a href="https://www.cloudflare.com/products/turnstile/" target="_blank"><?php esc_html_e('Get keys →', 'king-addons'); ?></a>
235 + </p>
236 + </div>
237 + </div>
238 + <div class="ka-row">
239 + <div class="ka-row-label"><?php esc_html_e('Secret Key', 'king-addons'); ?></div>
240 + <div class="ka-row-field">
241 + <input type="password" name="king_addons_turnstile_secret_key" value="<?php echo esc_attr($turnstile_secret_key); ?>" />
242 + </div>
243 + </div>
244 + </div>
245 + </div>
246 +
247 + <div class="ka-card">
248 + <div class="ka-card-header">
249 + <span class="dashicons dashicons-shield-alt"></span>
250 + <h2><?php esc_html_e('hCaptcha', 'king-addons'); ?></h2>
251 + </div>
252 + <div class="ka-card-body">
253 + <div class="ka-row">
254 + <div class="ka-row-label"><?php esc_html_e('Site Key', 'king-addons'); ?></div>
255 + <div class="ka-row-field">
256 + <input type="text" name="king_addons_hcaptcha_site_key" value="<?php echo esc_attr($hcaptcha_site_key); ?>" />
257 + <p class="ka-row-desc">
258 + <?php esc_html_e('Pick hCaptcha per form in the Form Builder panel.', 'king-addons'); ?>
259 + <a href="https://www.hcaptcha.com/" target="_blank"><?php esc_html_e('Get keys →', 'king-addons'); ?></a>
260 + </p>
261 + </div>
262 + </div>
263 + <div class="ka-row">
264 + <div class="ka-row-label"><?php esc_html_e('Secret Key', 'king-addons'); ?></div>
265 + <div class="ka-row-field">
266 + <input type="password" name="king_addons_hcaptcha_secret_key" value="<?php echo esc_attr($hcaptcha_secret_key); ?>" />
267 + </div>
268 + </div>
269 + </div>
270 + </div>
271 +
272 + <div class="ka-card">
273 + <div class="ka-card-header">
274 + <span class="dashicons dashicons-money-alt"></span>
275 + <h2><?php esc_html_e('Stripe', 'king-addons'); ?></h2>
276 + </div>
277 + <div class="ka-card-body">
278 + <div class="ka-row">
279 + <div class="ka-row-label"><?php esc_html_e('Secret Key', 'king-addons'); ?></div>
280 + <div class="ka-row-field">
281 + <input type="password" name="king_addons_stripe_secret_key" value="<?php echo esc_attr($stripe_secret_key); ?>" />
282 + <p class="ka-row-desc">
283 + <?php esc_html_e('Used to open a Stripe Checkout session. Visitors pay on Stripe, so no card details reach this site.', 'king-addons'); ?>
284 + <a href="https://dashboard.stripe.com/apikeys" target="_blank"><?php esc_html_e('Get keys →', 'king-addons'); ?></a>
285 + </p>
286 + </div>
287 + </div>
288 + <div class="ka-row">
289 + <div class="ka-row-label"><?php esc_html_e('Webhook signing secret', 'king-addons'); ?></div>
290 + <div class="ka-row-field">
291 + <input type="password" name="king_addons_stripe_webhook_secret" value="<?php echo esc_attr($stripe_webhook_secret); ?>" />
292 + <p class="ka-row-desc">
293 + <?php esc_html_e('Endpoint to add in the Stripe Dashboard:', 'king-addons'); ?>
294 + <code><?php echo esc_html(class_exists('King_Addons\\Form_Payment_Confirm') ? \King_Addons\Form_Payment_Confirm::stripe_webhook_url() : rest_url('king-addons/v1/stripe-webhook')); ?></code>
295 + </p>
296 + </div>
297 + </div>
298 + </div>
299 + </div>
300 +
301 + <div class="ka-card">
302 + <div class="ka-card-header">
303 + <span class="dashicons dashicons-money-alt"></span>
304 + <h2><?php esc_html_e('PayPal', 'king-addons'); ?></h2>
305 + </div>
306 + <div class="ka-card-body">
307 + <div class="ka-row">
308 + <div class="ka-row-label"><?php esc_html_e('Client ID', 'king-addons'); ?></div>
309 + <div class="ka-row-field">
310 + <input type="text" name="king_addons_paypal_client_id" value="<?php echo esc_attr($paypal_client_id); ?>" />
311 + </div>
312 + </div>
313 + <div class="ka-row">
314 + <div class="ka-row-label"><?php esc_html_e('Secret', 'king-addons'); ?></div>
315 + <div class="ka-row-field">
316 + <input type="password" name="king_addons_paypal_secret" value="<?php echo esc_attr($paypal_secret); ?>" />
317 + </div>
318 + </div>
319 + <div class="ka-row">
320 + <div class="ka-row-label"><?php esc_html_e('Environment', 'king-addons'); ?></div>
321 + <div class="ka-row-field">
322 + <select name="king_addons_paypal_environment">
323 + <option value="sandbox" <?php selected($paypal_environment, 'sandbox'); ?>><?php esc_html_e('Sandbox', 'king-addons'); ?></option>
324 + <option value="live" <?php selected($paypal_environment, 'live'); ?>><?php esc_html_e('Live', 'king-addons'); ?></option>
325 + </select>
194 326 </div>
195 327 </div>
196 328 </div>
197 329 </div>