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 +136 -3 51.1.44 → 51.1.86 View file →
@@ -1,7 +1,7 @@
1 1 <?php
2 2 /**
3 - * Settings admin page - V3 Apple-inspired design.
3 + * Settings admin page - V3 Premium style inspired design.
4 4 *
5 5 * @package King_Addons
6 6 */
7 7
@@ -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
@@ -111,8 +134,9 @@
111 134 <span class="ka-v3-segmented-icon" aria-hidden="true">☾</span>
112 135 <?php esc_html_e('Dark', 'king-addons'); ?>
113 136 </button>
114 137 <button type="button" class="ka-v3-segmented-btn" data-theme="auto" aria-pressed="<?php echo $theme_mode === 'auto' ? 'true' : 'false'; ?>">
138 + <span class="ka-v3-segmented-icon" aria-hidden="true">◐</span>
115 139 <?php esc_html_e('Auto', 'king-addons'); ?>
116 140 </button>
117 141 </div>
118 142 <a href="https://www.youtube.com/@kingaddons/videos" target="_blank" class="ka-btn ka-btn-secondary">
@@ -142,9 +166,9 @@
142 166 <div class="ka-card-body">
143 167 <div class="ka-row">
144 168 <div class="ka-row-label"><?php esc_html_e('Google Map API Key', 'king-addons'); ?></div>
145 169 <div class="ka-row-field">
146 - <input type="text" name="king_addons_google_map_api_key" value="<?php echo esc_attr($google_map_key); ?>" placeholder="AIza..." />
170 + <input type="text" name="king_addons_google_map_api_key" value="<?php echo esc_attr($google_map_key); ?>" placeholder="Abc_42..." />
147 171 <p class="ka-row-desc">
148 172 <?php esc_html_e('Enter your Google Map API key from Google Cloud Platform.', 'king-addons'); ?>
149 173 <a href="https://www.youtube.com/watch?v=O5cUoVpVUjU" target="_blank"><?php esc_html_e('Learn how →', 'king-addons'); ?></a>
150 174 </p>
@@ -189,8 +213,117 @@
189 213 <div class="ka-row-label"><?php esc_html_e('Score Threshold', 'king-addons'); ?></div>
190 214 <div class="ka-row-field">
191 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" />
192 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>
193 326 </div>
194 327 </div>
195 328 </div>
196 329 </div>