PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.78
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.78
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 51.1.47 51.1.49 All 37 releases
king-addons / includes / extensions / Maintenance_Mode / templates / view-mode.php

view-mode.php in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.78, at includes/extensions/Maintenance_Mode/templates/view-mode.php

237 lines 13.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Maintenance Mode settings view.
4 *
5 * @package King_Addons
6 */
7
8 if (!defined('ABSPATH')) {
9 exit;
10 }
11 ?>
12
13 <form method="post" action="options.php">
14 <?php settings_fields('kng_maintenance_settings_group'); ?>
15
16 <div class="ka-card">
17 <div class="ka-card-header">
18 <span class="dashicons dashicons-admin-generic purple"></span>
19 <h2><?php esc_html_e('Mode Settings', 'king-addons'); ?></h2>
20 </div>
21 <div class="ka-card-body">
22 <input type="hidden" name="kng_maintenance_settings[enabled]" value="0">
23 <div class="ka-row">
24 <div class="ka-row-label"><?php esc_html_e('Enable maintenance mode', 'king-addons'); ?></div>
25 <div class="ka-row-field">
26 <label class="ka-toggle">
27 <input type="checkbox" name="kng_maintenance_settings[enabled]" value="1" <?php checked(!empty($settings['enabled'])); ?> />
28 <span class="ka-toggle-slider"></span>
29 <span class="ka-toggle-label"><?php esc_html_e('Activate site gate', 'king-addons'); ?></span>
30 </label>
31 </div>
32 </div>
33
34 <div class="ka-row">
35 <div class="ka-row-label"><?php esc_html_e('Mode type', 'king-addons'); ?></div>
36 <div class="ka-row-field">
37 <select name="kng_maintenance_settings[mode]">
38 <option value="coming_soon" <?php selected($settings['mode'] ?? 'coming_soon', 'coming_soon'); ?>><?php esc_html_e('Coming Soon (200)', 'king-addons'); ?></option>
39 <option value="maintenance" <?php selected($settings['mode'] ?? 'coming_soon', 'maintenance'); ?>><?php esc_html_e('Maintenance (503)', 'king-addons'); ?></option>
40 <option value="private" disabled><?php esc_html_e('Private Site (Pro)', 'king-addons'); ?></option>
41 </select>
42 </div>
43 </div>
44
45 <input type="hidden" name="kng_maintenance_settings[noindex]" value="0">
46 <div class="ka-row">
47 <div class="ka-row-label"><?php esc_html_e('Meta robots', 'king-addons'); ?></div>
48 <div class="ka-row-field">
49 <label class="ka-toggle">
50 <input type="checkbox" name="kng_maintenance_settings[noindex]" value="1" <?php checked(!empty($settings['noindex'])); ?> />
51 <span class="ka-toggle-slider"></span>
52 <span class="ka-toggle-label"><?php esc_html_e('Noindex maintenance page', 'king-addons'); ?></span>
53 </label>
54 </div>
55 </div>
56
57 <div class="ka-row">
58 <div class="ka-row-label"><?php esc_html_e('Retry-After header', 'king-addons'); ?></div>
59 <div class="ka-row-field">
60 <input type="number" name="kng_maintenance_settings[retry_after]" value="<?php echo esc_attr($settings['retry_after'] ?? 3600); ?>" min="0" step="60">
61 <small><?php esc_html_e('Seconds for maintenance mode only (0 to disable).', 'king-addons'); ?></small>
62 </div>
63 </div>
64 </div>
65 </div>
66
67 <div class="ka-card">
68 <div class="ka-card-header">
69 <span class="dashicons dashicons-lock pink"></span>
70 <h2><?php esc_html_e('Private Access', 'king-addons'); ?></h2>
71 <?php if (!$is_pro) : ?><span class="ka-pro-badge">PRO</span><?php endif; ?>
72 </div>
73 <div class="ka-card-body">
74 <?php if (!$is_pro) : ?>
75 <div class="ka-row">
76 <div class="ka-row-label"><?php esc_html_e('Password protection', 'king-addons'); ?></div>
77 <div class="ka-row-field">
78 <input type="password" disabled placeholder="<?php esc_attr_e('Set a password (Pro)', 'king-addons'); ?>">
79 </div>
80 </div>
81 <div class="ka-row">
82 <div class="ka-row-label"><?php esc_html_e('Access token', 'king-addons'); ?></div>
83 <div class="ka-row-field">
84 <input type="text" disabled placeholder="<?php esc_attr_e('Generate token link (Pro)', 'king-addons'); ?>">
85 </div>
86 </div>
87 <?php else : ?>
88 <?php
89 $password_is_set = !empty($settings['private_password_hash']);
90 $token = (string) ($settings['private_token'] ?? '');
91 $token_is_set = $token !== '';
92
93 $token_url = $token_is_set
94 ? add_query_arg('kng_maintenance_token', rawurlencode($token), home_url('/'))
95 : '';
96
97 $token_generate_url = wp_nonce_url(
98 add_query_arg([
99 'action' => 'kng_maintenance_generate_token',
100 ], admin_url('admin-post.php')),
101 'kng_maintenance_private_token'
102 );
103
104 $token_revoke_url = wp_nonce_url(
105 add_query_arg([
106 'action' => 'kng_maintenance_revoke_token',
107 ], admin_url('admin-post.php')),
108 'kng_maintenance_private_token'
109 );
110
111 $password_revoke_url = wp_nonce_url(
112 add_query_arg([
113 'action' => 'kng_maintenance_revoke_password',
114 ], admin_url('admin-post.php')),
115 'kng_maintenance_private_password'
116 );
117 ?>
118
119 <div class="ka-row">
120 <div class="ka-row-label"><?php esc_html_e('Password protection', 'king-addons'); ?></div>
121 <div class="ka-row-field">
122 <?php
123 $kng_password_notice_allowed = isset($message_code) && $message_code === 'password_revoked';
124 if ($kng_password_notice_allowed && isset($messages[$message_code])) :
125 ?>
126 <div class="ka-alert kng-maintenance-inline-alert">
127 <span class="dashicons dashicons-yes"></span>
128 <?php echo esc_html($messages[$message_code]); ?>
129 </div>
130 <?php endif; ?>
131
132 <input type="password" name="kng_maintenance_settings[private_password]" value="" placeholder="<?php echo esc_attr($password_is_set ? __('Leave blank to keep current password', 'king-addons') : __('Set a password', 'king-addons')); ?>" autocomplete="new-password">
133 <small>
134 <?php if ($password_is_set) : ?>
135 <?php esc_html_e('A password is set.', 'king-addons'); ?>
136 <?php else : ?>
137 <?php esc_html_e('No password set.', 'king-addons'); ?>
138 <?php endif; ?>
139 </small>
140
141 <?php if ($password_is_set) : ?>
142 <div class="kng-maintenance-token-actions kng-maintenance-password-actions">
143 <a class="ka-btn ka-btn-secondary ka-btn-sm kng-maintenance-btn-danger" href="<?php echo esc_url($password_revoke_url); ?>" onclick="return confirm('<?php echo esc_js(__('Revoke password protection now? Visitors will no longer be able to use the password to bypass maintenance.', 'king-addons')); ?>');">
144 <span class="dashicons dashicons-trash" aria-hidden="true"></span>
145 <?php esc_html_e('Revoke password', 'king-addons'); ?>
146 </a>
147 </div>
148 <?php endif; ?>
149 </div>
150 </div>
151
152 <div class="ka-row">
153 <div class="ka-row-label"><?php esc_html_e('Access token', 'king-addons'); ?></div>
154 <div class="ka-row-field">
155 <?php
156 $kng_token_notice_allowed = isset($message_code) && in_array($message_code, ['token_generated', 'token_revoked'], true);
157 if ($kng_token_notice_allowed && isset($messages[$message_code])) :
158 ?>
159 <div class="ka-alert kng-maintenance-inline-alert">
160 <span class="dashicons dashicons-yes"></span>
161 <?php echo esc_html($messages[$message_code]); ?>
162 </div>
163 <?php endif; ?>
164
165 <?php if ($token_is_set) : ?>
166 <div class="kng-maintenance-token-row">
167 <input type="text" readonly value="<?php echo esc_attr($token_url); ?>" class="kng-maintenance-token-input" aria-label="<?php echo esc_attr__('Access token URL', 'king-addons'); ?>">
168 <button type="button" class="ka-btn ka-btn-secondary ka-btn-sm kng-maintenance-copy-token">
169 <span class="dashicons dashicons-clipboard" aria-hidden="true"></span>
170 <?php esc_html_e('Copy', 'king-addons'); ?>
171 </button>
172 <span class="kng-maintenance-copy-status" aria-live="polite" role="status"></span>
173 </div>
174 <small><?php esc_html_e('Anyone with this link will bypass maintenance mode.', 'king-addons'); ?></small>
175 <div class="kng-maintenance-token-actions">
176 <a class="ka-btn ka-btn-secondary ka-btn-sm" href="<?php echo esc_url($token_generate_url); ?>">
177 <span class="dashicons dashicons-update" aria-hidden="true"></span>
178 <?php esc_html_e('Regenerate', 'king-addons'); ?>
179 </a>
180 <a class="ka-btn ka-btn-secondary ka-btn-sm kng-maintenance-btn-danger" href="<?php echo esc_url($token_revoke_url); ?>" onclick="return confirm('<?php echo esc_js(__('Revoke access token? Anyone with the existing link will lose access.', 'king-addons')); ?>');">
181 <span class="dashicons dashicons-trash" aria-hidden="true"></span>
182 <?php esc_html_e('Revoke', 'king-addons'); ?>
183 </a>
184 </div>
185 <?php else : ?>
186 <small><?php esc_html_e('No token generated.', 'king-addons'); ?></small>
187 <div class="kng-maintenance-token-actions">
188 <a class="ka-btn ka-btn-primary ka-btn-sm" href="<?php echo esc_url($token_generate_url); ?>">
189 <span class="dashicons dashicons-admin-links" aria-hidden="true"></span>
190 <?php esc_html_e('Generate token', 'king-addons'); ?>
191 </a>
192 </div>
193 <?php endif; ?>
194
195 <input type="hidden" name="kng_maintenance_settings[private_token]" value="<?php echo esc_attr($token); ?>">
196 </div>
197 </div>
198 <?php endif; ?>
199 </div>
200 </div>
201
202 <div class="ka-card">
203 <div class="ka-card-header">
204 <span class="dashicons dashicons-admin-tools purple"></span>
205 <h2><?php esc_html_e('Advanced Exceptions', 'king-addons'); ?></h2>
206 </div>
207 <div class="ka-card-body">
208 <input type="hidden" name="kng_maintenance_settings[allow_admin_ajax]" value="0">
209 <label class="ka-toggle">
210 <input type="checkbox" name="kng_maintenance_settings[allow_admin_ajax]" value="1" <?php checked(!empty($settings['allow_admin_ajax'])); ?> />
211 <span class="ka-toggle-slider"></span>
212 <span class="ka-toggle-label"><?php esc_html_e('Allow admin-ajax requests', 'king-addons'); ?></span>
213 </label>
214 <input type="hidden" name="kng_maintenance_settings[allow_rest]" value="0">
215 <label class="ka-toggle">
216 <input type="checkbox" name="kng_maintenance_settings[allow_rest]" value="1" <?php checked(!empty($settings['allow_rest'])); ?> />
217 <span class="ka-toggle-slider"></span>
218 <span class="ka-toggle-label"><?php esc_html_e('Allow REST API for guests', 'king-addons'); ?></span>
219 </label>
220 <input type="hidden" name="kng_maintenance_settings[disable_elementor_editor]" value="0">
221 <label class="ka-toggle">
222 <input type="checkbox" name="kng_maintenance_settings[disable_elementor_editor]" value="1" <?php checked(!empty($settings['disable_elementor_editor'])); ?> />
223 <span class="ka-toggle-slider"></span>
224 <span class="ka-toggle-label"><?php esc_html_e('Disable maintenance in Elementor editor', 'king-addons'); ?></span>
225 </label>
226 </div>
227 </div>
228
229 <div class="ka-card">
230 <div class="ka-submit">
231 <button type="submit" class="ka-btn ka-btn-primary">
232 <?php esc_html_e('Save Settings', 'king-addons'); ?>
233 </button>
234 </div>
235 </div>
236 </form>
237