PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.3-beta1
Presto Player v2.2.3-beta1
4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / inc / Services / Settings.php
presto-player / inc / Services Last commit date
API 2 years ago Blocks 5 years ago License 5 years ago AdminNotice.php 5 years ago AdminNotices.php 4 years ago AjaxActions.php 2 years ago Blocks.php 5 years ago Compatibility.php 4 years ago Menu.php 3 years ago Migrations.php 5 years ago Player.php 2 years ago ProCompatibility.php 2 years ago ReusableVideos.php 4 years ago Scripts.php 2 years ago Settings.php 4 years ago Shortcodes.php 2 years ago Streamer.php 4 years ago Translation.php 2 years ago VideoPostType.php 4 years ago
Settings.php
275 lines
1 <?php
2
3 namespace PrestoPlayer\Services;
4
5 use PrestoPlayer\Plugin;
6 use PrestoPlayer\Models\Setting;
7
8 class Settings
9 {
10 /**
11 * Register our settings
12 *
13 * @return void
14 */
15 public function register()
16 {
17 add_action('admin_init', [$this, 'registerSettings']);
18 add_action('rest_api_init', [$this, 'registerSettings']);
19 }
20
21 public function registerSettings()
22 {
23 /**
24 * Analytics settings
25 */
26 \register_setting(
27 'presto_player',
28 'presto_player_analytics',
29 [
30 'type' => 'object',
31 'description' => __('Analytics settings.', 'presto-player'),
32 'show_in_rest' => [
33 'name' => 'presto_player_analytics',
34 'type' => 'object',
35 'schema' => [
36 'properties' => [
37 'enable' => [
38 'type' => 'boolean',
39 ],
40 'purge_data' => [
41 'type' => 'boolean',
42 ]
43 ]
44 ]
45 ],
46 'default' => [
47 'enable' => false,
48 'purge_data' => true
49 ]
50 ]
51 );
52
53 /**
54 * Branding settings
55 */
56 \register_setting(
57 'presto_player',
58 'presto_player_branding',
59 [
60 'type' => 'object',
61 'description' => __('Branding settings.', 'presto-player'),
62 'show_in_rest' => [
63 'name' => 'presto_player_branding',
64 'type' => 'object',
65 'schema' => [
66 'properties' => [
67 'logo' => [
68 'type' => 'string',
69 'sanitize_callback' => 'esc_url_raw'
70 ],
71 'logo_width' => [
72 'type' => 'number',
73 'sanitize_callback' => 'intval'
74 ],
75 'color' => [
76 'type' => 'string',
77 'sanitize_callback' => 'sanitize_hex_color'
78 ],
79 'player_css' => [
80 'type' => 'string'
81 ]
82 ]
83 ]
84 ],
85 'default' => [
86 'logo' => '',
87 'logo_width' => 150,
88 'color' => Setting::getDefaultColor(),
89 'player_css' => ''
90 ]
91 ]
92 );
93
94 \register_setting(
95 'presto_player',
96 'presto_player_performance',
97 [
98 'type' => 'object',
99 'description' => __('Performance settings.', 'presto-player'),
100 'show_in_rest' => [
101 'name' => 'presto_player_performance',
102 'type' => 'object',
103 'schema' => [
104 'properties' => [
105 'module_enabled' => [
106 'type' => 'boolean',
107 ],
108 'automations' => [
109 'type' => 'boolean'
110 ]
111 ]
112 ]
113 ],
114 'default' => [
115 'module_enabled' => false,
116 'automations' => true
117 ]
118 ]
119 );
120
121 /**
122 * Uninstall settings
123 */
124 \register_setting(
125 'presto_player',
126 'presto_player_uninstall',
127 [
128 'type' => 'object',
129 'description' => __('Uninstall settings.', 'presto-player'),
130 'show_in_rest' => [
131 'name' => 'presto_player_uninstall',
132 'type' => 'object',
133 'schema' => [
134 'properties' => [
135 'uninstall_data' => [
136 'type' => 'boolean',
137 ],
138 ]
139 ]
140 ],
141 'default' => [
142 'uninstall_data' => false,
143 ]
144 ]
145 );
146
147 /**
148 * Analytics settings
149 */
150 \register_setting(
151 'presto_player',
152 'presto_player_google_analytics',
153 [
154 'type' => 'object',
155 'description' => __('Google Analytics settings.', 'presto-player'),
156 'show_in_rest' => [
157 'name' => 'presto_player_google_analytics',
158 'type' => 'object',
159 'schema' => [
160 'properties' => [
161 'enable' => [
162 'type' => 'boolean',
163 ],
164 'use_existing_tag' => [
165 'type' => 'boolean'
166 ],
167 'measurement_id' => [
168 'type' => 'string'
169 ]
170 ]
171 ]
172 ],
173 'default' => [
174 'enable' => false,
175 'use_existing_tag' => false,
176 'measurement_id' => ''
177 ]
178 ]
179 );
180
181 /**
182 * General settings
183 */
184 \register_setting(
185 'presto_player',
186 'presto_player_presets',
187 [
188 'type' => 'object',
189 'description' => __('Preset settings.', 'presto-player'),
190 'show_in_rest' => [
191 'name' => 'presto_player_presets',
192 'type' => 'object',
193 'schema' => [
194 'properties' => [
195 'default_player_preset' => [
196 'type' => 'integer',
197 'sanitize_callback' => 'intval'
198 ]
199 ]
200 ]
201 ],
202 'default' => [
203 'default_player_preset' => 1,
204 ]
205 ]
206 );
207
208 \register_setting(
209 'presto_player',
210 'presto_player_audio_presets',
211 [
212 'type' => 'object',
213 'description' => __('Preset settings.', 'presto-player'),
214 'show_in_rest' => [
215 'name' => 'presto_player_audio_presets',
216 'type' => 'object',
217 'schema' => [
218 'properties' => [
219 'default_player_preset' => [
220 'type' => 'integer',
221 'sanitize_callback' => 'intval'
222 ]
223 ]
224 ]
225 ],
226 'default' => [
227 'default_player_preset' => 1,
228 ]
229 ]
230 );
231
232 /**
233 * Youtube Settings
234 */
235 \register_setting(
236 'presto_player',
237 'presto_player_youtube',
238 [
239 'type' => 'object',
240 'description' => __('Youtube settings.', 'presto-player'),
241 'show_in_rest' => [
242 'name' => 'presto_player_youtube',
243 'type' => 'object',
244 'schema' => [
245 'properties' => [
246 'nocookie' => [
247 'type' => 'boolean',
248 ],
249 'channel_id' => [
250 'type' => 'string'
251 ]
252 ]
253 ]
254 ],
255 'default' => [
256 'nocookie' => false,
257 'channel_id' => ''
258 ]
259 ]
260 );
261 }
262
263 public static function template()
264 { ?>
265 <?php do_action('presto_player_settings_header'); ?>
266 <div class="presto-player-dashboard__header">
267 <img class="presto-player-dashboard__logo" src="<?php echo esc_url(PRESTO_PLAYER_PLUGIN_URL . '/img/logo.svg'); ?>" />
268 <div class="presto-player-dashboard__version">v<?php echo esc_html(Plugin::version()); ?></div>
269 </div>
270 <div id="presto-settings-page"></div>
271 <?php wp_auth_check_html(); ?>
272 <?php do_action('presto_player_settings_footer'); ?>
273 <?php }
274 }
275