adding events count to the member list
authorAnthony Talarico <talarico@gaslightmedia.com>
Fri, 29 Mar 2019 14:31:01 +0000 (10:31 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Fri, 29 Mar 2019 14:31:01 +0000 (10:31 -0400)
models/admin/manageDashboard/members.php
views/admin/manageDashboard/list.html

index caef2ce..b47f79a 100644 (file)
@@ -418,6 +418,17 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers
             }
         }
 
+        // get a count of the events for each member
+        $sql  = "SELECT COUNT(id) as eventsCount, ref_dest as member FROM " .GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX ."events GROUP BY ref_dest";
+        $eventsCountData = $this->wpdb->get_results($sql, ARRAY_A);
+        if ( isset( $eventsCountData  ) && is_array(  $eventsCountData  ) ) {
+            foreach ( $eventsCountData  as $eventsCount) {
+                // $support->write_log($eventsCount);
+                $memberEventsCount[$eventsCount['member']] = $eventsCount;
+               
+            }
+        }
+
         // Determine if current user can add, edit, delete member data
 //        $canEdit = current_user_can('glm_members_edit');
         // get all active member profile IDs and Images
@@ -426,26 +437,41 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers
         if ( isset( $profileResults  ) && is_array(  $profileResults  ) ) {
             foreach ( $profileResults  as $profile) {
                 $memberProfiles[$profile['member']] = $profile;
+                   
             }
         }
         
         // Add a url for each member
         if ( isset( $list) && is_array( $list ) ) {
             foreach ($list as $member) {
-                $list[$member['id']]['profile_data'] = $memberProfiles[$member['id']];
+                // $support->write_log($member);
+                if( isset( $memberEventsCount[$member['id']] ) ) {
+                    $list[$member['id']]['events_data'] = $memberEventsCount[$member['id']];
+                }else{
+                    $list[$member['id']]['events_data'] = [];
+                }
+                if( isset( $memberProfiles[$member['id']] ) ) {
+                    $list[$member['id']]['profile_data'] = $memberProfiles[$member['id']];
+                }else{
+                    $list[$member['id']]['profile_data'] = [];
+                }     
                 $list[$member['id']]['member_slug'] = sanitize_title($member['name']);
             }
         }
-  
+        $support->write_log($list);
         // Create current month/date string to pre-populate the Month/Year field for
         $monthYear = date('F Y');
 
+
         // Update the textSearch for output into the form.
         $textSearch = str_replace("\'", "'", $textSearch );
         $textSearch = str_replace('\\"', '&quot;', $textSearch );
         $textSearch = str_replace('\\', '', $textSearch );
 
-        
+
+    
+
+
         foreach($this->config['addOns'] as $addOn){
             $nickName = ucfirst(substr($addOn['slug'], strpos($addOn['slug'], "glm-member-db-") + 14));
             $addOns[$nickName] = $addOn;
index 09cec44..8f9c4a5 100644 (file)
@@ -18,7 +18,7 @@
                 {if isset($addOns.Events)}
                     <span class="member-record-column member-record-events">
                         <span class="mobile-record-header">Events: </span>
-                        <span class="member-record-value">0</span>
+                        <span class="member-record-value">{if $member.events_data.eventsCount} {$member.events_data.eventsCount} {else} 0 {/if}</span>
                     </span>
                 {/if}
                 {if isset($addOns.Packaging)}