Enable/Disable REST URLs

This commit is contained in:
2026-02-08 22:34:02 +01:00
parent fa61e1d7c6
commit 0e5be7b590
2 changed files with 48 additions and 3 deletions
+43
View File
@@ -11,6 +11,8 @@ function mystat_settings_page() {
<?php
settings_fields( 'mystat_privacy_settings' );
do_settings_sections( 'mystat-privacy-section' );
settings_fields( 'mystat_api_settings' );
do_settings_sections( 'mystat-api-section' );
submit_button();
?>
</form>
@@ -55,6 +57,28 @@ function mystat_register_settings() {
'mystat-privacy-section',
'mystat_privacy_zone_section'
);
// API Settings
register_setting(
'mystat_api_settings',
'mystat_api_options',
'mystat_sanitize_api_options'
);
add_settings_section(
'mystat_api_section',
'Ustawienia API',
'mystat_api_section_callback',
'mystat-api-section'
);
add_settings_field(
'mystat_enable_api',
'REST API',
'mystat_render_enable_api_field',
'mystat-privacy-section',
'mystat_privacy_zone_section'
);
}
function mystat_privacy_section_callback() {
@@ -92,4 +116,23 @@ function mystat_sanitize_privacy_options( $input ) {
$sanitized_input['radius'] = abs( intval( $input['radius'] ) );
}
return $sanitized_input;
}
function mystat_api_section_callback() {
echo '<p>Ustawienia związane z integracją wtyczki z zewnętrznymi aplikacjami, np. mobilnymi.</p>';
}
function mystat_render_enable_api_field() {
$options = get_option( 'mystat_api_options' );
$checked = isset( $options['enable_api'] ) && $options['enable_api'] ? 'checked' : '';
echo "<label><input type='checkbox' name='mystat_api_options[enable_api]' value='1' {$checked} /> Włącz REST API</label>";
echo '<p class="description">Umożliwia zewnętrznym aplikacjom (np. na Androida) komunikację z wtyczką w celu dodawania i odczytywania aktywności. Jeśli nie korzystasz z takich integracji, możesz to wyłączyć dla większego bezpieczeństwa.</p>';
}
function mystat_sanitize_api_options( $input ) {
$sanitized_input = array();
// If the checkbox is not checked, it won't be in the $input array.
// So we check for its existence to determine if it's on or off.
$sanitized_input['enable_api'] = isset( $input['enable_api'] ) ? 1 : 0;
return $sanitized_input;
}