From: Steve Sutton Date: Wed, 1 Feb 2017 17:31:21 +0000 (-0500) Subject: Setting up filter for the phone output. X-Git-Tag: v2.9.6^2~1^2~2 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=904af72c18da0c6e18b6d01a533cf397a4175971;p=WP-Plugins%2Fglm-member-db.git Setting up filter for the phone output. Setting up a filter for the phone number to format it. Does only the (xxx) xxx-xxxx format so far. --- diff --git a/setup/frontHooks.php b/setup/frontHooks.php index db87c01f..dca5b761 100644 --- a/setup/frontHooks.php +++ b/setup/frontHooks.php @@ -324,6 +324,34 @@ add_filter('glm_associate_member', function( $attribute ) { $result = $wpdb->get_var( "SELECT $attribute FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX . "members WHERE member_slug = '".$GLOBALS['glmDetailSlug']."'" ); return $result; }); +add_filter('glm_associate_phone_filter', function( $phone ){ + // Ditch anything that is not a number + $number = preg_replace('/[^0-9]/', '', $phone); + + // Invalid Number, validation will catch error + $len = strlen($number); + if (($len < 10) || ($len > 11)) { + return $phone; + } + + // subscriber number + $sn = substr($number, -4); + // city code + $cc = substr($number, -7, 3); + // area code + $ac = substr($number, -10, 3); + if ($len == 11) { + // country prefix + $cp = $number[0]; + } + + $filteredNumber = "($ac) $cc-$sn"; + if (isset($cp) && !is_null($cp)) { + $filteredNumber = "$cp $filteredNumber"; + } + + return $filteredNumber; +}); function get_member_name( $id = 0 ) { global $wpdb; diff --git a/views/front/members/detail.html b/views/front/members/detail.html index 4f0ff067..88d7fdb5 100644 --- a/views/front/members/detail.html +++ b/views/front/members/detail.html @@ -98,18 +98,19 @@ {$terms.term_admin_menu_configure_regions}: {$member.region} {/if} + {debug}
{if ($member.phone && $settings.detail_show_phone) || ($member.toll_free && $settings.detail_show_tollfree)} Phone {/if} {if $member.phone && $settings.detail_show_phone}
-
{$member.phone}
+
{apply_filters('glm_associate_phone_filter', $member.phone)}
{/if} {if $member.toll_free && $settings.detail_show_tollfree}
-
{$member.toll_free}
+
{apply_filters('glm_associate_phone_filter', $member.toll_free)}
{/if}
diff --git a/views/front/members/list.html b/views/front/members/list.html index 7d2f7b52..33c411b3 100644 --- a/views/front/members/list.html +++ b/views/front/members/list.html @@ -221,8 +221,8 @@ {/if} {*list_map_show_address*}

- {if $member.phone && $settings.list_map_show_phone}Phone: {$member.phone}
{/if} - {if $member.toll_free && $settings.list_map_show_tollfree}{$member.toll_free}
{/if} + {if $member.phone && $settings.list_map_show_phone}Phone: {apply_filters('glm_associate_phone_filter', $member.phone)}
{/if} + {if $member.toll_free && $settings.list_map_show_tollfree}{apply_filters('glm_associate_phone_filter', $member.toll_free)}
{/if} {if $member.url && $settings.list_map_show_url}Web site: {$member.url}
{/if} {if $member.email && $settings.list_map_show_email}E-Mail Address: {$member.email}
{/if} {if $member.region && $settings.list_map_show_region}Region: {$member.region}{/if} @@ -334,8 +334,8 @@ {apply_filters('glm-member-db-front-members-list-memberDetailTop', '', $member.member_pointer)} {if ($member.phone && $settings.list_show_phone) || ($member.toll_free && $settings.list_show_tollfree)}

- {if $member.phone && $settings.list_show_phone}Phone: {$member.phone} {/if} - {if $member.toll_free && $settings.list_show_tollfree}{$member.toll_free}{/if} + {if $member.phone && $settings.list_show_phone}Phone: {apply_filters('glm_associate_phone_filter', $member.phone)} {/if} + {if $member.toll_free && $settings.list_show_tollfree}{apply_filters('glm_associate_phone_filter', $member.toll_free)}{/if}
{/if} {if $member.region && $settings.list_show_region}
Region: {$member.region}
{/if} @@ -435,8 +435,8 @@ {/if} {*list_map_show_address*}

- {if $member.phone && $settings.list_map_show_phone}Phone: {$member.phone}
{/if} - {if $member.toll_free && $settings.list_map_show_tollfree}{$member.toll_free}
{/if} + {if $member.phone && $settings.list_map_show_phone}Phone: {apply_filters('glm_associate_phone_filter', $member.phone)}
{/if} + {if $member.toll_free && $settings.list_map_show_tollfree}{apply_filters('glm_associate_phone_filter', $member.toll_free)}
{/if} {if $member.url && $settings.list_map_show_url}Web site: {$member.url}
{/if} {if $member.email && $settings.list_map_show_email}E-Mail Address: {$member.email}
{/if} {if $member.region && $settings.list_map_show_region}Region: {$member.region}{/if}