From: Steve Sutton Date: Thu, 3 May 2018 15:32:27 +0000 (-0400) Subject: For updating usernames X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=3b82e969c03ae9b7d7c9e800b13353ea2060fbe9;p=user%2Fsteve%2Fglm-member-db-migcsa.git For updating usernames migcsa users name that had @ and . removed from them. --- diff --git a/models/admin/migcsa/index.php b/models/admin/migcsa/index.php index beff5c1..d1dbb6f 100644 --- a/models/admin/migcsa/index.php +++ b/models/admin/migcsa/index.php @@ -140,6 +140,10 @@ class GlmMembersAdmin_migcsa_index } switch( $option ) { + case 'updateUsernames': + $view = 'memberTypes'; + $response = $this->updateUsernames(); + break; case 'updateMemberTypes': $view = 'memberTypes'; $response = $this->updateMemberTypes(); @@ -187,6 +191,92 @@ class GlmMembersAdmin_migcsa_index } + public function updateUsernames() + { + $contact_ids = array( 725, 1123, 904, 1308, 974, 1099, 534, 1019, 1077, 907, 773, 851, 1113, 1011, 17, 1213, 724, 225, 719, 687, 709, 882, 989, 648, 768, 1210, 1176, 659, 1080, 402, 817, 1300, 934); + $ref_dest_ids = array(); + $old_member_ids = array(); + + // echo '
$contact_ids: ' . print_r( $contact_ids, true ) . '
'; + + // Get ref_dest from a contact id + foreach ( $contact_ids as $c ) { + $ref_dest_ids[$c] = $this->getRefDestFromContactId( $c ); + } + // echo '
$ref_dest_ids: ' . print_r( $ref_dest_ids, true ) . '
'; + + foreach ( $ref_dest_ids as $r ) { + $old_member_ids[$r] = $this->getOldMemberId( $r ); + } + + // echo '
$old_member_ids: ' . print_r( $old_member_ids, true ) . '
'; + + $sql = " + SELECT member_id,member_name,member_login,process_email + FROM member + WHERE member_id IN ( " . implode( ',', $old_member_ids ) . ")"; + $stmt = $this->dbh->query( $sql ); + $members = $stmt->fetchAll(); + + // echo '
$members: ' . print_r( $members, true ) . '
'; + + foreach ( $members as $m ) { + echo '
$m: ' . print_r( $m, true ) . '
'; + // For each member get the contact id based on the old_member_ids array + $ref_dest = array_search( $m['member_id'], $old_member_ids ); + echo '
$ref_dest: ' . print_r( $ref_dest, true ) . '
'; + // Now with the ref_dest find the right contact id + $contactId = array_search( $ref_dest, $ref_dest_ids ); + echo '
$contactId: ' . print_r( $contactId, true ) . '
'; + // Now update the member contact's username + $this->wpdb->update( + GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . 'contacts', + array( 'username' => $m['member_login'] ), + array( 'id' => $contactId ) + ); + // See if there's any user with new username + // $wpUser = get_user_by( 'username', $m['member_login'] ); + // echo '
$wpUser: ' . print_r( $wpUser, true ) . '
'; + // Grab there user_id + $user_id = $this->wpdb->get_var( + "SELECT user_id + FROM " . $this->wpdb->prefix . "usermeta + WHERE meta_key = 'glmMembersContactID' + AND meta_value = '$contactId'" + ); + echo '
$user_id: ' . print_r( $user_id, true ) . '
'; + $this->wpdb->update( + $this->wpdb->prefix . 'users', + array( 'user_login' => $m['member_login'] ), + array( 'ID' => $user_id ) + ); + } + } + + public function getRefDestFromContactId( $contact_id ) + { + return $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT ref_dest + FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts + WHERE id = %d", + $contact_id + ) + ); + } + + public function getOldMemberId( $ref_dest ) + { + return $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT old_member_id + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members + WHERE id = %d", + $ref_dest + ) + ); + } + public function updateMemberContacts() { $sql = " @@ -496,7 +586,7 @@ class GlmMembersAdmin_migcsa_index SELECT M.*,S.state_abb FROM member M LEFT OUTER JOIN state S ON (S.state_id = M.mailing_state_id) WHERE M.member_id NOT IN (" . implode( ',', $old_members ) . ") - AND M.member_id NOT IN (7608,7613,7628,7629,7638,7639,7640,7647) + AND M.member_id NOT IN (7608,7613,7628,7629,7638,7639,7640,7647) ORDER BY M.member_id"; $stmt = $this->dbh->query( $sql ); $members = $stmt->fetchAll(); @@ -599,7 +689,7 @@ class GlmMembersAdmin_migcsa_index update_user_meta($wpUserID, 'glmMembersContactActive', true); echo '
$wpUserID: ' . print_r( $wpUserID, true ) . '
'; } else if ( is_wp_error( $wpUserID ) ) { - $messages[] = '
' . print_r( $contact, true) . '
'; + $messages[] = '
' . print_r( $contact, true) . '
'; $error = true; $messages[] = 'An error occurred! ' . $wpUserID->get_error_message() . ''; } else { diff --git a/views/admin/migcsa/index.html b/views/admin/migcsa/index.html index 2f92a6b..a5939e7 100644 --- a/views/admin/migcsa/index.html +++ b/views/admin/migcsa/index.html @@ -10,3 +10,5 @@ Update Member Types
Update Member Contacts +
+Update Usernames