From 5eb51ef8967f196c3acc656776c5be56426ca819 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Fri, 29 Jan 2016 10:05:10 -0500 Subject: [PATCH] Now checking for duplicate member names on import --- models/admin/management/import.php | 32 +++++++++++++++---- .../admin/management/import/readDatabase.html | 10 +++++- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/models/admin/management/import.php b/models/admin/management/import.php index 48fa2e90..e3f65069 100644 --- a/models/admin/management/import.php +++ b/models/admin/management/import.php @@ -859,6 +859,10 @@ class GlmMembersAdmin_management_import // Import Members $numbMembersActive = 0; $numbMembersInactive = 0; + $namesInserted = array(); + $membImportIssues = ''; + $haveMembImportIssues = false; + $dupeNames = 0; while (list ($key, $val) = each ($member) ) { // Determine if member is active and set access accordingly @@ -876,6 +880,19 @@ class GlmMembersAdmin_management_import } + // Check for duplicate name + $membName = $val['member_name']; + if (isset($namesInserted[$membName])) { + + // Bump dupe count and add to name to make this one unique + $dupeNames++; + $membName .= ' DUPE-'.$dupeNames; + + $membImportIssues .= '
  • Member Duplicate '.$membName.'
  • '; + $haveMembImportIssues = true; + + } + // Add main member record $res = $this->wpdb->insert( GLM_MEMBERS_PLUGIN_DB_PREFIX.'members', @@ -883,7 +900,7 @@ class GlmMembersAdmin_management_import 'access' => $access, 'member_type' => $defaultMemberType, 'created' => date('Y-m-d'), - 'name' => $val['member_name'], + 'name' => $membName, 'member_slug' => sanitize_title($val['member_name']), ), array( @@ -897,6 +914,9 @@ class GlmMembersAdmin_management_import $membID = $this->wpdb->insert_id; $member[$key]['new_id'] = $membID; + // Add this member to the names inserted so we can check for duplicates + $namesInserted[$membName] = true; + // Create truncated short_descr from descritions - Less tags, html encoded characters, newlines, tabs, etc. $stripped = str_replace(PHP_EOL, '', preg_replace('/\t+/', '', preg_replace("/&#?[a-z0-9]{2,8};/i", "", strip_tags($val['description'])))); $short_descr = implode(' ', array_slice(explode(' ', $stripped), 0, 30)); @@ -914,10 +934,6 @@ class GlmMembersAdmin_management_import } } - // Fix bad LAT/LON values. Anything that's not a number should be set to 0 (ZERO) - $latVal = ($val['lat']-0); - $lonVal = ($val['lon']-0); - // Insert Member Information Record $res = $this->wpdb->insert( GLM_MEMBERS_PLUGIN_DB_PREFIX.'member_info', @@ -934,8 +950,8 @@ class GlmMembersAdmin_management_import 'state' => $state[$val['state_id']]['state_abb'], 'country' => 'US', 'zip' => $val['zip'], - 'lat' => $latVal, - 'lon' => $lonVal, + 'lat' => $val['lat'], + 'lon' => $val['lon'], 'region' => (isset($region[$val['region']]) ? $region[$val['region']]['new_id'] : 0), 'phone' => $val['phone'], 'toll_free' => $val['toll_free'], @@ -1052,6 +1068,8 @@ class GlmMembersAdmin_management_import $templateData['numbMembers'] = count($member); $templateData['numbMembersActive'] = $numbMembersActive; $templateData['numbMembersInactive'] = $numbMembersInactive; + $templateData['haveMembImportIssues'] = $haveMembImportIssues; + $templateData['membImportIssues'] = $membImportIssues; $templateData['numbCategories'] = count($catTrans); $templateData['haveCatImportIssues'] = $haveCatImportIssues; $templateData['catImportIssues'] = $catImportIssues; diff --git a/views/admin/management/import/readDatabase.html b/views/admin/management/import/readDatabase.html index 898a11a6..2728152f 100644 --- a/views/admin/management/import/readDatabase.html +++ b/views/admin/management/import/readDatabase.html @@ -12,7 +12,15 @@ Cities:{$numbCities} States:{$numbStates} Regions:{$numbRegions} - Members:{$numbMembers} + + Members: + + {$numbMembers} + {if $haveMembImportIssues} + + {/if} + + Members Active:{$numbMembersActive} Members Inactive:{$numbMembersInactive} Categories:{$numbCategories} -- 2.17.1