Changeset 8314 for branches/2.0/bp-members/bp-members-functions.php
- Timestamp:
- 04/24/2014 12:22:06 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.0/bp-members/bp-members-functions.php
r8272 r8314 1638 1638 } 1639 1639 1640 /** 1641 * Migrate signups from pre-2.0 configuration to wp_signups. 1642 * 1643 * @since BuddyPress (2.0.1) 1644 */ 1645 function bp_members_migrate_signups() { 1646 global $wpdb; 1647 1648 $status_2_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->users} WHERE user_status = '2'" ); 1649 1650 if ( ! empty( $status_2_ids ) ) { 1651 $signups = get_users( array( 1652 'fields' => array( 1653 'ID', 1654 'user_login', 1655 'user_pass', 1656 'user_registered', 1657 'user_email', 1658 'display_name', 1659 ), 1660 'include' => $status_2_ids, 1661 ) ); 1662 1663 // Fetch activation keys separately, to avoid the all_with_meta 1664 // overhead 1665 $status_2_ids_sql = implode( ',', $status_2_ids ); 1666 $ak_data = $wpdb->get_results( "SELECT user_id, meta_value FROM {$wpdb->usermeta} WHERE meta_key = 'activation_key' AND user_id IN ({$status_2_ids_sql})" ); 1667 1668 // Rekey 1669 $activation_keys = array(); 1670 foreach ( $ak_data as $ak_datum ) { 1671 $activation_keys[ intval( $ak_datum->user_id ) ] = $ak_datum->meta_value; 1672 } 1673 1674 unset( $status_2_ids_sql, $status_2_ids, $ak_data ); 1675 1676 // Merge 1677 foreach ( $signups as &$signup ) { 1678 if ( isset( $activation_keys[ $signup->ID ] ) ) { 1679 $signup->activation_key = $activation_keys[ $signup->ID ]; 1680 } 1681 } 1682 1683 // Reset the signup var as we're using it to process the migration 1684 unset( $signup ); 1685 1686 } else { 1687 return; 1688 } 1689 1690 foreach ( $signups as $signup ) { 1691 $meta = array(); 1692 1693 // Rebuild the activation key, if missing 1694 if ( empty( $signup->activation_key ) ) { 1695 $signup->activation_key = wp_hash( $signup->ID ); 1696 } 1697 1698 if ( bp_is_active( 'xprofile' ) ) { 1699 $meta['field_1'] = $signup->display_name; 1700 } 1701 1702 $meta['password'] = $signup->user_pass; 1703 1704 $user_login = preg_replace( '/\s+/', '', sanitize_user( $signup->user_login, true ) ); 1705 $user_email = sanitize_email( $signup->user_email ); 1706 1707 BP_Signup::add( array( 1708 'user_login' => $user_login, 1709 'user_email' => $user_email, 1710 'registered' => $signup->user_registered, 1711 'activation_key' => $signup->activation_key, 1712 'meta' => $meta 1713 ) ); 1714 1715 // Deleting these options will remove signups from users count 1716 delete_user_option( $signup->ID, 'capabilities' ); 1717 delete_user_option( $signup->ID, 'user_level' ); 1718 } 1719 } 1720 1640 1721 function bp_core_new_user_activity( $user ) { 1641 1722 if ( empty( $user ) || !bp_is_active( 'activity' ) )
Note: See TracChangeset
for help on using the changeset viewer.