laipower/wp-content/plugins/wp-mail-smtp/uninstall.php
2020-04-07 13:03:04 +00:00

81 lines
1.6 KiB
PHP

<?php
/**
* Uninstall all WP Mail SMTP data.
*
* @since 1.3.0
*/
// Exit if accessed directly.
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
exit;
}
// Load plugin file.
require_once 'wp_mail_smtp.php';
// Confirm user has decided to remove all data, otherwise stop.
$settings = get_option( 'wp_mail_smtp', array() );
if ( empty( $settings['general']['uninstall'] ) ) {
return;
}
/*
* Remove options.
*/
$options = array(
'wp_mail_smtp_initial_version',
'wp_mail_smtp_version',
'wp_mail_smtp_debug',
'wp_mail_smtp',
'_amn_smtp_last_checked',
// Legacy options.
'pepipost_ssl',
'pepipost_port',
'pepipost_pass',
'pepipost_user',
'smtp_pass',
'smtp_user',
'smtp_auth',
'smtp_ssl',
'smtp_port',
'smtp_host',
'mail_set_return_path',
'mailer',
'mail_from_name',
'mail_from',
'wp_mail_smtp_am_notifications_hidden',
);
foreach ( $options as $option ) {
delete_option( $option );
}
/*
* Remove product announcements.
*/
$announcements = get_posts(
array(
'post_type' => array( 'amn_smtp' ),
'post_status' => 'any',
'numberposts' => - 1,
'fields' => 'ids',
)
);
if ( ! empty( $announcements ) ) {
foreach ( $announcements as $announcement ) {
wp_delete_post( $announcement, true );
}
}
/*
* Logs for Pro plugin only.
*/
if ( function_exists( 'wp_mail_smtp' ) && wp_mail_smtp()->is_pro() ) {
// DB version.
delete_option( 'wp_mail_smtp_logs_db_version' );
// DB table.
global $wpdb;
$table = \WPMailSMTP\Pro\Emails\Logs\Logs::get_table_name();
$wpdb->query( "DROP TABLE $table;" ); // phpcs:ignore
}