From 73abfcdd8921434c58cfd6132178cef8db3cbccd Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Thu, 2 Feb 2017 11:36:46 -0500 Subject: [PATCH] Setting up the phone number format filter to get settings Grab the setting for the phone number format and apply to the phone. --- classes/data/settings/dataSettingsGeneral.php | 8 ++++++++ index.php | 2 +- ...e_V1.1.24.sql => create_database_V1.1.25.sql} | 1 + setup/databaseScripts/dbVersions.php | 1 + .../databaseScripts/update_database_V1.1.25.sql | 10 ++++++++++ setup/frontHooks.php | 16 +++++++++++++++- views/front/members/detail.html | 1 - 7 files changed, 36 insertions(+), 3 deletions(-) rename setup/databaseScripts/{create_database_V1.1.24.sql => create_database_V1.1.25.sql} (99%) create mode 100644 setup/databaseScripts/update_database_V1.1.25.sql diff --git a/classes/data/settings/dataSettingsGeneral.php b/classes/data/settings/dataSettingsGeneral.php index 505433db..4735f8ac 100644 --- a/classes/data/settings/dataSettingsGeneral.php +++ b/classes/data/settings/dataSettingsGeneral.php @@ -208,6 +208,14 @@ class GlmDataSettingsGeneral extends GlmDataAbstract 'use' => 'a' ), + // Character to use as phone format + 'phone_format' => array( + 'field' => 'phone_format', + 'type' => 'text', + 'use' => 'a' + ), + + // Default State 'default_state' => array ( 'field' => 'default_state', diff --git a/index.php b/index.php index 9c28e393..081bcd2f 100644 --- a/index.php +++ b/index.php @@ -39,7 +39,7 @@ */ define('GLM_MEMBERS_PLUGIN_VERSION', '2.9.5'); -define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.24'); +define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.25'); // Check if plugin version is not current in WordPress option and if needed updated it if (GLM_MEMBERS_PLUGIN_VERSION != get_option('glmMembersDatabasePluginVersion')) { diff --git a/setup/databaseScripts/create_database_V1.1.24.sql b/setup/databaseScripts/create_database_V1.1.25.sql similarity index 99% rename from setup/databaseScripts/create_database_V1.1.24.sql rename to setup/databaseScripts/create_database_V1.1.25.sql index cfb3a5dd..eb613b5b 100644 --- a/setup/databaseScripts/create_database_V1.1.24.sql +++ b/setup/databaseScripts/create_database_V1.1.25.sql @@ -274,6 +274,7 @@ CREATE TABLE {prefix}settings_general ( time_zone TINYTEXT DEFAULT NULL, canonical_member_page TINYTEXT DEFAULT NULL, phone_infix TINYTEXT DEFAULT NULL, + phone_format TINYTEXT DEFAULT NULL, default_state TINYTEXT DEFAULT NULL, list_show_map BOOLEAN DEFAULT '1', list_show_list BOOLEAN DEFAULT '1', diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php index 1e3162d1..4c7fb96b 100644 --- a/setup/databaseScripts/dbVersions.php +++ b/setup/databaseScripts/dbVersions.php @@ -56,6 +56,7 @@ $glmMembersDbVersions = array( '1.1.22' => array('version' => '1.1.22', 'tables' => 18, 'date' => '10/25/16'), '1.1.23' => array('version' => '1.1.23', 'tables' => 18, 'date' => '12/29/16'), '1.1.24' => array('version' => '1.1.24', 'tables' => 18, 'date' => '01/03/17'), + '1.1.25' => array('version' => '1.1.25', 'tables' => 18, 'date' => '02/02/17'), ); diff --git a/setup/databaseScripts/update_database_V1.1.25.sql b/setup/databaseScripts/update_database_V1.1.25.sql new file mode 100644 index 00000000..214cf9ba --- /dev/null +++ b/setup/databaseScripts/update_database_V1.1.25.sql @@ -0,0 +1,10 @@ +-- Gaslight Media Members Database +-- File Created: 01/03/17 12:54:00 +-- Database Version: 1.1.25 +-- Database Update From Previous Version Script +-- +-- To permit each query below to be executed separately, +-- all queries must be separated by a line with four dashes +-- Sets which character to use to separate phone numbers + +ALTER TABLE {prefix}settings_general ADD COLUMN phone_format TINYTEXT DEFAULT NULL; diff --git a/setup/frontHooks.php b/setup/frontHooks.php index dca5b761..dc44c007 100644 --- a/setup/frontHooks.php +++ b/setup/frontHooks.php @@ -325,6 +325,9 @@ add_filter('glm_associate_member', function( $attribute ) { return $result; }); add_filter('glm_associate_phone_filter', function( $phone ){ + $phone_format = ( isset( $this->config['settings']['phone_format'] ) && $this->config['settings']['phone_format'] ) + ? $this->config['settings']['phone_format'] + : 'us'; // Ditch anything that is not a number $number = preg_replace('/[^0-9]/', '', $phone); @@ -345,7 +348,18 @@ add_filter('glm_associate_phone_filter', function( $phone ){ $cp = $number[0]; } - $filteredNumber = "($ac) $cc-$sn"; + switch ( $phone_format ) { + case 'dot': + $filteredNumber = "$ac.$cc.$sn"; + break; + case 'dash': + $filteredNumber = "$ac-$cc-$sn"; + break; + case 'us': + default: + $filteredNumber = "($ac) $cc-$sn"; + break; + } if (isset($cp) && !is_null($cp)) { $filteredNumber = "$cp $filteredNumber"; } diff --git a/views/front/members/detail.html b/views/front/members/detail.html index 88d7fdb5..a751d80d 100644 --- a/views/front/members/detail.html +++ b/views/front/members/detail.html @@ -98,7 +98,6 @@ {$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 -- 2.17.1