71 lines
1.5 KiB
PHP
71 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* WP Multisite WaaS uninstall script.
|
|
*
|
|
* @package WP_Ultimo
|
|
* @since 2.0.0
|
|
*/
|
|
|
|
if ( ! defined('WP_UNINSTALL_PLUGIN')) {
|
|
exit;
|
|
} // end if;
|
|
|
|
global $wpdb;
|
|
|
|
$wu_settings_key = 'v2_settings';
|
|
|
|
/*
|
|
* Manually grab the plugin settings. No helpers here =(
|
|
*/
|
|
$wu_settings = get_network_option(null, "wp-ultimo_{$wu_settings_key}");
|
|
|
|
/*
|
|
* Check if we want to wipe things clean on uninstall...
|
|
*/
|
|
$wu_settings_uninstall_wipe_tables = $wu_settings['uninstall_wipe_tables'] ?? false;
|
|
|
|
/*
|
|
* Let's do it.
|
|
*/
|
|
if ($wu_settings_uninstall_wipe_tables) {
|
|
$wu_tables = [
|
|
'customers',
|
|
'customermeta',
|
|
'discount_codes',
|
|
'domain_mappings',
|
|
'events',
|
|
'forms',
|
|
'membershipmeta',
|
|
'memberships',
|
|
'paymentmeta',
|
|
'payments',
|
|
'postmeta',
|
|
'posts',
|
|
'productmeta',
|
|
'products',
|
|
'webhooks',
|
|
];
|
|
|
|
$wu_prefix_table = "{$wpdb->prefix}wu_";
|
|
|
|
foreach ($wu_tables as $wu_table) {
|
|
$wu_table_name = $wu_prefix_table . $wu_table;
|
|
|
|
$wu_table_version = "wpdb_wu_{$wu_table}_version";
|
|
|
|
$wpdb->query("DROP TABLE IF EXISTS $wu_table_name"); // phpcs:ignore
|
|
|
|
delete_network_option(null, $wu_table_version);
|
|
} // end foreach;
|
|
|
|
/*
|
|
* Remove states saved
|
|
*/
|
|
delete_network_option(null, "wp-ultimo_{$wu_settings_key}");
|
|
delete_network_option(null, 'wp-ultimo_debug_faker');
|
|
delete_network_option(null, 'wu_setup_finished');
|
|
delete_network_option(null, 'wu_default_email_template');
|
|
delete_network_option(null, 'wu_default_system_emails_created');
|
|
delete_network_option(null, 'wu_default_invoice_template');
|
|
} // end if;
|