Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
get_uninstall_mode();
/** Remove Plugin and Settings. */
if ( 'plugin+settings' === $uninstall_mode ) {
/** Remove Plugin Settings. */
$this->remove_settings();
}
}
/**
* Delete Plugin Options.
*
* @since 1.0
* @access private
*
* @return void
**/
private function remove_settings() {
/** Prepare array with options to remove. */
$settings = [];
foreach ( wp_load_alloptions() as $option => $value ) {
if ( strpos( $option, 'mdp_selection_lite' ) === 0 ) {
$settings[] = $option;
}
}
/** Remove options for Multisite. */
if ( is_multisite() ) {
foreach ( $settings as $key ) {
if ( ! get_site_option( $key ) ) { continue; }
delete_site_option( $key );
}
/** Remove options for Singular site. */
} else {
foreach ( $settings as $key ) {
if ( ! get_option( $key ) ) { continue; }
delete_option( $key );
}
}
}
/**
* Delete Plugin data.
* Remove all tables started with plugin slug and folder from Uploads.
*
* @since 1.0
* @access private
*
* @return void
**/
private function remove_data() {
/** Remove all tables started with plugin slug. */
$this->remove_tables();
}
/**
* Remove all tables started with plugin slug.
*
* @since 1.0
* @access private
*
* @return void
**/
private function remove_tables() {
global $wpdb;
$tables = $wpdb->tables();
foreach ( $tables as $table_name ) {
/** Convert plugin slug to table name. */
$table_slug = str_replace( '-', '_', Plugin::get_slug() );
/** If table name starts with prefix_plugin_slug */
if ( strpos( $table_name, $wpdb->prefix . $table_slug ) === 0 ) {
if ($wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE %s", $table_name ) ) == $table_name) {
$wpdb->query( $wpdb->prepare( "TRUNCATE TABLE %s", $table_name ) );
}
}
}
}
/**
* Return uninstall mode.
* plugin - Will remove the plugin only. Settings and Audio files will be saved. Used when updating the plugin.
* plugin+settings - Will remove the plugin and settings. Audio files will be saved. As a result, all settings will be set to default values. Like after the first installation.
*
* @since 1.0
* @access public
*
* @return string
**/
public function get_uninstall_mode() {
$uninstall_settings = get_option( 'mdp_selection_lite_uninstall_settings' );
if ( isset( $uninstall_settings[ 'mdp_selection_lite_uninstall_settings' ] ) && $uninstall_settings[ 'mdp_selection_lite_uninstall_settings' ] ) { // Default value.
$uninstall_settings = [
'delete_plugin' => 'plugin'
];
}
return $uninstall_settings[ 'delete_plugin' ];
}
/**
* Main Uninstallation Instance.
*
* Insures that only one instance of Uninstall exists in memory at any one time.
*
* @static
* @since 1.0
*
* @return Uninstall
**/
public static function get_instance() {
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) {
self::$instance = new self;
}
return self::$instance;
}
}
/** Call Unity Uninstall. */
Uninstall::get_instance();