From 11ae8e286771b21a58116356991041cd7d0a7a37 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Tue, 29 Aug 2017 15:28:49 -0400 Subject: [PATCH] Added option to include Clicks and Views when esporting a members list. --- models/admin/ajax/membersListExport.php | 43 +++++++++++++++++- models/admin/members/list.php | 4 ++ views/admin/ajax/membersListExport.html | 4 ++ views/admin/ajax/membersListExportCsv.html | 4 ++ views/admin/members/list.html | 53 ++++++++++++++++++++-- 5 files changed, 104 insertions(+), 4 deletions(-) diff --git a/models/admin/ajax/membersListExport.php b/models/admin/ajax/membersListExport.php index 6453a2f3..84ee0334 100644 --- a/models/admin/ajax/membersListExport.php +++ b/models/admin/ajax/membersListExport.php @@ -122,7 +122,9 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo 'exportPriContactName' => $this->checkFlag('exportPriContactName'), 'exportPriContactEmail' => $this->checkFlag('exportPriContactEmail'), 'exportUrl' => $this->checkFlag('exportUrl'), - 'exportCategories' => $this->checkFlag('exportCategories') + 'exportCategories' => $this->checkFlag('exportCategories'), + 'exportClicks' => $this->checkFlag('exportClicks'), + 'exportViews' => $this->checkFlag('exportViews') ); // Only return information records that are active @@ -235,7 +237,46 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo // If we have any entries $memberCount = count($list); if ($memberCount > 0) { + $haveMembers = true; + + // If URL Clicks and/or Views are selected + if ($select['exportClicks'] || $select['exportViews']) { + + foreach($list as $k=>$v) { + + $thisMonth = date('Y-m-d', strtotime($_REQUEST['monthYear'])); + + if ($select['exportClicks']) { + $clicks = $this->wpdb->get_row(" + SELECT COALESCE (( + SELECT clicks + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."clickthrough_stats + WHERE member = ".$v['id']." + AND stat_type = 3 + AND stat_date = '$thisMonth' + ), 0) AS month + ", ARRAY_A); + $list[$k]['clicks'] = $clicks['month']; + + } + + if ($select['exportViews']) { + $views = $this->wpdb->get_row(" + SELECT COALESCE (( + SELECT clicks + FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_detail_stats + WHERE member = ".$v['id']." + AND stat_type = 3 + AND stat_date = '$thisMonth' + ), 0) AS month + ", ARRAY_A); + + $list[$k]['views'] = $views['month']; + + } + } + } } } diff --git a/models/admin/members/list.php b/models/admin/members/list.php index 32c00aa1..f8a8a7ed 100644 --- a/models/admin/members/list.php +++ b/models/admin/members/list.php @@ -333,8 +333,12 @@ class GlmMembersAdmin_members_list extends GlmDataMembers } } + // Create current month/date string to pre-populate the Month/Year field for + $monthYear = date('F Y'); + // Compile template data $templateData = array( + 'monthYear' => $monthYear, 'enable_members' => $enable_members, 'haveMembers' => $haveMembers, 'members' => $list, diff --git a/views/admin/ajax/membersListExport.html b/views/admin/ajax/membersListExport.html index bcb2e4b8..7df1761d 100644 --- a/views/admin/ajax/membersListExport.html +++ b/views/admin/ajax/membersListExport.html @@ -15,6 +15,8 @@ {if $select.exportOldId}Old ID{/if} {if $select.exportMember}{$terms.term_member_cap} Name{/if} {if $select.exportReferenceName}Active Profile{/if} + {if $select.exportClicks}Clicks{/if} + {if $select.exportViews}Views{/if} {if $select.exportAddr1}Address{/if} {if $select.exportAddr2}Addr Line #2{/if} {if $select.exportCity}City{/if} @@ -50,6 +52,8 @@ {if $select.exportOldId}{$m.old_id}{/if} {if $select.exportMember}{$m.member}{/if} {if $select.exportReferenceName}{$m.reference_name}{/if} + {if $select.exportClicks}{$m.clicks}{/if} + {if $select.exportViews}{$m.views}{/if} {if $select.exportAddr1}{$m.addr1}{/if} {if $select.exportAddr2}{$m.addr2}{/if} {if $select.exportCity}{$m.city}{/if} diff --git a/views/admin/ajax/membersListExportCsv.html b/views/admin/ajax/membersListExportCsv.html index 1175533c..a32ff709 100644 --- a/views/admin/ajax/membersListExportCsv.html +++ b/views/admin/ajax/membersListExportCsv.html @@ -4,6 +4,8 @@ {if $select.exportOldId}"Old ID",{/if} {if $select.exportMember}"{$terms.term_member_cap} Name",{/if} {if $select.exportReferenceName}"Current Profile",{/if} +{if $select.exportClicks}"Clicks",{/if} +{if $select.exportViews}"Views",{/if} {if $select.exportAddr1}"Address",{/if} {if $select.exportAddr2}"Addr Line #2",{/if} {if $select.exportCity}"City",{/if} @@ -29,6 +31,8 @@ {if $select.exportOldId}"{$m.old_id}",{/if} {if $select.exportMember}"{$m.member}",{/if} {if $select.exportReferenceName}"{$m.reference_name}",{/if} +{if $select.exportClicks}"{$m.clicks}",{/if} +{if $select.exportViews}"{$m.views}",{/if} {if $select.exportAddr1}"{$m.addr1}",{/if} {if $select.exportAddr2}"{$m.addr2}",{/if} {if $select.exportCity}"{$m.city}",{/if} diff --git a/views/admin/members/list.html b/views/admin/members/list.html index e723f50f..6f84ffdc 100644 --- a/views/admin/members/list.html +++ b/views/admin/members/list.html @@ -166,6 +166,24 @@ + + Include Clicks & Views + + + + + + + + +
+ Month: +
+ URL Click Counts
+ Detail Page View Counts +
+ + Export to: @@ -182,10 +200,39 @@