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-dashboard.php

view-dashboard.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-dashboard.php

150 lines 7.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Maintenance Mode dashboard view.
4 *
5 * @package King_Addons
6 */
7
8 if (!defined('ABSPATH')) {
9 exit;
10 }
11
12 $enabled = !empty($settings['enabled']);
13 $mode = $settings['mode'] ?? 'coming_soon';
14 $template_source = $settings['template_source'] ?? 'built_in';
15 $template_label = $template_source === 'built_in'
16 ? ($templates[$settings['template_id'] ?? 'minimal'] ?? __('Built-in', 'king-addons'))
17 : ($template_source === 'elementor' ? __('Elementor Template', 'king-addons') : __('WordPress Page', 'king-addons'));
18
19 $schedule_enabled = !empty($settings['schedule_enabled']);
20 $schedule_start = $settings['schedule_start'] ? get_date_from_gmt($settings['schedule_start'], 'Y-m-d H:i') : '';
21 $schedule_end = $settings['schedule_end'] ? get_date_from_gmt($settings['schedule_end'], 'Y-m-d H:i') : '';
22 $schedule_status = $schedule_enabled
23 ? ($schedule_start || $schedule_end ? __('Scheduled', 'king-addons') : __('Enabled', 'king-addons'))
24 : __('Off', 'king-addons');
25
26 $schedule_windows_count = 0;
27 if (!empty($settings['schedule_windows']) && is_array($settings['schedule_windows'])) {
28 $schedule_windows_count = count($settings['schedule_windows']);
29 }
30
31 $recurring_enabled = !empty($settings['recurring_enabled']);
32 $recurring_rules_count = 0;
33 if (!empty($settings['recurring_rules']) && is_array($settings['recurring_rules'])) {
34 $recurring_rules_count = count($settings['recurring_rules']);
35 }
36
37 $ip_count = is_array($settings['whitelist_ips']) ? count($settings['whitelist_ips']) : 0;
38 $path_count = is_array($settings['whitelist_paths']) ? count($settings['whitelist_paths']) : 0;
39 ?>
40
41 <div class="ka-stats-grid">
42 <div class="ka-stat-card">
43 <div class="ka-stat-label"><?php esc_html_e('Status', 'king-addons'); ?></div>
44 <div class="ka-stat-value"><?php echo $enabled ? esc_html__('Enabled', 'king-addons') : esc_html__('Disabled', 'king-addons'); ?></div>
45 <div class="ka-stat-note"><?php esc_html_e('Maintenance visibility', 'king-addons'); ?></div>
46 </div>
47 <div class="ka-stat-card">
48 <div class="ka-stat-label"><?php esc_html_e('Mode', 'king-addons'); ?></div>
49 <div class="ka-stat-value"><?php echo $mode === 'maintenance' ? esc_html__('Maintenance', 'king-addons') : esc_html__('Coming Soon', 'king-addons'); ?></div>
50 <div class="ka-stat-note"><?php esc_html_e('HTTP response behavior', 'king-addons'); ?></div>
51 </div>
52 <div class="ka-stat-card">
53 <div class="ka-stat-label"><?php esc_html_e('Template', 'king-addons'); ?></div>
54 <div class="ka-stat-value"><?php echo esc_html($template_label); ?></div>
55 <div class="ka-stat-note"><?php esc_html_e('Selected page source', 'king-addons'); ?></div>
56 </div>
57 <div class="ka-stat-card">
58 <div class="ka-stat-label"><?php esc_html_e('Schedule', 'king-addons'); ?></div>
59 <div class="ka-stat-value"><?php echo esc_html($schedule_status); ?></div>
60 <div class="ka-stat-note">
61 <?php
62 if (!$schedule_enabled) {
63 esc_html_e('Automation is disabled', 'king-addons');
64 } else {
65 $parts = [];
66 if ($schedule_windows_count > 0) {
67 $parts[] = sprintf(
68 /* translators: %d: number of windows */
69 _n('%d window', '%d windows', $schedule_windows_count, 'king-addons'),
70 $schedule_windows_count
71 );
72 }
73 if ($recurring_enabled) {
74 $parts[] = sprintf(
75 /* translators: %d: number of rules */
76 _n('%d recurring rule', '%d recurring rules', $recurring_rules_count, 'king-addons'),
77 $recurring_rules_count
78 );
79 }
80 echo esc_html($parts ? implode('', $parts) : __('Legacy schedule window', 'king-addons'));
81 }
82 ?>
83 </div>
84 </div>
85 </div>
86
87 <div class="kng-maintenance-dashboard-grid">
88 <div class="ka-card">
89 <div class="ka-card-header">
90 <span class="dashicons dashicons-flag purple"></span>
91 <h2><?php esc_html_e('Access Snapshot', 'king-addons'); ?></h2>
92 </div>
93 <div class="ka-card-body">
94 <div class="kng-maintenance-stat-row">
95 <span><?php esc_html_e('Whitelisted IPs', 'king-addons'); ?></span>
96 <strong><?php echo esc_html(number_format_i18n($ip_count)); ?></strong>
97 </div>
98 <div class="kng-maintenance-stat-row">
99 <span><?php esc_html_e('Whitelisted Paths', 'king-addons'); ?></span>
100 <strong><?php echo esc_html(number_format_i18n($path_count)); ?></strong>
101 </div>
102 <div class="kng-maintenance-stat-row">
103 <span><?php esc_html_e('Admins bypass', 'king-addons'); ?></span>
104 <strong><?php echo !empty($settings['exclude_admin']) ? esc_html__('Yes', 'king-addons') : esc_html__('No', 'king-addons'); ?></strong>
105 </div>
106 </div>
107 </div>
108
109 <div class="ka-card">
110 <div class="ka-card-header">
111 <span class="dashicons dashicons-clock purple"></span>
112 <h2><?php esc_html_e('Schedule Preview', 'king-addons'); ?></h2>
113 </div>
114 <div class="ka-card-body">
115 <?php if ($schedule_enabled && ($schedule_start || $schedule_end)) : ?>
116 <div class="kng-maintenance-schedule-preview">
117 <div>
118 <span><?php esc_html_e('Start', 'king-addons'); ?></span>
119 <strong><?php echo esc_html($schedule_start ?: __('Not set', 'king-addons')); ?></strong>
120 </div>
121 <div>
122 <span><?php esc_html_e('End', 'king-addons'); ?></span>
123 <strong><?php echo esc_html($schedule_end ?: __('Not set', 'king-addons')); ?></strong>
124 </div>
125 </div>
126 <?php else : ?>
127 <p><?php esc_html_e('Scheduling is disabled. Activate a window to automate maintenance.', 'king-addons'); ?></p>
128 <?php endif; ?>
129 <a href="<?php echo esc_url(add_query_arg(['page' => 'king-addons-maintenance-mode', 'view' => 'schedule'], admin_url('admin.php'))); ?>" class="ka-btn ka-btn-secondary ka-btn-sm">
130 <?php esc_html_e('Edit Schedule', 'king-addons'); ?>
131 </a>
132 </div>
133 </div>
134 </div>
135
136 <?php if (!$is_pro) : ?>
137 <div class="ka-upgrade-card">
138 <h3><?php esc_html_e('Upgrade to Maintenance Suite Pro', 'king-addons'); ?></h3>
139 <p><?php esc_html_e('Unlock private site mode, advanced rules, analytics, and multi-schedule automation.', 'king-addons'); ?></p>
140 <ul>
141 <li><?php esc_html_e('Password and token access', 'king-addons'); ?></li>
142 <li><?php esc_html_e('Device, country, and role rules', 'king-addons'); ?></li>
143 <li><?php esc_html_e('Analytics and advanced SEO controls', 'king-addons'); ?></li>
144 </ul>
145 <a href="https://kingaddons.com/pricing/" target="_blank" class="ka-btn ka-btn-pink">
146 <?php esc_html_e('Upgrade to Pro', 'king-addons'); ?>
147 </a>
148 </div>
149 <?php endif; ?>
150