More updates to connection import.
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 19 Jul 2018 18:17:11 +0000 (14:17 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 19 Jul 2018 18:17:11 +0000 (14:17 -0400)
Fix for email address update.

classes/glmMemberImportFromConnections.php
models/admin/management/development.php
views/admin/management/development.html

index 086ef4e..a3da98a 100644 (file)
@@ -401,6 +401,15 @@ class GlmMemberImportFromConnections
                     $url = '';
                 }
 
+                // Get the first email
+                if ( is_array( $m['email'] ) ) {
+                    reset( $m['email'] );
+                    $emailData = current( $m['email'] );
+                    $email = $emailData['address'];
+                } else {
+                    $email = '';
+                }
+
                 // Get phone numbers
                 $phone = '';
                 $toll_free = '';
@@ -483,6 +492,7 @@ class GlmMemberImportFromConnections
                         phone,
                         toll_free,
                         url,
+                        email,
                         logo,
                         cc_type,
                         notes,
@@ -512,6 +522,7 @@ class GlmMemberImportFromConnections
                         '$phone',
                         '$toll_free',
                         '$url',
+                        '$email',
                         '$logo',
                         0,
                         '',
index a6aa772..58034d1 100644 (file)
@@ -116,6 +116,42 @@ class GlmMembersAdmin_management_development
 
         switch( $option ) {
 
+            case 'updateEmails';
+                $sql = "
+                SELECT id,organization,email
+                  FROM ".$this->wpdb->prefix."connections
+                 WHERE email != ''
+                ORDER BY id";
+                $connection_members = $this->wpdb->get_results($sql, ARRAY_A);
+
+                foreach ( $connection_members as $member ) {
+                    // Update the email for the member_info record
+                    // Need to get the member_info id based on the ref_dest
+                    $email_data = unserialize( $member['email'] );
+                    $email = '';
+                    if ( is_array( $email_data ) ) {
+                        reset( $email_data );
+                        $eData = current( $email_data );
+                        $email = $eData['address'];
+                    }
+                    if ( $email ) {
+                        $this->wpdb->query(
+                            $this->wpdb->prepare(
+                                "UPDATE " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info
+                                    SET email = %s
+                                  WHERE member = ( SELECT id
+                                                     FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
+                                                    WHERE old_member_id = %d
+                                                    )",
+                                $email,
+                                $member['id']
+                            )
+                        );
+                    }
+                }
+
+            break;
+
             case 'import_connections':
 
                 // Load Member Info Data Class and get info data for later use
index 5a5327c..eed511f 100644 (file)
@@ -9,6 +9,10 @@
             <H3>Import</H3>
             <ul>
                 <li>
+                    <p>
+                        <a href="{$thisUrl}?page={$thisPage}&glm_action=development&option=updateEmails">Update Emails for Connection Import</a>
+                    </p>
+
                     <p>
                         <a href="{$thisUrl}?page={$thisPage}&glm_action=development&option=import_connections">Import data from "Connections" business directory</a>