From: Steve Sutton Date: Wed, 6 Mar 2019 16:07:51 +0000 (-0500) Subject: Updating lead import X-Git-Tag: v1.2.1^2~8 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=d786f88bcfb6a8df5d221469866d3e1e37573bf5;p=WP-Plugins%2Fglm-member-db-leads.git Updating lead import This is for uptra. --- diff --git a/models/admin/management/leads.php b/models/admin/management/leads.php index b4427bf..9365e87 100644 --- a/models/admin/management/leads.php +++ b/models/admin/management/leads.php @@ -67,6 +67,14 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement */ public $events = array(); public $image_owner; + public $db_host; + public $db_name; + public $db_user; + public $db_password; + public $redirectUrl; + public $next; + public $limit = 50; + public $completed = false; /** * Constructor @@ -346,6 +354,12 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement 'mLeadAccess' => $memberCanAccessLeads, 'settingsUpdated' => $settingsUpdated, 'settingsUpdateError' => $settingsUpdateError, + 'db_host' => $this->db_host, + 'db_name' => $this->db_name, + 'db_user' => $this->db_user, + 'db_password' => $this->db_password, + 'redirectUrl' => $this->redirectUrl, + 'next' => $this->next, ); // Return status, suggested view, and data to controller @@ -570,18 +584,34 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement */ public function importLeads() { + // Set start to 1 + $start = 0; + + if ( isset( $_REQUEST['start'] ) ) { + $start = filter_var( $_REQUEST['start'], FILTER_VALIDATE_INT ); + } + + if ( $start == 0 ) { + // clear the leads tables + $this->wpdb->query( 'DELETE FROM ' . GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . 'leads' ); + $this->wpdb->query( 'DELETE FROM ' . GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . 'lead_entry' ); + } + + // counters $new_leads = 0; $updated_leads = 0; + + // data arrays $interests = array(); $new_interests = array(); $interests_map = array(); // Connect to the postgresql database - $db_host = filter_var( $_REQUEST['db_host'], FILTER_SANITIZE_STRING ); - $db_name = filter_var( $_REQUEST['db_name'], FILTER_SANITIZE_STRING ); - $db_user = filter_var( $_REQUEST['db_user'], FILTER_SANITIZE_STRING ); - $db_password = filter_var( $_REQUEST['db_password'], FILTER_SANITIZE_STRING ); - $this->connectPostgresDb( $db_host, $db_name, $db_user, $db_password ); + $this->db_host = filter_var( $_REQUEST['db_host'], FILTER_SANITIZE_STRING ); + $this->db_name = filter_var( $_REQUEST['db_name'], FILTER_SANITIZE_STRING ); + $this->db_user = filter_var( $_REQUEST['db_user'], FILTER_SANITIZE_STRING ); + $this->db_password = filter_var( $_REQUEST['db_password'], FILTER_SANITIZE_STRING ); + $this->connectPostgresDb( $this->db_host, $this->db_name, $this->db_user, $this->db_password ); // Get list of contact interest // From old database @@ -610,14 +640,26 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement } // Get contacts - $sql = " - SELECT * + $statsSql = "SELECT count(*)"; + $sql = "SELECT *"; + $baseSql = " FROM contacts.contact WHERE email != '' AND email is not null - AND create_date >= '2014-01-01' - AND contact_type not like '%3'"; - $contacts = $this->dbh->query( $sql )->fetchAll( PDO::FETCH_ASSOC ); + AND create_date >= '09/01/2018'"; + $statsSql .= $baseSql; + $sql .= $baseSql . " LIMIT " . $this->limit . " OFFSET $start"; + $contactStats = $this->dbh->query( $statsSql )->fetchColumn(); + $contacts = $this->dbh->query( $sql )->fetchAll( PDO::FETCH_ASSOC ); + $totalFetched = count( $contacts ); + + if ( $totalFetched ) { + $this->next = $start + $totalFetched; + } else { + $this->completed = true; + } + + foreach ( $contacts as $contact ) { // Check to see if a lead with this email address exists. $lead_id = $this->wpdb->get_var( @@ -761,9 +803,14 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement } } - return '
+        $return = '
             New leads: ' . $new_leads . '
-            Updated Leads: ' . $updated_leads . '
'; + Updated Leads: ' . $updated_leads . ' + Total Contacts: ' . $contactStats . ' + Total Fetched: ' . $totalFetched . ' +
'; + + return $return; } public function importInterests() diff --git a/views/admin/management/leads.html b/views/admin/management/leads.html index 7ff4706..3900ec6 100644 --- a/views/admin/management/leads.html +++ b/views/admin/management/leads.html @@ -6,7 +6,7 @@ Settings / Source List Gravity Forms Setup Interests - Import Leads + Import Leads {* Import Member Leads *} {* Redo Zip *} @@ -197,10 +197,15 @@ -
+ + {if $db_host}{/if} + {if $db_name}{/if} + {if $db_user}{/if} + {if $db_password}{/if} + {if $next}{/if} {if !$result} @@ -226,6 +231,9 @@ + + + {/if}
{$result}
@@ -264,6 +272,7 @@