prefix . 'school_bookings'; // 1. Purge test bookings if ( isset( $_POST['schoolslots_purge_test_bookings'] ) ) { check_admin_referer( 'schoolslots_settings_nonce' ); $wpdb->query( "TRUNCATE TABLE {$t_bookings}" ); echo '

' . esc_html__( 'All bookings and test records have been purged. Statistics and capacities are reset.', 'schoolslots' ) . '

'; } // 2. Trigger manual GDPR anonymization if ( isset( $_POST['schoolslots_trigger_gdpr_now'] ) ) { check_admin_referer( 'schoolslots_settings_nonce' ); if ( isset( $_POST['schoolslots_manual_gdpr_days'] ) ) { update_option( 'schoolslots_gdpr_retention_days', max( 0, intval( $_POST['schoolslots_manual_gdpr_days'] ) ) ); } $count = schoolslots_execute_gdpr_anonymization(); echo '

' . sprintf( /* translators: %d: number of records anonymized */ esc_html__( 'GDPR anonymization executed: Personal data in %d expired booking records has been anonymized.', 'schoolslots' ), intval( $count ) ) . '

'; } // 3. Save global settings if ( isset( $_POST['schoolslots_save_global_settings'] ) ) { check_admin_referer( 'schoolslots_settings_nonce' ); if ( isset( $_POST['schoolslots_default_school_address'] ) ) { update_option( 'schoolslots_default_school_address', sanitize_textarea_field( wp_unslash( $_POST['schoolslots_default_school_address'] ) ) ); } if ( isset( $_POST['schoolslots_secretary_email'] ) ) { update_option( 'schoolslots_secretary_email', sanitize_email( wp_unslash( $_POST['schoolslots_secretary_email'] ) ) ); } if ( isset( $_POST['schoolslots_director_email'] ) ) { update_option( 'schoolslots_director_email', sanitize_email( wp_unslash( $_POST['schoolslots_director_email'] ) ) ); } if ( isset( $_POST['schoolslots_deputy_email'] ) ) { update_option( 'schoolslots_deputy_email', sanitize_email( wp_unslash( $_POST['schoolslots_deputy_email'] ) ) ); } if ( isset( $_POST['schoolslots_settings_form_type'] ) && 'general' === $_POST['schoolslots_settings_form_type'] ) { update_option( 'schoolslots_enable_secretary_bcc', ( isset( $_POST['schoolslots_enable_secretary_bcc'] ) ? '1' : '0' ) ); } if ( isset( $_POST['schoolslots_cancel_redirect_url'] ) ) { update_option( 'schoolslots_cancel_redirect_url', esc_url_raw( wp_unslash( $_POST['schoolslots_cancel_redirect_url'] ) ) ); } if ( isset( $_POST['schoolslots_gdpr_retention_days'] ) ) { update_option( 'schoolslots_gdpr_retention_days', max( 0, intval( $_POST['schoolslots_gdpr_retention_days'] ) ) ); } if ( isset( $_POST['schoolslots_individual_deadline_type'] ) ) { update_option( 'schoolslots_individual_deadline_type', sanitize_text_field( wp_unslash( $_POST['schoolslots_individual_deadline_type'] ) ) ); } if ( isset( $_POST['schoolslots_individual_deadline_time'] ) ) { $dl_time = sanitize_text_field( wp_unslash( $_POST['schoolslots_individual_deadline_time'] ) ); update_option( 'schoolslots_individual_deadline_time', ( 5 === strlen( $dl_time ) ? $dl_time . ':00' : $dl_time ) ); } if ( isset( $_POST['schoolslots_reminder_send_time'] ) ) { $rem_time = sanitize_text_field( wp_unslash( $_POST['schoolslots_reminder_send_time'] ) ); update_option( 'schoolslots_reminder_send_time', substr( $rem_time, 0, 5 ) ); wp_clear_scheduled_hook( 'schoolslots_daily_morning_reminder' ); wp_schedule_event( time(), 'hourly', 'schoolslots_daily_morning_reminder' ); } echo '

' . esc_html__( 'System settings saved successfully.', 'schoolslots' ) . '

'; } $default_fallback = __( "Central High School / Main Building\n1000 Main Street 1.", 'schoolslots' ); $retention_days = intval( get_option( 'schoolslots_gdpr_retention_days', 30 ) ); $current_bookings = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$t_bookings}" ); $ind_dl_type = get_option( 'schoolslots_individual_deadline_type', 'prev_day' ); $ind_dl_time = get_option( 'schoolslots_individual_deadline_time', '17:00:00' ); $rem_time = get_option( 'schoolslots_reminder_send_time', '07:00' ); ?>




support@schoolslots.com