PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.5
Independent Analytics – WordPress Analytics Plugin v1.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / inc / settings.php
independent-analytics / inc Last commit date
models 4 years ago queries 4 years ago utils 4 years ago chart.php 4 years ago db.php 4 years ago delete_data_ajax.php 4 years ago filters.php 4 years ago filters_ajax.php 4 years ago rest_api.php 4 years ago settings.php 4 years ago settings_ajax.php 4 years ago super_secret_content_generator.php 4 years ago table.php 4 years ago table_referrers.php 4 years ago table_views.php 4 years ago track_resource_changes.php 4 years ago
settings.php
124 lines
1 <?php
2
3 namespace IAWP;
4
5 class Settings
6 {
7 public function __construct()
8 {
9 add_action('admin_init', [$this, 'register_settings']);
10 }
11
12 public function render_settings()
13 {
14 $this->output_settings(); ?>
15 <div class="export-settings settings-container">
16 <h2>Export</h2>
17 <div class="button-group">
18 <button id="iawp-export-views" class="iawp-button ghost-purple">Export views</button>
19 <button id="iawp-export-referrers" class="iawp-button ghost-purple">Export referrers</button>
20 </div>
21 </div>
22 <div data-controller="delete-data" class="export-settings settings-container">
23 <h2>Danger Zone</h2>
24 <div class="button-group">
25 <button data-action="click->delete-data#open" class="iawp-button ghost-red">Delete all data</button>
26 </div>
27 <div id="delete-data-modal" aria-hidden="true" class="mm micromodal-slide">
28 <div tabindex="-1" class="mm__overlay" data-action="click->delete-data#close">
29 <div role="dialog" aria-modal="true" aria-labelledby="delete-data-modal-title" class="mm__container">
30 <h1>Delete all data</h1>
31 <p>Be careful.</p>
32 <p>
33 You are about to delete all analytics data associated with Independent Analytics. This includes
34 all views, referrers, and settings.
35 </p>
36 <p>
37 Type "Delete all data" in the input below to confirm.
38 </p>
39 <form data-action="submit->delete-data#submit">
40 <input type="text" autofocus data-delete-data-target="input" data-action="input->delete-data#updateConfirmation" class="block-input">
41 <button type="submit" class="iawp-button purple" data-delete-data-target="submit">Delete all data</button>
42 <button type="button" class="iawp-button ghost-purple" data-micromodal-close>Cancel</button>
43 </form>
44 </div>
45 </div>
46 </div>
47 </div>
48 <?php
49 }
50
51 public function register_settings()
52 {
53 add_settings_section('iawp-settings-section', esc_html__('Settings', 'iawp'), '', 'independent-analytics-settings');
54
55 $args = [
56 'type' => 'boolean',
57 'default' => false,
58 'sanitize_callback' => 'rest_sanitize_boolean',
59 ];
60 register_setting('iawp_settings', 'iawp_dark_mode', $args);
61 register_setting('iawp_settings', 'iawp_track_authenticated_users', $args);
62 add_settings_field('iawp_dark_mode', esc_html__('Dark mode', 'iawp'), [$this, 'dark_mode_callback'], 'independent-analytics-settings', 'iawp-settings-section', ['class' => 'dark-mode']);
63 add_settings_field('iawp_track_authenticated_users', esc_html__('Track logged in users', 'iawp'), [$this, 'track_authenticated_users_callback'], 'independent-analytics-settings', 'iawp-settings-section', ['class' => 'logged-in']);
64
65 $args = [
66 'type' => 'integer',
67 'default' => 1,
68 'sanitize_callback' => 'absint',
69 ];
70 register_setting('iawp_settings', 'iawp_dow', $args);
71 add_settings_field('iawp_dow', esc_html__('Calendar first day of the week', 'iawp'), [$this, 'starting_dow_callback'], 'independent-analytics-settings', 'iawp-settings-section', ['class' => 'dow']);
72 }
73
74 public function dark_mode_callback()
75 {
76 $saved = IAWP()->get_option('iawp_dark_mode', false); ?>
77 <label class="column-label" for="iawp_dark_mode">
78 <input type="checkbox" name="iawp_dark_mode" id="iawp_dark_mode" <?php checked(true, $saved, true); ?>>
79 <span><?php esc_html_e('Enable dark mode', 'iawp'); ?></span>
80 </label><?php
81 }
82
83 public function track_authenticated_users_callback()
84 {
85 $saved = IAWP()->get_option('iawp_track_authenticated_users', false); ?>
86 <label class="column-label" for="iawp_track_authenticated_users">
87 <input type="checkbox" name="iawp_track_authenticated_users"
88 id="iawp_track_authenticated_users" <?php checked(true, $saved, true); ?>>
89 <span><?php esc_html_e('Track logged in users', 'iawp'); ?></span>
90 </label><?php
91 }
92
93 public function starting_dow_callback()
94 {
95 $saved = IAWP()->get_option('iawp_dow', 1);
96 $dows = [
97 0 => esc_html__('Sunday', 'iawp'),
98 1 => esc_html__('Monday', 'iawp'),
99 2 => esc_html__('Tuesday', 'iawp'),
100 3 => esc_html__('Wednesday', 'iawp'),
101 4 => esc_html__('Thursday', 'iawp'),
102 5 => esc_html__('Friday', 'iawp'),
103 6 => esc_html__('Saturday', 'iawp'),
104 ];
105
106 echo '<select id="iawp_dow" name="iawp_dow" value="' . esc_attr($saved) . '" >';
107 foreach ($dows as $key => $value) {
108 echo '<option value="' . esc_attr($key) . '" ' . selected($saved, $key, false) . '>' . esc_html($value) . '</option>';
109 }
110 echo '</select>';
111 }
112
113 public function output_settings()
114 {
115 echo '<div id="iawp-settings" class="iawp-settings settings-container">';
116 echo '<form method="post" action="options.php">';
117 settings_fields('iawp_settings');
118 do_settings_sections('independent-analytics-settings');
119 submit_button(esc_html__('Save settings', 'iawp'), 'iawp-button purple', 'save-settings');
120 echo '</form>';
121 echo '</div>';
122 }
123 }
124