File ManagerCurrent Directory: wp-content/plugins/wp-migrate-db/class/Common/AddonLinux appserver-0d5e4f1e-php-cc8da225320a42ba9b7d66cba40b1f03 6.6.123+ #1 SMP PREEMPT_DYNAMIC Wed Mar 11 09:04:28 UTC 2026 x86_64Edit File: AddonsFacade.php <?php namespace DeliciousBrains\WPMDB\Common\Addon; use DeliciousBrains\WPMDB\Common\Util\Util; class AddonsFacade { protected $addons_schema_option = 'wp_migrate_addon_schema'; protected $current_schema_version = 1; const LEGACY_ADDONS = [ 'wp-migrate-db-pro-media-files/wp-migrate-db-pro-media-files.php', 'wp-migrate-db-pro-cli/wp-migrate-db-pro-cli.php', 'wp-migrate-db-pro-multisite-tools/wp-migrate-db-pro-multisite-tools.php', 'wp-migrate-db-pro-theme-plugin-files/wp-migrate-db-pro-theme-plugin-files.php', ]; const GLOBAL_ADDONS = [ 'wp-migrate-db-pro-media-files', 'wp-migrate-db-pro-multisite-tools', 'wp-migrate-db-pro-theme-plugin-files' ]; /** * @var AddonManagerInterface[] */ protected $addons; /** * @var bool */ protected static $initialized = false; /** * @param array $addons */ public function __construct(array $addons = []) { $this->addons = $addons; } public function register() { if (false === self::$initialized) { add_action('activate_plugin', [$this, 'prevent_legacy_addon_activation']); add_action('admin_notices', [$this, 'legacy_addon_notice']); add_action('plugins_loaded', [$this, 'initialize_addons'], PHP_INT_MAX); if (false === get_site_transient('wpmdb_disabled_legacy_addons')) { add_action('plugins_loaded', [$this, 'disable_legacy_addons'], PHP_INT_MAX); set_site_transient('wpmdb_disabled_legacy_addons', true); } self::$initialized = true; } } /** * Initializes registered addons * * @return void */ public function initialize_addons() { foreach ($this->addons as $addon) { $addon->register(false); } } /** * Deactivates legacy addons on upgrade * * @return void */ public static function disable_legacy_addons() { Util::disable_legacy_addons(); } /** * Prevents legacy addons from being activated * * @return void */ public function prevent_legacy_addon_activation($plugin) { if (in_array($plugin, self::LEGACY_ADDONS)) { $redirect = self_admin_url('plugins.php?legacyaddon=1'); wp_redirect($redirect); exit; } } /** * Notice when trying to activate addon * * @return void */ public function legacy_addon_notice() { if (isset($_GET['legacyaddon'])) { $message = __('Legacy addons cannot be activated alongside WP Migrate version 2.3.0 or above. These features have been moved to WP Migrate.', 'wp-migrate-db'); echo '<div class="updated" style="border-left: 4px solid #ffba00;"><p>' . $message . '</p></div>'; } } } Upload File Directory Listing NameTypeSizeActions.. (Parent Directory)DirAddon.phpFile6.02 KB Rename | Delete | EditAddonAbstract.phpFile4.42 KB Rename | Delete | EditAddonManagerInterface.phpFile179.00 B Rename | Delete | EditAddonsFacade.phpFile2.86 KB Rename | Delete | Edit