mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-11 18:56:10 +09:00
Add upgrade class for data migration
This commit is contained in:
@@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// If this file is called directly, abort.
|
||||||
|
if ( ! defined( 'WPINC' ) ) {
|
||||||
|
die;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This populates all existing UM users with meta_key `last_login` as `user_registered` if the meta key doesn't exist.
|
||||||
|
* Target Version: 1.3.39
|
||||||
|
*/
|
||||||
|
|
||||||
|
global $wpdb, $ultimatemember;
|
||||||
|
$wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
|
||||||
|
SELECT uu.ID, "_um_last_login", uu.user_registered
|
||||||
|
FROM '.$wpdb->users.' AS uu
|
||||||
|
WHERE
|
||||||
|
uu.ID NOT IN(
|
||||||
|
SELECT user_id FROM '.$wpdb->usermeta.'
|
||||||
|
WHERE meta_key = "_um_last_login"
|
||||||
|
GROUP BY user_id
|
||||||
|
)'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This class handles all functions that changes data structures and moving files
|
||||||
|
*/
|
||||||
|
class UM_Upgrade {
|
||||||
|
|
||||||
|
function __construct() {
|
||||||
|
$um_last_version_upgrade = get_option('um_last_version_upgrade');
|
||||||
|
|
||||||
|
if( ! $um_last_version_upgrade || $um_last_version_upgrade != ultimatemember_version ){
|
||||||
|
add_action( 'admin_init', array($this,'packages'),10);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load packages
|
||||||
|
*/
|
||||||
|
public function packages( ){
|
||||||
|
|
||||||
|
$file_path = plugin_dir_path ( __FILE__ ).'packages/'.ultimatemember_version.'.php';
|
||||||
|
|
||||||
|
if( file_exists( $file_path ) ){
|
||||||
|
include_once( $file_path );
|
||||||
|
update_option( 'um_last_version_upgrade', ultimatemember_version );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
new UM_Upgrade();
|
||||||
@@ -13,6 +13,7 @@ class UM_API {
|
|||||||
require_once um_path . 'core/um-short-functions.php';
|
require_once um_path . 'core/um-short-functions.php';
|
||||||
|
|
||||||
if (is_admin()) {
|
if (is_admin()) {
|
||||||
|
require_once um_path . 'admin/core/um-admin-upgrade.php';
|
||||||
require_once um_path . 'admin/um-admin-init.php';
|
require_once um_path . 'admin/um-admin-init.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user