Update to fix MAVB zip
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 11 Jul 2018 13:18:52 +0000 (09:18 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 11 Jul 2018 13:18:52 +0000 (09:18 -0400)
Somehow in Feb 2018 zip codes stopped going into our leads. Was the
Gravity Form changed.

models/admin/management/leads.php
views/admin/management/leads.html

index 9e70c5c..2b87d12 100644 (file)
@@ -180,9 +180,59 @@ class GlmMembersAdmin_management_leads // extends GlmDataLeadsManagement
 
 
         switch( $option2 ) {
+        case 'redozip':
+            $result = '';
+            // $page_size = 10;
+            if ( isset( $_REQUEST['form_id'] ) ) {
+                $form_id = filter_var( $_REQUEST['form_id'], FILTER_VALIDATE_INT );
+            }
+            if ( isset( $_REQUEST['offset'] ) ) {
+                $offset = filter_var( $_REQUEST['offset'], FILTER_VALIDATE_INT );
+            }
+            if ( !$offset ) {
+                $offset = 0;
+            }
+
+            $result = '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
+
+            if ( $form_id ) {
+                $total_entries = GFAPI::count_entries( $form_id );
+                $result .= '<p>Total Entries: ' . $total_entries . '</p>';
+                $next_offset = $offset + $page_size;
+                // Setup arguments for the get_entries call.
+                $search_criteria = array( 'status' => 'active' );
+                $sorting         = array( 'key' => 'id', 'direction' => 'ASC', 'is_numeric' => true );
+                $paging          = array( 'offset' => $offset, 'page_size' => $page_size );
+                $total_count     = 0;
+                $entries         = GFAPI::get_entries( $form_id, $search_criteria, $sorting, $paging, $total_count );
+                // $result = '<pre>$entries: ' . print_r( $entries, true ) . '</pre>';
+                if ( $entries ) {
+                    $next_offset = $offset + $page_size;
+                    foreach ( $entries as $entry ) {
+                        // Update the zip for lead_entry with this entry id
+                        // For MAVB the zip fields for both contact and visitor guide form is 4.5
+                        $zip         = $entry['4.5'];
+                        $gf_entry_id = $entry['id'];
+                        // echo '<pre>$zip: ' . print_r( $zip, true ) . '</pre>';
+                        $this->wpdb->update(
+                            GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . 'lead_entry',
+                            array( 'zip' => $zip ),
+                            array( 'gf_entry_id' => $gf_entry_id ),
+                            array( '%s' ),
+                            array( '%d' )
+                        );
+                    }
+                    if ( $next_offset < $total_entries ) {
+                        $result .= '<p><a href="admin.php?page=glm-members-admin-menu-management&glm_action=leads&option2=redozip&form_id=' . $form_id . '&offset=' . $next_offset . '">Next ' . $page_size . '  Entries</a></p>';
+                    }
+                }
+            }
+            break;
+
         case 'importmemberleads':
             $result .= '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
             $result .= $this->importMemberLeads();
+
             break;
         case 'importleads':
             $result .= '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
index 092969a..015618e 100644 (file)
@@ -7,6 +7,7 @@
     <a id="glm-leads-import" data-show-table="glm-table-import" class="glm-settings-tab nav-tab">Gravity Forms</a>
     <a id="glm-leads-importleads" data-show-table="glm-table-importleads" class="glm-settings-tab nav-tab{if $result && $option2 == 'importleads'} nav-tab-active{/if}">Import Leads</a>
     <a id="glm-leads-importmemberleads" data-show-table="glm-table-importmemberleads" class="glm-settings-tab nav-tab{if $result && $option2 == 'importmemberleads'} nav-tab-active{/if}">Import Member Leads</a>
+    <a id="glm-leads-redozip" data-show-table="glm-table-redozip" class="glm-settings-tab nav-tab{if $option2 == 'redozip'} nav-tab-active{/if}">Redo Zip</a>
 </h2>
 
 <table id="glm-table-sources" class="glm-admin-table glm-settings-table{if $option2 != ''} glm-hidden{/if}">
     </table>
 </form>
 
+<table id="glm-table-redozip" class="glm-admin-table glm-settings-table{if $option2 != 'redozip'} glm-hidden{/if}">
+    {if !$result}
+        {foreach $sources as $source}
+            <tr>
+                <td>{$source.title}</td>
+                <td><a href="{$thisUrl}?page={$thisPage}&glm_action=leads&option2=redozip&form_id={$source.form_id}">Re import Zip</a></td>
+            </tr>
+        {/foreach}
+    {else}
+        <tr>
+            <td>{$result}</td>
+        </tr>
+    {/if}
+</table>
+
 <script>
 jQuery(document).ready(function($){
     /*