| Server IP : 146.190.157.162 / Your IP : 216.73.217.6 Web Server : Apache System : Linux ubuntu-s-2vcpu-4gb-amd-sfo3-01-KIT-DIGITAL 6.5.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:10:09 UTC 2024 x86_64 User : businessweek ( 639) PHP Version : 8.2.10-2ubuntu2.2 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_signal,pcntl_signal_dispatch,pcntl_getpriority,pcntl_setpriority,dl,putenv,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/airdata/wp-content/plugins/check-email/ |
Upload File : |
<?php
// exit if WordPress is not uninstalling the plugin.
if ( ! defined( 'ABSPATH' ) && ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
exit();
}
if ( is_multisite() ) {
$sites = get_sites();
foreach ( $sites as $site ) {
switch_to_blog( $site->blog_id );
check_email_delete_db_data();
restore_current_blog();
}
} else {
check_email_delete_db_data();
}
function check_email_delete_db_data() {
global $wpdb;
$remove_data_on_uninstall = false;
$option = get_option( 'check-email-log-core' );
if ( is_array( $option ) && array_key_exists( 'remove_on_uninstall', $option ) &&
'true' === strtolower( $option['remove_on_uninstall'] ) ) {
$remove_data_on_uninstall = true;
}
// This is hardcoded on purpose, since the entire plugin is not loaded during uninstall.
$table_name = $wpdb->prefix . 'check_email_log';
if ( $remove_data_on_uninstall ) {
//phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- just to check if table exists
if ( $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE %s",$wpdb->esc_like( $table_name )) ) == $table_name ) {
$wpdb->query(
//phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.SchemaChange -- Reason Custom table drop on uninstall
"DROP TABLE $table_name" );
}
$table_name_email_tracker = $wpdb->prefix . 'check_email_error_logs';
//phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- just to check if table exists
if ( $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE %s",$wpdb->esc_like( $table_name_email_tracker )) ) == $table_name_email_tracker ) {
$wpdb->query(
//phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.SchemaChange -- Reason Custom table drop on uninstall
"DROP TABLE $table_name_email_tracker" );
}
delete_option( 'check-email-log-db' );
delete_option( 'check-email-log-core' );
delete_option( 'check-email-smtp-options' );
delete_option( 'check_email_smtp_status' );
$roles = get_editable_roles();
foreach ( $roles as $role_name => $role_obj ) {
$role = get_role( $role_name );
if ( ! is_null( $role ) ) {
$role->remove_cap( 'manage_check_email' );
}
}
}
}