PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.65
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.65
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 / Activity_Log / templates / view-settings.php

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

234 lines 13.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Activity Log settings view.
4 *
5 * @package King_Addons
6 */
7
8 if (!defined('ABSPATH')) {
9 exit;
10 }
11
12 $exclude_roles = !empty($settings['exclude_roles']) ? implode(', ', $settings['exclude_roles']) : '';
13 $exclude_users = !empty($settings['exclude_user_ids']) ? implode(', ', $settings['exclude_user_ids']) : '';
14 $exclude_events = !empty($settings['exclude_event_keys']) ? implode(', ', $settings['exclude_event_keys']) : '';
15 ?>
16
17 <form method="post" action="options.php">
18 <?php settings_fields('king_addons_activity_log'); ?>
19
20 <div class="ka-card">
21 <div class="ka-card-header">
22 <span class="dashicons dashicons-admin-settings purple"></span>
23 <h2><?php esc_html_e('General', 'king-addons'); ?></h2>
24 </div>
25 <div class="ka-card-body">
26 <div class="ka-row">
27 <div class="ka-row-label"><?php esc_html_e('Enable logging', 'king-addons'); ?></div>
28 <div class="ka-row-field">
29 <label class="ka-toggle">
30 <input type="checkbox" name="king_addons_activity_log_settings[enabled]" value="1" <?php checked(!empty($settings['enabled'])); ?> />
31 <span class="ka-toggle-slider"></span>
32 <span class="ka-toggle-label"><?php esc_html_e('Capture activity events', 'king-addons'); ?></span>
33 </label>
34 </div>
35 </div>
36 <div class="ka-row">
37 <div class="ka-row-label"><?php esc_html_e('Timezone display', 'king-addons'); ?></div>
38 <div class="ka-row-field">
39 <select name="king_addons_activity_log_settings[timezone]">
40 <option value="site" <?php selected($settings['timezone'] ?? 'site', 'site'); ?>><?php esc_html_e('Site timezone', 'king-addons'); ?></option>
41 <option value="utc" <?php selected($settings['timezone'] ?? 'site', 'utc'); ?>><?php esc_html_e('UTC', 'king-addons'); ?></option>
42 </select>
43 </div>
44 </div>
45 <div class="ka-row">
46 <div class="ka-row-label"><?php esc_html_e('Rows per page', 'king-addons'); ?></div>
47 <div class="ka-row-field">
48 <input type="number" name="king_addons_activity_log_settings[rows_per_page]" value="<?php echo esc_attr($settings['rows_per_page'] ?? 20); ?>" min="10" max="200">
49 </div>
50 </div>
51 </div>
52 </div>
53
54 <div class="ka-card">
55 <div class="ka-card-header">
56 <span class="dashicons dashicons-filter purple"></span>
57 <h2><?php esc_html_e('Logging Modules', 'king-addons'); ?></h2>
58 </div>
59 <div class="ka-card-body">
60 <div class="kng-activity-module-grid">
61 <label class="ka-toggle">
62 <input type="checkbox" name="king_addons_activity_log_settings[modules][auth]" value="1" <?php checked(!empty($settings['modules']['auth'])); ?> />
63 <span class="ka-toggle-slider"></span>
64 <span class="ka-toggle-label"><?php esc_html_e('Authentication', 'king-addons'); ?></span>
65 </label>
66 <label class="ka-toggle">
67 <input type="checkbox" name="king_addons_activity_log_settings[modules][content]" value="1" <?php checked(!empty($settings['modules']['content'])); ?> />
68 <span class="ka-toggle-slider"></span>
69 <span class="ka-toggle-label"><?php esc_html_e('Content', 'king-addons'); ?></span>
70 </label>
71 <label class="ka-toggle">
72 <input type="checkbox" name="king_addons_activity_log_settings[modules][users]" value="1" <?php checked(!empty($settings['modules']['users'])); ?> />
73 <span class="ka-toggle-slider"></span>
74 <span class="ka-toggle-label"><?php esc_html_e('Users', 'king-addons'); ?></span>
75 </label>
76 <label class="ka-toggle">
77 <input type="checkbox" name="king_addons_activity_log_settings[modules][plugins_themes]" value="1" <?php checked(!empty($settings['modules']['plugins_themes'])); ?> />
78 <span class="ka-toggle-slider"></span>
79 <span class="ka-toggle-label"><?php esc_html_e('Plugins & Themes', 'king-addons'); ?></span>
80 </label>
81
82 <?php if ($is_pro) : ?>
83 <label class="ka-toggle">
84 <input type="checkbox" name="king_addons_activity_log_settings[modules][settings]" value="1" <?php checked(!empty($settings['modules']['settings'])); ?> />
85 <span class="ka-toggle-slider"></span>
86 <span class="ka-toggle-label"><?php esc_html_e('Settings Changes', 'king-addons'); ?></span>
87 </label>
88 <label class="ka-toggle">
89 <input type="checkbox" name="king_addons_activity_log_settings[modules][woocommerce]" value="1" <?php checked(!empty($settings['modules']['woocommerce'])); ?> />
90 <span class="ka-toggle-slider"></span>
91 <span class="ka-toggle-label"><?php esc_html_e('WooCommerce', 'king-addons'); ?></span>
92 </label>
93 <label class="ka-toggle">
94 <input type="checkbox" name="king_addons_activity_log_settings[modules][king_addons]" value="1" <?php checked(!empty($settings['modules']['king_addons'])); ?> />
95 <span class="ka-toggle-slider"></span>
96 <span class="ka-toggle-label"><?php esc_html_e('King Addons Events', 'king-addons'); ?></span>
97 </label>
98 <?php else : ?>
99 <label class="ka-toggle kng-toggle-pro">
100 <input type="checkbox" disabled />
101 <span class="ka-toggle-slider"></span>
102 <span class="ka-toggle-label"><?php esc_html_e('Settings Changes', 'king-addons'); ?></span>
103 <span class="ka-pro-badge">PRO</span>
104 </label>
105 <label class="ka-toggle kng-toggle-pro">
106 <input type="checkbox" disabled />
107 <span class="ka-toggle-slider"></span>
108 <span class="ka-toggle-label"><?php esc_html_e('WooCommerce', 'king-addons'); ?></span>
109 <span class="ka-pro-badge">PRO</span>
110 </label>
111 <label class="ka-toggle kng-toggle-pro">
112 <input type="checkbox" disabled />
113 <span class="ka-toggle-slider"></span>
114 <span class="ka-toggle-label"><?php esc_html_e('King Addons Events', 'king-addons'); ?></span>
115 <span class="ka-pro-badge">PRO</span>
116 </label>
117 <?php endif; ?>
118 </div>
119
120 <div class="kng-activity-exclusions">
121 <div class="kng-field">
122 <label><?php esc_html_e('Exclude roles', 'king-addons'); ?></label>
123 <input type="text" name="king_addons_activity_log_settings[exclude_roles]" value="<?php echo esc_attr($exclude_roles); ?>" placeholder="subscriber, editor">
124 <small><?php esc_html_e('Comma-separated role slugs.', 'king-addons'); ?></small>
125 </div>
126 <div class="kng-field">
127 <label><?php esc_html_e('Exclude user IDs', 'king-addons'); ?></label>
128 <input type="text" name="king_addons_activity_log_settings[exclude_user_ids]" value="<?php echo esc_attr($exclude_users); ?>" placeholder="12, 54, 78">
129 </div>
130 <div class="kng-field">
131 <label><?php esc_html_e('Exclude event keys', 'king-addons'); ?></label>
132 <input type="text" name="king_addons_activity_log_settings[exclude_event_keys]" value="<?php echo esc_attr($exclude_events); ?>" placeholder="auth.login.success, plugin.updated">
133 </div>
134 </div>
135 </div>
136 </div>
137
138 <div class="ka-card">
139 <div class="ka-card-header">
140 <span class="dashicons dashicons-shield purple"></span>
141 <h2><?php esc_html_e('Privacy', 'king-addons'); ?></h2>
142 </div>
143 <div class="ka-card-body">
144 <div class="ka-row">
145 <div class="ka-row-label"><?php esc_html_e('IP storage', 'king-addons'); ?></div>
146 <div class="ka-row-field">
147 <select name="king_addons_activity_log_settings[ip_storage]">
148 <option value="full" <?php selected($settings['ip_storage'] ?? 'full', 'full'); ?>><?php esc_html_e('Full IP', 'king-addons'); ?></option>
149 <option value="masked" <?php selected($settings['ip_storage'] ?? 'full', 'masked'); ?>><?php esc_html_e('Masked IP', 'king-addons'); ?></option>
150 <option value="hashed" <?php selected($settings['ip_storage'] ?? 'full', 'hashed'); ?>><?php esc_html_e('Hashed only', 'king-addons'); ?></option>
151 </select>
152 </div>
153 </div>
154 <div class="ka-row">
155 <div class="ka-row-label"><?php esc_html_e('Store user agent', 'king-addons'); ?></div>
156 <div class="ka-row-field">
157 <label class="ka-toggle">
158 <input type="checkbox" name="king_addons_activity_log_settings[store_user_agent]" value="1" <?php checked(!empty($settings['store_user_agent'])); ?> />
159 <span class="ka-toggle-slider"></span>
160 <span class="ka-toggle-label"><?php esc_html_e('Save browser and device data', 'king-addons'); ?></span>
161 </label>
162 </div>
163 </div>
164 <div class="ka-row">
165 <div class="ka-row-label"><?php esc_html_e('Trust proxy headers', 'king-addons'); ?></div>
166 <div class="ka-row-field">
167 <label class="ka-toggle">
168 <input type="checkbox" name="king_addons_activity_log_settings[trust_proxy_headers]" value="1" <?php checked(!empty($settings['trust_proxy_headers'])); ?> />
169 <span class="ka-toggle-slider"></span>
170 <span class="ka-toggle-label"><?php esc_html_e('Use X-Forwarded-For for IP detection', 'king-addons'); ?></span>
171 </label>
172 </div>
173 </div>
174 </div>
175 </div>
176
177 <div class="ka-card">
178 <div class="ka-card-header">
179 <span class="dashicons dashicons-clock purple"></span>
180 <h2><?php esc_html_e('Retention', 'king-addons'); ?></h2>
181 <?php if (!$is_pro) : ?><span class="ka-pro-badge">PRO</span><?php endif; ?>
182 </div>
183 <div class="ka-card-body">
184 <div class="ka-row">
185 <div class="ka-row-label"><?php esc_html_e('Retention days', 'king-addons'); ?></div>
186 <div class="ka-row-field">
187 <input type="number" name="king_addons_activity_log_settings[retention_days]" value="<?php echo esc_attr($settings['retention_days'] ?? 14); ?>" min="1" max="<?php echo $is_pro ? '365' : '14'; ?>" <?php disabled(!$is_pro); ?>>
188 <?php if (!$is_pro) : ?>
189 <small><?php esc_html_e('Free plan stores logs for 14 days.', 'king-addons'); ?></small>
190 <?php endif; ?>
191 </div>
192 </div>
193 </div>
194 </div>
195
196 <div class="ka-card">
197 <div class="ka-card-header">
198 <span class="dashicons dashicons-lock pink"></span>
199 <h2><?php esc_html_e('Access', 'king-addons'); ?></h2>
200 <?php if (!$is_pro) : ?><span class="ka-pro-badge">PRO</span><?php endif; ?>
201 </div>
202 <div class="ka-card-body">
203 <div class="ka-row">
204 <div class="ka-row-label"><?php esc_html_e('Who can view logs', 'king-addons'); ?></div>
205 <div class="ka-row-field">
206 <?php if ($is_pro) :
207 $view_logs_cap = $settings['view_logs_capability'] ?? 'manage_options';
208 ?>
209 <select name="king_addons_activity_log_settings[view_logs_capability]">
210 <option value="manage_options" <?php selected($view_logs_cap, 'manage_options'); ?>><?php esc_html_e('Administrators only', 'king-addons'); ?></option>
211 <option value="edit_pages" <?php selected($view_logs_cap, 'edit_pages'); ?>><?php esc_html_e('Editors and Administrators', 'king-addons'); ?></option>
212 <option value="edit_posts" <?php selected($view_logs_cap, 'edit_posts'); ?>><?php esc_html_e('Authors, Editors and Administrators', 'king-addons'); ?></option>
213 <option value="read" <?php selected($view_logs_cap, 'read'); ?>><?php esc_html_e('Any logged-in user (wp-admin access)', 'king-addons'); ?></option>
214 </select>
215 <small><?php esc_html_e('Pro: adds a logs-only menu entry for the selected role level.', 'king-addons'); ?></small>
216 <?php else : ?>
217 <select disabled>
218 <option><?php esc_html_e('Administrators only', 'king-addons'); ?></option>
219 </select>
220 <?php endif; ?>
221 </div>
222 </div>
223 </div>
224 </div>
225
226 <div class="ka-card">
227 <div class="ka-submit">
228 <button type="submit" class="ka-btn ka-btn-primary">
229 <?php esc_html_e('Save Settings', 'king-addons'); ?>
230 </button>
231 </div>
232 </div>
233 </form>
234