robotstxt-mediaaudit/uninstall.php
2026-06-03 06:30:49 +00:00

33 lines
1.2 KiB
PHP

<?php
/**
* Fired when the plugin is uninstalled.
*
* Drops all plugin data only if the user has explicitly opted in via Settings.
* By default, data is preserved.
*
* @package MediaRightsAudit
*/
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
exit;
}
$raw = get_option( 'robotstxt_mediaaudit_settings', array() );
$settings = is_array( $raw ) ? $raw : array();
$delete = ! empty( $settings['delete_on_uninstall'] );
if ( ! $delete ) {
return;
}
global $wpdb;
// Drop tables in reverse dependency order.
$wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_dismissed_alerts`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
$wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_provider_status`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
$wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_external_results`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
$wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_usage`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
$wpdb->query( "DROP TABLE IF EXISTS `{$wpdb->prefix}mra_media_index`" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
delete_option( 'robotstxt_mediaaudit_db_version' );
delete_option( 'robotstxt_mediaaudit_settings' );