Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
forbidals
/
wp-content
/
plugins
/
wp-migrate-db
/
class
/
Free
/
Plugin
:
PluginManager.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace DeliciousBrains\WPMDB\Free\Plugin; use DeliciousBrains\WPMDB\Common\Cli\Cli; use DeliciousBrains\WPMDB\Common\Http\Helper; use DeliciousBrains\WPMDB\Common\Http\WPMDBRestAPIServer; use DeliciousBrains\WPMDB\Common\Migration\MigrationHelper; use DeliciousBrains\WPMDB\Common\Plugin\Assets; use DeliciousBrains\WPMDB\Common\Plugin\PluginManagerBase; use DeliciousBrains\WPMDB\Common\Profile\ProfileManager; use DeliciousBrains\WPMDB\Common\Properties\Properties; use DeliciousBrains\WPMDB\Common\Filesystem\Filesystem; use DeliciousBrains\WPMDB\Common\Http\Http; use DeliciousBrains\WPMDB\Common\Multisite\Multisite; use DeliciousBrains\WPMDB\Common\Settings\Settings; use DeliciousBrains\WPMDB\Common\Sql\Table; use DeliciousBrains\WPMDB\Common\UI\Notice; use DeliciousBrains\WPMDB\Common\UI\TemplateBase; use DeliciousBrains\WPMDB\Common\Upgrades\UpgradeRoutinesManager; use DeliciousBrains\WPMDB\Common\Util\Util; use DeliciousBrains\WPMDB\WPMDBDI; class PluginManager extends PluginManagerBase { public function register() { parent::register(); $cli = WPMDBDI::getInstance()->get(Cli::class); $cli->register(); add_filter('plugin_action_links_' . $this->props->plugin_basename, array($this, 'plugin_action_links')); add_filter('network_admin_plugin_action_links_' . $this->props->plugin_basename, array($this, 'plugin_action_links')); add_filter('admin_footer_text', [$this, 'admin_footer_text']); add_filter( 'update_footer', [$this, 'update_footer'], 20 ); } /** * Adds additional links to plugin page * * @param array $links * * @return array $links */ public function plugin_action_links($links) { $start_links = array( 'profiles' => sprintf('<a href="%s">%s</a>', network_admin_url($this->props->plugin_base) , __('Migrate', 'wp-migrate-db')), 'settings' => sprintf('<a href="%s">%s</a>', network_admin_url($this->props->plugin_base) . '#settings', _x('Settings', 'Plugin configuration and preferences', 'wp-migrate-db')) ); $end_links = array( 'upgradepro' => sprintf('<a href="%s" style="font-weight:700">%s</a>', 'https://deliciousbrains.com/wp-migrate-db-pro/?utm_source=MDB%2BFree&utm_medium=plugins%2Blist&utm_campaign=WP%2BMigrate%2BDB%2BPro%2BUpgrade', __('Upgrade', 'wp-migrate-db')) ); return $start_links + $links + $end_links; } /** * Get the plugin title * * @return string **/ public function get_plugin_title() { return __('WP Migrate Lite', 'wp-migrate-db'); } /** * Get the plugin version * * @return string **/ public function get_plugin_version() { if (!isset($GLOBALS['wpmdb_meta']['wp-migrate-db']['version'])) { return '0'; } return $GLOBALS['wpmdb_meta']['wp-migrate-db']['version']; } /** * Get the plugin page url * * @return string **/ public static function plugin_page_url() { if(is_multisite()) { return menu_page_url('tools_page_wp-migrate-db'); } return menu_page_url('settings_page_wp-migrate-db-network'); } /** * Filter admin footer text for Migrate pages * * @param string $text * @return string * @handles admin_footer_text **/ public function admin_footer_text($text) { if (!$this->util->isMDBPage()) { return $text; } $product_link = Util::external_link( static::delicious_brains_url( '/wp-migrate-db-pro/', [ 'utm_source' => 'migrate_lite', 'utm_medium' => 'insideplugin', 'utm_campaign' => 'plugin_footer', 'utm_content' => 'footer_colophon' ] ), $this->get_plugin_title() ); $wpe_link = Util::external_link( static::wpe_url( '', [ 'utm_source' => 'migrate_plugin', 'utm_content' => 'migrate_free_plugin_footer_text' ] ), 'WP Engine' ); return $this->generate_admin_footer_text($text, $product_link, $wpe_link); } /** * Filter update footer text for Migrate pages * * @param string $content * @return string * @handles update_footer **/ public function update_footer($content) { if (!$this->util->isMDBPage()) { return $content; } $utm_params = [ 'utm_source' => 'MDB%2BFree', 'utm_campaign' => 'plugin_footer', 'utm_content' => 'footer_navigation' ]; $links[] = Util::external_link( static::delicious_brains_url( '/wp-migrate-db-pro/docs/', $utm_params ), __('Documentation', 'wp-migrate-db') ); $links[] = '<a href="' . static::plugin_page_url() . '#help">' . __( 'Support', 'wp-migrate-db' ) . '</a>'; $links[] = Util::external_link( static::delicious_brains_url( '/wp-migrate-db-pro/feedback/', $utm_params ), __('Feedback', 'wp-migrate-db') ); $links[] = Util::external_link( static::delicious_brains_url( '/wp-migrate-db-pro/whats-new/', $utm_params ), $this->get_plugin_title() . ' ' . $this->get_plugin_version(), 'whats-new' ); return join( ' ∙ ', $links ); } }