'0', // Default: privacy-safe (hide last IP octet) 'actlogpro_enable_json_feed' => '0', // Default: JSON feed disabled // Note: RSS feed is NOT a premium feature, so it is not reset here ); foreach ( $premium_settings as $setting => $default_value ) { update_option( $setting, $default_value ); } // Clear feed tokens when disabling JSON feed (RSS tokens are not premium) delete_option( 'actlogpro_json_feed_token' ); delete_option( 'actlogpro_feed_token_updated' ); // Persist notice flag so admin sees a dismissible downgrade notice update_option( 'actlogpro_premium_settings_reset_notice', true ); if ( class_exists( 'ACTLOGPRO_Logger' ) ) { ACTLOGPRO_Logger::log_activity_minimal( 'system', 'settings', 0, 'Premium Settings Reset', 'premium_settings_reset', 'Premium features have been disabled and settings reset to defaults' ); } } /** * Reset premium settings if we were previously premium but are no longer. * * @since 1.0.0 */ private static function maybe_reset_premium_settings_on_downgrade() { $was_premium = get_option( 'actlogpro_was_premium_enabled', false ); $is_premium = self::is_premium_enabled(); if ( $was_premium && ! $is_premium ) { self::reset_premium_settings_to_defaults(); update_option( 'actlogpro_was_premium_enabled', false ); } } /** * Track premium state when activating the premium plugin. * * @since 1.0.0 */ private static function maybe_reset_premium_settings_on_upgrade() { $was_premium = get_option( 'actlogpro_was_premium_enabled', false ); $is_premium = self::is_premium_enabled(); if ( ! $was_premium && $is_premium ) { update_option( 'actlogpro_was_premium_enabled', true ); } } /** * Ensure the full-IP storage setting is reset to privacy-safe default when premium is inactive. * * @since 1.0.0 */ private static function ensure_privacy_safe_ip_setting() { $current_setting = get_option( 'actlogpro_store_full_ip', '0' ); // Only act if full-IP storage is enabled but premium is no longer active if ( '1' === $current_setting && ! self::is_premium_enabled() ) { update_option( 'actlogpro_store_full_ip', '0' ); if ( class_exists( 'ACTLOGPRO_Logger' ) ) { ACTLOGPRO_Logger::log_activity_minimal( 'system', 'settings', 0, 'IP Privacy Setting', 'auto_privacy_reset', 'IP address setting automatically reset to privacy-safe default due to premium deactivation' ); } } } }