Add upstream
This commit is contained in:
92
wp-content/plugins/media-library-assistant/mla-uninstall.php
Normal file
92
wp-content/plugins/media-library-assistant/mla-uninstall.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* Media Library Assistant Uninstall
|
||||
*
|
||||
* Uninstalling (deleting) Media Library Assistant deletes option settings.
|
||||
*
|
||||
* @package Media Library Assistant
|
||||
* @since 2.25
|
||||
*/
|
||||
|
||||
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides path information to the plugin root in file system format, including the trailing slash.
|
||||
*/
|
||||
define( 'MLA_PLUGIN_PATH', rtrim( dirname( __FILE__ ), '/\\' ) . '/' );
|
||||
|
||||
if ( ! defined( 'MLA_BACKUP_DIR' ) ) {
|
||||
/**
|
||||
* Provides the absolute path to the MLA backup directory, including the trailing slash.
|
||||
* This constant can be overriden by defining it in the wp_config.php file.
|
||||
*/
|
||||
$content_dir = ( defined('WP_CONTENT_DIR') ) ? WP_CONTENT_DIR : ABSPATH . 'wp-content';
|
||||
define( 'MLA_BACKUP_DIR', $content_dir . '/mla-backup/' );
|
||||
unset( $content_dir );
|
||||
}
|
||||
|
||||
if ( ! defined('MLA_OPTION_PREFIX') ) {
|
||||
/**
|
||||
* Gives a unique prefix for plugin options; can be set in wp-config.php
|
||||
*/
|
||||
define('MLA_OPTION_PREFIX', 'mla_');
|
||||
}
|
||||
|
||||
/*
|
||||
* Load the MLA Options table to get the option settings list
|
||||
*/
|
||||
require_once( MLA_PLUGIN_PATH . 'includes/class-mla-core-options.php' );
|
||||
MLACoreOptions::mla_localize_option_definitions_array();
|
||||
|
||||
/**
|
||||
* Class MLA (Media Library Assistant) Uninstall deletes the data associated with the MLA plugin
|
||||
*
|
||||
* @package Media Library Assistant
|
||||
* @since 2.25
|
||||
*/
|
||||
class MLAUninstall {
|
||||
/**
|
||||
* Delete option settings and/or backup directory, if the appropriate MLA General options are set
|
||||
*
|
||||
* @since 2.25
|
||||
*/
|
||||
public static function process_uninstall( ) {
|
||||
$delete_option_settings = 'checked' === get_option( MLA_OPTION_PREFIX . MLACoreOptions::MLA_DELETE_OPTION_SETTINGS, false );
|
||||
$delete_option_backups = 'checked' === get_option( MLA_OPTION_PREFIX . MLACoreOptions::MLA_DELETE_OPTION_BACKUPS, false );
|
||||
|
||||
/*
|
||||
* Delete saved settings
|
||||
*/
|
||||
if ( $delete_option_settings ) {
|
||||
foreach ( MLACoreOptions::$mla_option_definitions as $key => $value ) {
|
||||
if ( in_array( $value['type'], array( 'header', 'subheader' ) ) ) {
|
||||
continue;
|
||||
} else {
|
||||
$result = delete_option( MLA_OPTION_PREFIX .$key );
|
||||
}
|
||||
}
|
||||
} // $delete_option_settings
|
||||
|
||||
/*
|
||||
* Delete backup files and directory (best efforts)
|
||||
*/
|
||||
if ( $delete_option_backups && file_exists( MLA_BACKUP_DIR ) ) {
|
||||
$files = @scandir( MLA_BACKUP_DIR, SCANDIR_SORT_NONE );
|
||||
if ( is_array( $files ) ) {
|
||||
foreach ( $files as $file ) {
|
||||
if ( 0 === strpos( $file, '.' ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@unlink( MLA_BACKUP_DIR . $file );
|
||||
}
|
||||
} // is_array
|
||||
|
||||
@rmdir( MLA_BACKUP_DIR );
|
||||
} // $delete_option_backups
|
||||
} // process_uninstall
|
||||
} // class MLAUninstall
|
||||
MLAUninstall::process_uninstall();
|
||||
?>
|
||||
Reference in New Issue
Block a user