From: Steve Sutton Date: Thu, 3 May 2018 18:03:56 +0000 (-0400) Subject: Update for users and custom fields. X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=5d1109c5d4102d1f36630c02e9d3f8301bcf342d;p=user%2Fsteve%2Fglm-member-db-migcsa.git Update for users and custom fields. Archive any member not in old 2017 or 2018 member category. Update the custom field email. --- diff --git a/models/admin/migcsa/index.php b/models/admin/migcsa/index.php index f708493..5cba2ce 100644 --- a/models/admin/migcsa/index.php +++ b/models/admin/migcsa/index.php @@ -140,6 +140,14 @@ class GlmMembersAdmin_migcsa_index } switch( $option ) { + case 'updateEmail': + $view = 'memberTypes'; + $response = $this->updateCustomFieldEmails(); + break; + case 'archive': + $view = 'memberTypes'; + $response = $this->archive(); + break; case 'updateUsernames': $view = 'memberTypes'; $response = $this->updateUsernames(); @@ -191,6 +199,125 @@ class GlmMembersAdmin_migcsa_index } + public function updateCustomFieldEmails() + { + + $sql = " + SELECT member_id,member_contact_email + FROM member + WHERE member_id IN (SELECT member_id + FROM member_category + WHERE category_id IN (40,42))"; + $stmt = $this->dbh->query( $sql ); + $members = $stmt->fetchAll(); + + $count = count( $members ); + + $this->wpdb->query('START TRANSACTION'); + foreach ( $members as $m ) { + // First get the ref_dest for this member. + $ref_dest = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members + WHERE old_member_id = %d", + $m['member_id'] + ) + ); + if ( $ref_dest ) { + $contact_id = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . "contacts + WHERE ref_dest = %d", + $ref_dest + ) + ); + echo '
$contact_id: ' . print_r( $contact_id, true ) . '
'; + // see if there's an email set + $cf_email_id = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data + WHERE field_id = %d + AND entity_id = %d", + 14, + $contact_id + ) + ); + echo '
$cf_email_id: ' . print_r( $cf_email_id, true ) . '
'; + if ( $cf_email_id ) { + $this->wpdb->update( + GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_data', + array( 'field_data' => $m['member_contact_email'] ), + array( 'id' => $cf_email_id ) + ); + } else { + $this->wpdb->insert( + GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . 'custom_field_data', + array( + 'field_data' => $m['member_contact_email'], + 'field_id' => 14, + 'entity_id' => $contact_id + ) + ); + } + } + + } + // $this->wpdb->query('ROLLBACK'); + $this->wpdb->query('COMMIT'); + + return '
$count: ' . print_r( $count, true ) . '
'; + } + + public function archive() + { + $sql = " + SELECT member_id,member_name,process_email + FROM member + WHERE member_id NOT IN (SELECT member_id + FROM member_category + WHERE category_id IN (40,42))"; + $stmt = $this->dbh->query( $sql ); + $members = $stmt->fetchAll(); + + $count = count( $members ); + + $this->wpdb->query('START TRANSACTION'); + foreach ( $members as $m ) { + // First get the ref_dest for this member. + $ref_dest = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members + WHERE old_member_id = %d", + $m['member_id'] + ) + ); + if ( $ref_dest ) { + // update the member access level. + $this->wpdb->update( + GLM_MEMBERS_PLUGIN_DB_PREFIX . 'members', + array( 'access' => 90 ), + array( 'id' => $ref_dest ) + ); + echo '
$ref_dest: ' . print_r( $ref_dest, true ) . '
'; + // Now update the member contact access level for this member. + $this->wpdb->update( + GLM_MEMBERS_CONTACTS_PLUGIN_DB_PREFIX . 'contacts', + array( 'access' => 90 ), + array( 'ref_dest' => $ref_dest ) + ); + } + + } + // $this->wpdb->query('ROLLBACK'); + $this->wpdb->query('COMMIT'); + + return '
$count: ' . print_r( $count, true ) . '
'; + } + 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); diff --git a/views/admin/migcsa/index.html b/views/admin/migcsa/index.html index a5939e7..80e664d 100644 --- a/views/admin/migcsa/index.html +++ b/views/admin/migcsa/index.html @@ -12,3 +12,7 @@ Update Member Contacts
Update Usernames +
+Archive Old Users +
+Update Custom field email