From 0950632c0f70149f65237e72de849e87c01c5edc Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 22 Jul 2016 16:42:03 -0400 Subject: [PATCH] Fixing issue with lead entry update insert and date_created Wasn't setting the date_submitted from the entry data was using current_time which won't work. We need to see when the entry was in the gravity form. --- models/admin/management/leads.php | 91 ++++++++++++++++++------------- 1 file changed, 54 insertions(+), 37 deletions(-) diff --git a/models/admin/management/leads.php b/models/admin/management/leads.php index d53f9b8..df7d52a 100644 --- a/models/admin/management/leads.php +++ b/models/admin/management/leads.php @@ -450,18 +450,7 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement } $member_lead_id = $this->addMemberLead( $lead ); if ( $member_lead_id ) { - // see if the gf_entry_id is already in - $entry_id = $this->wpdb->get_var( - $this->wpdb->prepare( - "SELECT id - FROM " . GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . "lead_entry - WHERE gf_entry_id = %d", - $entry['id'] - ) - ); - if ( !$entry_id ) { - $entry_id = $this->addMemberLeadEntry( $member_lead_id, $lead, $entry ); - } + $entry_id = $this->addMemberLeadEntry( $member_lead_id, $lead, $entry ); if ( $entry_id ) { // now we can add the interest field for the entry record $this->addMemberLeadInterests( $entry_id, $entry ); @@ -553,29 +542,42 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement if ( !isset( $lead ) || !is_array( $lead ) ) { return false; } + /* + echo '
$lead_id: ' . print_r( $lead_id, true ) . '
'; + echo '
$lead: ' . print_r( $lead, true ) . '
'; + echo '
$entry: ' . print_r( $entry, true ) . '
'; + exit; + */ + // see if the gf_entry_id is already in + $entry_id = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT id + FROM " . GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . "lead_entry + WHERE gf_entry_id = %d", + $entry['id'] + ) + ); $source_id = $this->getSourceId( $entry['form_id'] ); - $this->wpdb->insert( - GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . 'lead_entry', - array( - 'source_id' => $source_id, - 'lead_id' => $lead_id, - 'gf_entry_id' => $entry['id'], - 'fname' => ( ( $lead['fname'] ) ? $lead['fname'] : ''), - 'lname' => ( ( $lead['lname'] ) ? $lead['lname'] : ''), - 'org' => ( ( $lead['org'] ) ? $lead['org'] : ''), - 'addr1' => ( ( $lead['addr1'] ) ? $lead['addr1'] : ''), - 'addr2' => ( ( $lead['addr2'] ) ? $lead['addr2'] : ''), - 'city' => ( ( $lead['city'] ) ? $lead['city'] : ''), - 'state' => ( ( $lead['state'] ) ? $lead['state'] : ''), - 'zip' => ( ( $lead['zip'] ) ? $lead['zip'] : ''), - 'country' => ( ( $lead['country'] ) ? $lead['country'] : ''), - 'phone' => ( ( $lead['phone'] ) ? $lead['phone'] : ''), - 'phone2' => ( ( $lead['phone2'] ) ? $lead['phone2'] : ''), - 'fax' => ( ( $lead['fax'] ) ? $lead['fax'] : ''), - 'date_submitted' => current_time( 'mysql' ), - 'user_trace_info' => $entry['ip'], - ), - array( + $data = array( + 'source_id' => $source_id, + 'lead_id' => $lead_id, + 'gf_entry_id' => $entry['id'], + 'fname' => ( ( $lead['fname'] ) ? $lead['fname'] : ''), + 'lname' => ( ( $lead['lname'] ) ? $lead['lname'] : ''), + 'org' => ( ( $lead['org'] ) ? $lead['org'] : ''), + 'addr1' => ( ( $lead['addr1'] ) ? $lead['addr1'] : ''), + 'addr2' => ( ( $lead['addr2'] ) ? $lead['addr2'] : ''), + 'city' => ( ( $lead['city'] ) ? $lead['city'] : ''), + 'state' => ( ( $lead['state'] ) ? $lead['state'] : ''), + 'zip' => ( ( $lead['zip'] ) ? $lead['zip'] : ''), + 'country' => ( ( $lead['country'] ) ? $lead['country'] : ''), + 'phone' => ( ( $lead['phone'] ) ? $lead['phone'] : ''), + 'phone2' => ( ( $lead['phone2'] ) ? $lead['phone2'] : ''), + 'fax' => ( ( $lead['fax'] ) ? $lead['fax'] : ''), + 'date_submitted' => $entry['date_created'], + 'user_trace_info' => $entry['ip'], + ); + $data_format = array( '%s', '%s', '%s', @@ -591,9 +593,24 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement '%s', '%s', '%s', - ) - ); - return $this->wpdb->insert_id; + ); + if ( $entry_id ) { + $this->wpdb->update( + GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . 'lead_entry', + $data, + array( 'id' => $entry_id ), + $data_format, + array( '%d' ) + ); + return $entry_id; + } else { + $this->wpdb->insert( + GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . 'lead_entry', + $data, + $data_format + ); + return $this->wpdb->insert_id; + } } public function getMembersInterests( $form_id ) { static $interest = array(); -- 2.17.1