Update export to get new custom field data
authorSteve Sutton <steve@gaslightmedia.com>
Tue, 17 Apr 2018 17:52:01 +0000 (13:52 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Tue, 17 Apr 2018 17:52:01 +0000 (13:52 -0400)
Getting the custom field data for the level.

classes/data/dataRegRequestRegistrant.php
models/admin/registrations/events_registrants.php

index 10d325b..4ce6be4 100644 (file)
@@ -352,8 +352,8 @@ class GlmDataRegistrationsRequestRegistrant extends GlmDataAbstract
             if ( $customFieldsPluginActive ) {
                 $custom_data = array();
                 // Check if there's custom field data for this record
-                $fid = 'glm_reg_customfields_reg_event_attendee_' . $eventId;
-                $recordId = $registrantVal['id'];
+                $fid        = 'glm_reg_customfields_reg_event_attendee_' . $eventId;
+                $recordId   = $registrantVal['id'];
                 $customData = apply_filters( 'glm-members-customfields-form-data-recall', '', $fid, $recordId, false );
                 // echo '<pre>$customData: ' . print_r( $customData, true ) . '</pre>';
                 if ( isset( $customData ) && is_array( $customData ) && !empty( $customData ) ) {
@@ -361,13 +361,41 @@ class GlmDataRegistrationsRequestRegistrant extends GlmDataAbstract
                     foreach ( $fields as $cField ) {
                         $custom_data[$cField['field_name']] = $cField['stored'];
                     }
-                    $registrants[$registrantKey]['custom_data'] = $custom_data;
                 }
+                // Check for level custom fields also
+                // Find all reg_class for this event
+                $reg_classes = $this->wpdb->get_results(
+                    $this->wpdb->prepare(
+                        "SELECT id
+                           FROM " . GLM_MEMBERS_REGISTRATIONS_PLUGIN_DB_PREFIX . "reg_class
+                          WHERE reg_event = %d",
+                        $eventId
+                    ),
+                    ARRAY_A
+                );
+                if ( $reg_classes ) {
+                    foreach ( $reg_classes as $class ) {
+                        $fid             = 'glm_reg_customfields_reg_event_' . $eventId . '_level_' . $class['id'];
+                        $customLevelData = apply_filters( 'glm-members-customfields-form-data-recall', '', $fid, $recordId, false );
+                        // echo '<pre>$customLevelData: ' . print_r( $customLevelData, true ) . '</pre>';
+                        if ( isset( $customLevelData ) && is_array( $customLevelData ) && !empty( $customLevelData ) ) {
+                            $fields = $customLevelData['form'];
+                            foreach ( $fields as $cField ) {
+                                $custom_data[$cField['field_name']] = $cField['stored'];
+                            }
+                        }
+                    }
+                }
+
+                // Add custom field data to registrants
+                $registrants[$registrantKey]['custom_data'] = $custom_data;
+                // echo '<pre>$registrants: ' . print_r( $registrants, true ) . '</pre>';
+
             }
 
             // Try to get any per
         }
-        $listResult['list'] = $registrants;
+        $listResult['list']       = $registrants;
         $listResult['totalCount'] = $registrantCount;
 
         return $listResult;
index e351e04..58c03d6 100644 (file)
@@ -63,6 +63,7 @@ $customFieldsPluginActive = apply_filters( 'glm-members-customfields-plugin-acti
 $listResult = $Registrants->getFullRegistrantsData($regEventID, $where, $start, $limit);
 // echo '<pre>$listResult: ' . print_r( $listResult['list'], true ) . '</pre>';
 
+
 // Get count of registrants listed
 $registrantCount = $listResult['totalCount'];