Current Path : /var/www/html/afc2023/wp-content/plugins/duplicator/classes/ |
Current File : /var/www/html/afc2023/wp-content/plugins/duplicator/classes/class.settings.php |
<?php if ( ! defined( 'DUPLICATOR_VERSION' ) ) exit; // Exit if accessed directly class DUP_Settings { const OPT_SETTINGS = 'duplicator_settings'; public static $Data; public static $Version = DUPLICATOR_VERSION; /** * Class used to manage all the settings for the plugin */ static function init() { self::$Data = get_option(self::OPT_SETTINGS); //when the plugin updated, this will be true if (empty(self::$Data) || self::$Version > self::$Data['version']){ self::SetDefaults(); } } /** * Find the setting value * @param string $key The name of the key to find * @return The value stored in the key returns null if key does not exist */ public static function Get($key = '') { $result = null; if (isset(self::$Data[$key])) { $result = self::$Data[$key]; } else { $defaults = self::GetAllDefaults(); if (isset($defaults[$key])) { $result = $defaults[$key]; } } return $result; } /** * Set the settings value in memory only * @param string $key The name of the key to find * @param string $value The value to set * remarks: The Save() method must be called to write the Settings object to the DB */ public static function Set($key = '', $value) { if (isset(self::$Data[$key])) { self::$Data[$key] = ($value == null) ? '' : $value; } elseif (!empty($key)) { self::$Data[$key] = ($value == null) ? '' : $value; } } /** * Saves all the setting values to the database * @return True if option value has changed, false if not or if update failed. */ public static function Save() { return update_option(self::OPT_SETTINGS, self::$Data); } /** * Deletes all the setting values to the database * @return True if option value has changed, false if not or if update failed. */ public static function Delete() { return delete_option(self::OPT_SETTINGS); } /** * Sets the defaults if they have not been set * @return True if option value has changed, false if not or if update failed. */ public static function SetDefaults() { $defaults = self::GetAllDefaults(); self::$Data = $defaults; return self::Save(); } /** * LegacyClean: Cleans up legacy data */ public static function LegacyClean() { global $wpdb; //PRE 5.0 $table = $wpdb->prefix."duplicator"; $wpdb->query("DROP TABLE IF EXISTS $table"); delete_option('duplicator_pack_passcount'); delete_option('duplicator_add1_passcount'); delete_option('duplicator_add1_clicked'); delete_option('duplicator_options'); //PRE 5.n //Next version here if needed } /** * DeleteWPOption: Cleans up legacy data */ public static function DeleteWPOption($optionName) { if ( in_array($optionName, $GLOBALS['DUPLICATOR_OPTS_DELETE']) ) { return delete_option($optionName); } return false; } public static function GetAllDefaults() { $default = array(); $default['version'] = self::$Version; //Flag used to remove the wp_options value duplicator_settings which are all the settings in this class $default['uninstall_settings'] = isset(self::$Data['uninstall_settings']) ? self::$Data['uninstall_settings'] : true; //Flag used to remove entire wp-snapshot directory $default['uninstall_files'] = isset(self::$Data['uninstall_files']) ? self::$Data['uninstall_files'] : true; //Flag used to remove all tables $default['uninstall_tables'] = isset(self::$Data['uninstall_tables']) ? self::$Data['uninstall_tables'] : true; //Flag used to show debug info $default['package_debug'] = isset(self::$Data['package_debug']) ? self::$Data['package_debug'] : false; //Flag used to enable mysqldump $default['package_mysqldump'] = isset(self::$Data['package_mysqldump']) ? self::$Data['package_mysqldump'] : true; //Optional mysqldump search path $default['package_mysqldump_path'] = isset(self::$Data['package_mysqldump_path']) ? self::$Data['package_mysqldump_path'] : ''; //Optional mysql limit size $default['package_phpdump_qrylimit'] = isset(self::$Data['package_phpdump_qrylimit']) ? self::$Data['package_phpdump_qrylimit'] : "100"; //Optional mysqldump search path $default['package_zip_flush'] = isset(self::$Data['package_zip_flush']) ? self::$Data['package_zip_flush'] : false; //Flag for .htaccess file $default['storage_htaccess_off'] = isset(self::$Data['storage_htaccess_off']) ? self::$Data['storage_htaccess_off'] : false; return $default; } } //Init Class DUP_Settings::init(); ?>