function repair_user_meta_prefix() { global $xoops_db; // repair usermeta db $db_xpress_usermeta = get_wp_prefix() . 'usermeta'; $wp_prefix_only = get_wp_prefix_only(); $user_meta_prefix = get_wp_prefix(); $sql = "SELECT * FROM {$db_xpress_usermeta} WHERE meta_key LIKE '%_" . $wp_prefix_only . "%'"; $user_metas = $xoops_db->get_results($sql); if (!empty($user_metas)) { foreach ($user_metas as $user_meta) { if (strpos($user_meta->meta_key, $user_meta_prefix) === false) { $new_meta_key = ''; if (strpos($user_meta->meta_key, $wp_prefix_only . 'user_level')) { $new_meta_key = $user_meta_prefix . 'user_level'; } if (strpos($user_meta->meta_key, $wp_prefix_only . 'capabilities')) { $new_meta_key = $user_meta_prefix . 'capabilities'; } if (strpos($user_meta->meta_key, $wp_prefix_only . 'autosave_draft_ids')) { $new_meta_key = $user_meta_prefix . 'autosave_draft_ids'; } if (strpos($user_meta->meta_key, $wp_prefix_only . 'usersettings')) { if (strpos($user_meta->meta_key, $wp_prefix_only . 'usersettingstime')) { $new_meta_key = $user_meta_prefix . 'usersettingstime'; } else { $new_meta_key = $user_meta_prefix . 'usersettings'; } } if (!empty($new_meta_key)) { $repair_sql = "UPDATE {$db_xpress_usermeta} "; $repair_sql .= 'SET '; $repair_sql .= "meta_key = '{$new_meta_key}' "; $repair_sql .= "WHERE (umeta_id = {$user_meta->umeta_id} )"; $xoops_db->query($repair_sql); } } } } // repair option db user_roles include_once ABSPATH . '/include/general_functions.php'; $prefix = get_wp_prefix(); $option_tables = get_table_list($prefix, 'options'); if (!empty($option_tables)) { foreach ($option_tables as $option_table) { $mid_prefix = get_multi_mid_prefix($prefix, 'options', $option_table); $new_option_name = $prefix . $mid_prefix . 'user_roles'; $sql = "SELECT option_id , option_name FROM {$option_table} WHERE option_name LIKE '%_user_roles'"; $option = $xoops_db->get_row($sql); if ($option->option_name != $new_option_name) { $repair_sql = "UPDATE {$db_wp_option} "; $repair_sql .= 'SET '; $repair_sql .= "option_name = '{$new_option_name}' "; $repair_sql .= "WHERE (option_id = {$option->option_id} )"; $xoops_db->query($repair_sql); } } } }
function get_wp_prefix() { $prefix = get_xoops_prefix() . get_wp_prefix_only(); return $prefix; }