From: Steve Sutton Date: Fri, 29 Jun 2018 16:46:53 +0000 (-0400) Subject: Adding custom fields to member export. X-Git-Tag: v2.10.37^2~31 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=9dbd6b2d27e373304bfb013575879a1a962e35d8;p=WP-Plugins%2Fglm-member-db.git Adding custom fields to member export. Bring the custom fields into member export. --- diff --git a/models/admin/ajax/membersListExport.php b/models/admin/ajax/membersListExport.php index a2905ca1..e4f40b59 100644 --- a/models/admin/ajax/membersListExport.php +++ b/models/admin/ajax/membersListExport.php @@ -97,6 +97,8 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo $start = 1; $limit = 20; // Set to the number of listings per page $namesList = false; + $CFSelect = false; + $CFHeaders = false; // Check selected fields $select = array( @@ -127,6 +129,20 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo 'exportViews' => $this->checkFlag('exportViews') ); + // Check for selection of Custom Fields + $fieldPluginActive = apply_filters( 'glm-members-customfields-active', false ); + if ( $fieldPluginActive ) { + $customFields = apply_filters( 'glm-member-db-fields-get-members-fields', false, 'glm-member-db' ); + if ( $customFields ) { + foreach ( $customFields as $cf ) { + if ( isset( $_REQUEST['exportCF'][$cf['id']] ) ) { + $CFSelect[] = $cf['id']; + $CFHeaders[] = $cf['field_name']; + } + } + } + } + // Only return information records that are active // Check if this is a request to show archived members @@ -234,17 +250,10 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "categories C ORDER BY C.parent,C.name"; $category_data = $this->wpdb->get_results( $sql, ARRAY_A ); - //echo '
$category_data: ' . print_r( $category_data, true ) . '
'; - // echo '
$where: ' . print_r( $where, true ) . '
'; // Get a current list of members without paging $list = $this->getList($where, "member_name"); - // echo '
$count: ' . print_r( count($list), true ) . '
'; - - // echo '
$list: ' . print_r( $list, true ) . '
'; - // exit; - // If we have list entries - even if it's an empty list $success = true; $haveMembers = false; @@ -258,6 +267,17 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo $haveMembers = true; + // If Custom Fields are selected + if ( $CFSelect && !empty( $CFSelect ) ) { + + foreach( $list as $k => $v ) { + foreach ( $CFSelect as $cf_key => $cf_id ) { + $list[$k][$CFHeaders[$cf_key]] = apply_filters( 'glm_custom_fields_by_entity_id', $CFHeaders[$cf_key], $v['id'] ); + } + } + + } + // If URL Clicks and/or Views are selected if ($select['exportClicks'] || $select['exportViews']) { @@ -298,6 +318,9 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo } } + // echo '
$list: ' . print_r( $list, true ) . '
'; + // exit; + // Compile template data $templateData = array( 'category_data' => $category_data, @@ -317,7 +340,9 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo 'nextStart' => $nextStart, 'start' => $start, 'limit' => $limit, - 'namesList' => $namesList + 'namesList' => $namesList, + 'CFSelect' => $CFSelect, + 'CFHeaders' => $CFHeaders, ); $view = 'admin/ajax/membersListExport.html'; diff --git a/views/admin/ajax/membersListExport.html b/views/admin/ajax/membersListExport.html index 7df1761d..8d39f4e8 100644 --- a/views/admin/ajax/membersListExport.html +++ b/views/admin/ajax/membersListExport.html @@ -35,6 +35,7 @@ {if $select.exportPriContactName}Primary Contact{/if} {if $select.exportPriContactEmail}Primary Contact E-Mail{/if} {if $select.exportUrl}Web Address{/if} + {if $CFHeaders}{foreach $CFHeaders as $cHead}{$cHead}{/foreach}{/if} {if $select.exportCategories} {if $category_data} {foreach $category_data as $cat} @@ -72,6 +73,7 @@ {if $select.exportPriContactName}{if $m.primary_contact}{$m.primary_contact.fname} {$m.primary_contact.lname}{/if}{/if} {if $select.exportPriContactEmail}{if $m.primary_contact}{$m.primary_contact.email}{/if}{/if} {if $select.exportUrl}{$m.url}{/if} + {if $CFHeaders}{foreach $CFHeaders as $cHead}{$m[$cHead]}{/foreach}{/if} {if $select.exportCategories} {if $category_data} {foreach $category_data as $cat} diff --git a/views/admin/ajax/membersListExportCsv.html b/views/admin/ajax/membersListExportCsv.html index a32ff709..250e208d 100644 --- a/views/admin/ajax/membersListExportCsv.html +++ b/views/admin/ajax/membersListExportCsv.html @@ -24,6 +24,7 @@ {if $select.exportPriContactName}"Pri Contact",{/if} {if $select.exportPriContactEmail}"Pri Contact E-Mail",{/if} {if $select.exportUrl}"Web Address",{/if} +{if $CFHeaders}{foreach $CFHeaders as $cHead}"{$cHead}",{/foreach}{/if} {if $select.exportCategories} {if $category_data} {foreach $category_data as $cat} "{if $cat.parent_name}{$cat.parent_name}:{/if}{$cat.name}" {if !$cat@last},{/if} {/foreach} {/if} {/if} {foreach $members as $m} @@ -51,6 +52,7 @@ {if $select.exportPriContactName}"{if $m.primary_contact}{$m.primary_contact.fname} {$m.primary_contact.lname}{/if}",{/if} {if $select.exportPriContactEmail}"{if $m.primary_contact}{$m.primary_contact.email}{/if}",{/if} {if $select.exportUrl}"{$m.url}",{/if} +{if $CFHeaders}{foreach $CFHeaders as $cHead}"{$m[$cHead]}",{/foreach}{/if} {if $select.exportCategories} {if $category_data} {foreach $category_data as $cat} {$cat_exists='""'} {foreach $m.categories as $t} {if $t.id == $cat.id}{$cat_exists='"Yes"'}{/if} {/foreach} {$cat_exists} {if !$cat@last},{/if} {/foreach} {/if} {/if} {/foreach} diff --git a/views/admin/members/list.html b/views/admin/members/list.html index 7bd477a4..2cf28a0b 100644 --- a/views/admin/members/list.html +++ b/views/admin/members/list.html @@ -190,6 +190,20 @@ + {* Custom Field Part *} + {if apply_filters( 'glm-members-customfields-active', false )} + + Custom Fields + + {$customFields = apply_filters('glm-member-db-fields-get-members-fields', false, 'glm-member-db')} + {if $customFields} + {foreach $customFields as $cf} + {$cf.field_name}
+ {/foreach} + {/if} + + + {/if} Include Clicks & Views