Created
April 9, 2015 20:38
-
-
Save daronspence/c76f5f0316827d95a443 to your computer and use it in GitHub Desktop.
What a scumbag move.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class WPMDBPro_Addon extends WPMDB_Base { | |
protected $version_required; | |
function __construct( $plugin_file_path ) { | |
$this->is_addon = true; | |
parent::__construct( $plugin_file_path ); | |
} | |
function meets_version_requirements( $version_required ) { | |
$wpmdb_pro_version = $GLOBALS['wpmdb_meta']['wp-migrate-db-pro']['version']; | |
$result = version_compare( $wpmdb_pro_version, $version_required, '>=' ); | |
$this->version_required = $version_required; | |
if ( false == $result ) { | |
$this->hook_version_requirement_actions(); | |
} | |
if ( $result ) { | |
// If pre-1.1.2 version of Media Files addon, | |
// then it's not supported by this version of core | |
if ( empty( $this->plugin_version ) ) { | |
$result = false; | |
} else { // Check that this version of core supports the addon version | |
$plugin_basename = sprintf( '%1$s/%1$s.php', $this->plugin_slug ); | |
$required_addon_version = $this->addons[ $plugin_basename ]['required_version']; | |
$result = version_compare( $this->plugin_version, $required_addon_version, '>=' ); | |
} | |
} | |
return $result; | |
} | |
function hook_version_requirement_actions() { | |
add_action( 'wpmdb_notices', array( $this, 'version_requirement_actions' ) ); | |
} | |
function version_requirement_actions() { | |
$addon_requirement_check = get_site_option( 'wpmdb_addon_requirement_check', array() ); | |
// we only want to delete the transients once, here we keep track of which versions we've checked | |
if ( ! isset( $addon_requirement_check[ $this->plugin_slug ] ) || $addon_requirement_check[ $this->plugin_slug ] != $GLOBALS['wpmdb_meta'][ $this->plugin_slug ]['version'] ) { | |
delete_site_transient( 'wpmdb_upgrade_data' ); | |
delete_site_transient( 'update_plugins' ); | |
$addon_requirement_check[ $this->plugin_slug ] = $GLOBALS['wpmdb_meta'][ $this->plugin_slug ]['version']; | |
update_site_option( 'wpmdb_addon_requirement_check', $addon_requirement_check ); | |
} | |
$this->version_requirement_warning(); | |
} | |
function version_requirement_warning() { ?> | |
<div class="updated warning inline-message below-h2"> | |
<strong>Update Required</strong> — <?php | |
$addon_name = $this->get_plugin_name(); | |
$required = $this->version_required; | |
$installed = $GLOBALS['wpmdb_meta']['wp-migrate-db-pro']['version']; | |
$wpmdb_basename = sprintf( '%s/%s.php', $GLOBALS['wpmdb_meta']['wp-migrate-db-pro']['folder'], 'wp-migrate-db' ); | |
$update = wp_nonce_url( network_admin_url( 'update.php?action=upgrade-plugin&plugin=' . urlencode( $wpmdb_basename ) ), 'upgrade-plugin_' . $wpmdb_basename ); | |
printf( __( 'The version of %1$s you have installed, requires version %2$s of WP Migrate DB Pro. You currently have %3$s installed. <strong><a href="%4$s">Update Now</a></strong>', 'wp-migrate-db' ), $addon_name, $required, $installed, $update ); ?> | |
</div> <?php | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment