Update for verify lat lon data screen
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 8 May 2019 15:05:04 +0000 (11:05 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 8 May 2019 15:05:04 +0000 (11:05 -0400)
Correct the lat lon for member info record if they are different.

models/admin/ajax/verifyLatLon.php
views/admin/import/verify.html

index 5c84ee1..e6eec6b 100644 (file)
@@ -110,6 +110,7 @@ class GlmMembersAdmin_ajax_verifyLatLon
             }
         }
 
+        $memberData = array();
 
         $sql = "
         SELECT MI.id,MI.member,MI.member_name,MI.lat,MI.lon,M.old_member_id
@@ -138,6 +139,8 @@ class GlmMembersAdmin_ajax_verifyLatLon
 
         if ( isset( $members ) && is_array( $members ) ) {
             foreach ( $members as $member ) {
+                $goodLat = false;
+                $goodLon = false;
                 $newLat[] = $member['lat'];
                 $newLon[] = $member['lon'];
 
@@ -148,23 +151,62 @@ class GlmMembersAdmin_ajax_verifyLatLon
                 $totalMembers++;
 
                 // Compare lats
-                if ( $oldLat[ $member['old_member_id'] ] == $member['lat'] ) {
-                    $totalGood++;
+                if ( $oldLat[$member['old_member_id']] == $member['lat'] ) {
+                    $goodLat = true;
                 } else {
                     // check if off by one
                     $l  = (float)$member['lat'];
-                    $ol = (float)$oldLat[ $member['old_member_id'] ];
+                    $ol = (float)$oldLat[$member['old_member_id']];
                     if ( (float)$ol > (float)$l ) {
                         $diff = ( (float)$ol - (float)$l );
                     } else {
                         $diff = ( (float)$l - (float)$ol );
                     }
                     if ( $diff <= (float).00011 ) {
-                        $totalGood++;
+                        $goodLat = true;
                     } else {
-                        $totalBad++;
+                        $memberData[] = array(
+                            'id'          => $member['member'],
+                            'member_name' => $member['member_name'],
+                            'original'    => array(
+                                'lat' => $oldLat[$member['old_member_id']],
+                                'lon' => $oldLon[$member['old_member_id']],
+                            ),
+                            'dev' => array(
+                                'lat' => $member['lat'],
+                                'lon' => $member['lon'],
+                            ),
+                        );
+                        // update the member info lat lon
+                        $this->wpdb->update(
+                            GLM_MEMBERS_PLUGIN_DB_PREFIX . 'member_info',
+                            array( 'lat' => $oldLat[$member['old_member_id']], 'lon' => $oldLon[$member['old_member_id']]),
+                            array( 'id' => $member['id'] ),
+                            array( '%f', '%f' ),
+                            array( '%d' )
+                        );
                     }
                 }
+
+                // Compare lngs
+                if ( $oldLon[$member['old_member_id']] == $member['lon'] ) {
+                    $goodLon = true;
+                } else {
+                    // update the member info lat lon
+                    $this->wpdb->update(
+                        GLM_MEMBERS_PLUGIN_DB_PREFIX . 'member_info',
+                        array( 'lat' => $oldLat[$member['old_member_id']], 'lon' => $oldLon[$member['old_member_id']]),
+                        array( 'id' => $member['id'] ),
+                        array( '%f', '%f' ),
+                        array( '%d' )
+                    );
+                }
+
+                if ( $goodLat && $goodLon ) {
+                    $totalGood++;
+                } else {
+                    $totalBad++;
+                }
             }
         }
 
@@ -172,6 +214,7 @@ class GlmMembersAdmin_ajax_verifyLatLon
             'totalMembers' => $totalMembers,
             'totalGood'    => $totalGood,
             'totalBad'     => $totalBad,
+            'memberData'   => $memberData,
         );
 
         echo json_encode( $stats );
index d4bd587..9a1c6c4 100644 (file)
@@ -85,6 +85,7 @@ jQuery(document).ready(function($) {
                 $( '#import-stats' ).append( 'There are ' + data.totalMembers + ' members<br>' );
                 $( '#import-stats' ).append( 'There are ' + data.totalGood + ' Good lat lon<br>' );
                 $( '#import-stats' ).append( 'There are ' + data.totalBad + ' Bad lat lon<br>' );
+                console.log( 'memberData', data.memberData );
             }
         });
         var memberLatLonUrl