HEX
Server: nginx/1.24.0
System: Linux VM-8-5-opencloudos 6.6.47-12.oc9.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Sep 24 16:15:42 CST 2024 x86_64
User: www (1000)
PHP: 8.0.26
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/aiwellbore.com/wp-content/plugins/restrict-content/uninstall.php
<?php
/**
 * Uninstall Restrict Content Pro
 *
 * Deletes the following plugin data:
 *      - RCP post meta
 *      - RCP term meta
 *      - Pages created and used by RCP
 *      - Clears scheduled RCP cron events
 *      - Options added by RCP
 *      - RCP database tables
 *
 * @package     Restrict Content Pro
 * @subpackage  Uninstall
 * @copyright   Copyright (c) 2017, Restrict Content Pro
 * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
 * @since       2.8
 */

// Exit if accessed directly
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) exit;

// Load RCP file.
include_once 'restrictcontent.php';

use RCP\StellarWP\Telemetry\Uninstall;

global $wpdb;
$rcp_options = get_option( 'rcp_settings' );

if( isset( $rcp_options['remove_data_on_uninstall'] ) ) {

	if ( class_exists( 'Restrict_Content_Pro' ) ) {
		// This is kind of stupid but it ensures that the capabilities file (class used below) gets loaded.
		Restrict_Content_Pro::instance( dirname( __FILE__ ) . '/restrictcontent.php' );
	}

	// Delete all post meta.
	$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key LIKE 'rcp\_%' OR meta_key = '_is_paid'" );

	// Delete all term meta.
	$wpdb->query( "DELETE FROM $wpdb->termmeta WHERE meta_key = 'rcp_restricted_meta'" );

	// Delete all user meta.
	$wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key LIKE 'rcp\_%' OR meta_key LIKE '\_rcp\_%'" );

	// Remove custom capabilities.
	$caps = new RCP_Capabilities;
	$caps->remove_caps();

	// Delete the plugin pages.
	$rcp_pages = array( 'registration_page', 'redirect', 'account_page', 'edit_profile', 'update_card' );
	foreach( $rcp_pages as $page_option ) {
		$page_id = isset( $rcp_options[ $page_option ] ) ? $rcp_options[ $page_option ] : false;
		if( $page_id ) {
			wp_trash_post( $page_id );
		}
	}

	// Clear scheduled cron events.
	wp_clear_scheduled_hook( 'rcp_expired_users_check' );
	wp_clear_scheduled_hook( 'rcp_send_expiring_soon_notice' );
	wp_clear_scheduled_hook( 'rcp_check_member_counts' );

	// Remove all plugin settings.
	$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'rcp\_%'" );

	/**
	 * Our table names can be unpredictable, since they run through
	 * helper functions that have filters. You can't use $wpdb::prepare()
	 * to prepare table names, so we run them through esc_sql here
	 * just to make sure they're safe.
	 */
	$table_payments     = esc_sql( rcp_get_payments_db_name() );
	$table_payment_meta = esc_sql( rcp_get_payment_meta_db_name() );
	$table_levels       = esc_sql( rcp_get_levels_db_name() );
	$table_level_meta   = esc_sql( rcp_get_level_meta_db_name() );

	$wpdb->query( "DROP TABLE IF EXISTS {$table_payments}" );
	$wpdb->query( "DROP TABLE IF EXISTS {$table_payment_meta}" );
	$wpdb->query( "DROP TABLE IF EXISTS {$table_levels}" );
	$wpdb->query( "DROP TABLE IF EXISTS {$table_level_meta}" );

	// Drop all other tables.
	foreach ( restrict_content_pro()->components as $component ) {
		$table = $component->get_interface( 'table' );

		if ( $table instanceof \RCP\Database\Table && $table->exists() ) {
			$table->uninstall();
		}

		// Drop associated meta table if there is one.
		$meta = $component->get_interface( 'meta' );
		if ( $meta instanceof \RCP\Database\Table && $meta->exists() ) {
			$meta->uninstall();
		}
	}

	// Delete database versions from options table.
	$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'wpdb\_rcp\_%'" );
	// Delete database version from options table.
	$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name = 'wpdb_restrict_content_pro_version'" );

    // Remove Telemetry stuff.
    Uninstall::run( 'restrict-content' );
}