private function init_upgrade_routines()
{
// upgrade routine for upgrade routine....
$previous_version = get_option('mc4wp_lite_version', 0);
if ($previous_version) {
delete_option('mc4wp_lite_version');
update_option('mc4wp_version', $previous_version);
}
$previous_version = get_option('mc4wp_version', 0);
// allow setting migration version from URL, to easily re-run previous migrations.
if (isset($_GET['mc4wp_run_migration'])) {
$previous_version = $_GET['mc4wp_run_migration'];
}
// Ran upgrade routines before?
if (empty($previous_version)) {
update_option('mc4wp_version', MC4WP_VERSION);
// if we have at least one form, we're going to run upgrade routine for v3 => v4 anyway.
// TODO: Remove this once we hit 4.2.x
$posts = get_posts(array('post_type' => 'mc4wp-form', 'numberposts' => 1));
if (empty($posts)) {
return false;
}
$previous_version = '3.9';
}
// Rollback'ed?
if (version_compare($previous_version, MC4WP_VERSION, '>')) {
update_option('mc4wp_version', MC4WP_VERSION);
return false;
}
// This means we're good!
if (version_compare($previous_version, MC4WP_VERSION) > -1) {
return false;
}
define('MC4WP_DOING_UPGRADE', true);
$upgrade_routines = new MC4WP_Upgrade_Routines($previous_version, MC4WP_VERSION, dirname(__FILE__) . '/migrations');
$upgrade_routines->run();
update_option('mc4wp_version', MC4WP_VERSION);
}