From 12704b1eaf4293c3c0fcaab80c66ed2faf35b7ce Mon Sep 17 00:00:00 2001
From: Laury GvR
Date: Fri, 19 Aug 2016 16:57:31 -0400
Subject: [PATCH] Featured, packages options, list header option
Added featured member functionality. Set in management.
Added options to show packages on the list or not.
Added option for term to use on grid view for packages link.
Option added to select whether to show logo filler image or not.
---
classes/data/dataMemberInfo.php | 12 +
classes/data/dataMembers.php | 12 +-
classes/data/settings/dataSettingsGeneral.php | 14 +
css/front.css | 23 +-
index.php | 2 +-
models/admin/ajax/membersListExport.php | 16 +
models/admin/member/index.php | 2 +-
models/admin/members/list.php | 17 +
models/front/members/list.php | 3 +
...1.1.13.sql => create_database_V1.1.14.sql} | 5 +-
setup/databaseScripts/dbVersions.php | 3 +-
..._V1.1.13.sql => drop_database_V1.1.14.sql} | 2 +-
.../update_database_V1.1.14.sql | 18 +
setup/shortcodes.php | 1 +
views/admin/management/index.html | 6 +-
views/admin/member/memberEdit.html | 8 +-
views/admin/member/memberInfo.html | 2 +-
views/admin/members/list.html | 11 +
views/front/members/grid.html | 378 ------------------
views/front/members/list.html | 16 +-
20 files changed, 156 insertions(+), 395 deletions(-)
rename setup/databaseScripts/{create_database_V1.1.13.sql => create_database_V1.1.14.sql} (99%)
rename setup/databaseScripts/{drop_database_V1.1.13.sql => drop_database_V1.1.14.sql} (95%)
create mode 100644 setup/databaseScripts/update_database_V1.1.14.sql
delete mode 100644 views/front/members/grid.html
diff --git a/classes/data/dataMemberInfo.php b/classes/data/dataMemberInfo.php
index 0544faad..c04e516c 100644
--- a/classes/data/dataMemberInfo.php
+++ b/classes/data/dataMemberInfo.php
@@ -171,6 +171,18 @@ class GlmDataMemberInfo extends GlmDataAbstract
'use' => 'gle'
),
+ // Member Featured
+ 'featured' => array (
+ 'field' => 'member',
+ 'as' => 'featured',
+ 'type' => 'pointer',
+ 'p_table' => GLM_MEMBERS_PLUGIN_DB_PREFIX . 'members',
+ 'p_field' => 'featured',
+ 'p_static' => true,
+ 'required' => false,
+ 'use' => 'gle'
+ ),
+
// Member Pointer index
'member_pointer' => array (
'field' => 'member',
diff --git a/classes/data/dataMembers.php b/classes/data/dataMembers.php
index 925ea7d1..130ed943 100644
--- a/classes/data/dataMembers.php
+++ b/classes/data/dataMembers.php
@@ -220,6 +220,14 @@ class GlmDataMembers extends GlmDataAbstract {
'use' => 'gl'
),
+ // Whether this is a featured member
+ 'featured' => array (
+ 'field' => 'featured',
+ 'type' => 'checkbox',
+ 'use' => 'a',
+ 'default' => 0, // not featured
+ ),
+
/*
* Has pending information
*
@@ -242,8 +250,9 @@ class GlmDataMembers extends GlmDataAbstract {
'p_where' => 'status = '.$this->config['status_numb']['Pending'],
'p_sum' => true,
'use' => 'gl'
- )
+ )
+
);
if (is_admin() && GLM_MEMBERS_PLUGIN_ADMIN_DEBUG_VERBOSE) {
@@ -317,6 +326,7 @@ class GlmDataMembers extends GlmDataAbstract {
'created' => $fSave['created'],
'access_short' => $fSave['access_short'],
'member_type_short' => $fSave['member_type_short'],
+ 'featured' => $fSave['featured'],
'active_id' => $fSave['active_id']
);
diff --git a/classes/data/settings/dataSettingsGeneral.php b/classes/data/settings/dataSettingsGeneral.php
index 274307b1..e204f247 100644
--- a/classes/data/settings/dataSettingsGeneral.php
+++ b/classes/data/settings/dataSettingsGeneral.php
@@ -223,6 +223,13 @@ class GlmDataSettingsGeneral extends GlmDataAbstract
'use' => 'a'
),
+ // Front-end Listings - Show List
+ 'list_header_text' => array(
+ 'field' => 'list_header_text',
+ 'type' => 'text',
+ 'use' => 'a'
+ ),
+
// Front-end Listings - Show Search Form
'list_show_search' => array(
'field' => 'list_show_search',
@@ -297,6 +304,13 @@ class GlmDataSettingsGeneral extends GlmDataAbstract
'use' => 'a'
),
+ // Front-end Listings - Show Logo Filler
+ 'list_show_logo_filler' => array(
+ 'field' => 'list_show_logo_filler',
+ 'type' => 'checkbox',
+ 'use' => 'a'
+ ),
+
// Front-end Listings - Logo Size
'list_logo_size' => array(
'field' => 'list_logo_size',
diff --git a/css/front.css b/css/front.css
index 9ed55ab6..75075ee4 100644
--- a/css/front.css
+++ b/css/front.css
@@ -98,6 +98,7 @@
}
.glm-member-db-list .glm-member-db-border-wrap {
border-radius: 4px;
+ overflow: hidden;
}
.glm-member-list-social {
margin-top: 5px;
@@ -262,7 +263,6 @@
position: relative;
display: block;
overflow: hidden;
- min-height: 30px;
padding: 0;
}
.glm-member-db-list .glm-member-list-image-wrapper > img {
@@ -302,6 +302,7 @@
float: left;
width: 33%;
text-align: center;
+ font-size: 16px;
}
.glm-member-db-list-view .glm-member-list-sub-links > a:first-child {
/* text-align:left;*/
@@ -415,9 +416,6 @@ glm-member-db-list.glm-member-db-grid-view .glm-member-list-image {
font-weight: bold;
}
.glm-member-db-grid-view .glm-member-list-sub-links > a::before {
- color: #adadad;
- font-size: 18px;
- padding: 0 7px;
content: "";
}
.glm-member-db-grid-view .glm-member-list-sub-links {
@@ -439,7 +437,10 @@ glm-member-db-list.glm-member-db-grid-view .glm-member-list-image {
}
.glm-member-db-grid-view .glm-member-list-sub-links > a:nth-child(n+2):before {
content: "|";
- display: inline-block;
+ display: inline-block;
+ color: #adadad;
+ font-size: 16px;
+ padding: 0 7px;
}
.glm-member-db-grid-view .glm-member-list-sub-links:last-child {
/* text-align: right;*/
@@ -589,6 +590,18 @@ glm-member-db-list.glm-member-db-grid-view .glm-member-list-image {
.glm-member-detail-logo-wrapper {
text-align: center;
}
+.glm-member-list-featured-tag {
+ background-color: green;
+ color: white;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding: 5px 20px;
+ position: absolute;
+ text-shadow: 1px 0 white;
+ text-transform: uppercase;
+ z-index: 1;
+}
.glm-member-detail-featured-image-wrapper {
padding: 0;
overflow: hidden;
diff --git a/index.php b/index.php
index dc7e79ed..88d4b768 100644
--- a/index.php
+++ b/index.php
@@ -39,7 +39,7 @@
*/
define('GLM_MEMBERS_PLUGIN_VERSION', '2.5.0');
-define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.13');
+define('GLM_MEMBERS_PLUGIN_DB_VERSION', '1.1.14');
// 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/models/admin/ajax/membersListExport.php b/models/admin/ajax/membersListExport.php
index 5c3eca4a..e2b6c251 100644
--- a/models/admin/ajax/membersListExport.php
+++ b/models/admin/ajax/membersListExport.php
@@ -183,6 +183,21 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo
$haveFilter = true;
}
+ // Check for "Featured Only
+ if (isset($_REQUEST['filterFeatured'])) {
+
+ // Refine search only to members with pending Info data
+ $where .= " AND (
+ SELECT COUNT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."member_info I
+ WHERE I.status = ".$this->config['status_numb']['Featured']."
+ AND I.member = T.id
+ )";
+
+ $filterFeatured = true;
+ $haveFilter = true;
+ }
+
// Get a current list of members without paging
$list = $this->getList($where, "member_name");
@@ -213,6 +228,7 @@ class GlmMembersAdmin_ajax_membersListExport extends GlmDataMemberInfo
'categories' => $categories,
'haveFilter' => $haveFilter,
'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
'filterPending' => $filterPending,
'numbDisplayed' => $numbDisplayed,
'lastDisplayed' => $lastDisplayed,
diff --git a/models/admin/member/index.php b/models/admin/member/index.php
index 3b39b9ff..0c5adeb2 100644
--- a/models/admin/member/index.php
+++ b/models/admin/member/index.php
@@ -414,7 +414,7 @@ class GlmMembersAdmin_member_index extends GlmDataMembers
", ARRAY_A);
}
-
+
// End of - Get member view stats
$thisDate = date('m/d/Y');
diff --git a/models/admin/members/list.php b/models/admin/members/list.php
index b61e1876..9f5deb12 100644
--- a/models/admin/members/list.php
+++ b/models/admin/members/list.php
@@ -107,6 +107,7 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
$where = ' true ';
$filterPending = false;
$filterArchived = false;
+ $filterFeatured = false;
$haveFilter = false;
$numbDisplayed = false;
$lastDisplayed = false;
@@ -193,6 +194,21 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
$haveFilter = true;
}
+ // Check for "Featured Only
+ if (isset($_REQUEST['filterFeatured'])) {
+
+ // Refine search only to members with pending Info data
+ $where .= " AND (
+ SELECT COUNT(id)
+ FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."members I
+ WHERE I.featured = 1
+ AND I.id = T.id
+
+ )";
+ $filterFeatured = true;
+ $haveFilter = true;
+ }
+
// Get count of members listed
$memberCount = $this->getStats($where);
@@ -271,6 +287,7 @@ class GlmMembersAdmin_members_list extends GlmDataMembers
'categories' => $categories,
'haveFilter' => $haveFilter,
'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
'filterPending' => $filterPending,
'numbDisplayed' => $numbDisplayed,
'lastDisplayed' => $lastDisplayed,
diff --git a/models/front/members/list.php b/models/front/members/list.php
index 311dceae..610fc292 100644
--- a/models/front/members/list.php
+++ b/models/front/members/list.php
@@ -43,6 +43,7 @@ $GLOBALS['showOpts'] = array(
'list' => 'list_show_list',
'name-link' => 'list_show_detail_link',
'logo' => 'list_show_logo',
+ 'logo-filler' => 'list_show_logo_filler',
'address' => 'list_show_address',
'street' => 'list_show_street',
'city-state-zip' => 'list_show_citystatezip',
@@ -152,6 +153,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo
$whereSep = '';
$filterPending = false;
$filterArchived = false;
+ $filterFeatured = false;
$filterName = false;
$haveFilter = false;
$textSearch = '';
@@ -565,6 +567,7 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo
'membersFound' => $membersFound,
'haveFilter' => $haveFilter,
'filterArchived' => $filterArchived,
+ 'filterFeatured' => $filterFeatured,
'filterPending' => $filterPending,
'filterName' => stripslashes($filterName),
'textSearch' => $textSearch,
diff --git a/setup/databaseScripts/create_database_V1.1.13.sql b/setup/databaseScripts/create_database_V1.1.14.sql
similarity index 99%
rename from setup/databaseScripts/create_database_V1.1.13.sql
rename to setup/databaseScripts/create_database_V1.1.14.sql
index 474f80f7..5871b074 100644
--- a/setup/databaseScripts/create_database_V1.1.13.sql
+++ b/setup/databaseScripts/create_database_V1.1.14.sql
@@ -1,6 +1,6 @@
-- Gaslight Media Members Database
-- File Created: 12/09/14 15:27:15
--- Database Version: 1.1.12
+-- Database Version: 1.1.14
-- Database Creation Script
--
-- To permit each query below to be executed separately,
@@ -161,6 +161,7 @@ CREATE TABLE {prefix}members (
member_slug TINYTEXT NULL, -- Member name slug for canonical URLs (lowercase, "-" for spaces, no punctuation)
notes TEXT NULL, -- General notes - Not displayed in front-end
old_member_id INT NULL, -- Old member ID if imported from old database
+ featured BOOLEAN DEFAULT '0', -- Whether the member is featured
PRIMARY KEY (id),
INDEX(name(20)),
INDEX(member_slug(20)),
@@ -290,6 +291,7 @@ CREATE TABLE {prefix}settings_general (
list_show_categories BOOLEAN DEFAULT '0',
list_show_creditcards BOOLEAN DEFAULT '0',
list_show_amenities BOOLEAN DEFAULT '0',
+ list_show_logo_filler BOOLEAN DEFAULT '1',
list_map_show_opened BOOLEAN DEFAULT '0',
list_map_show_detaillink BOOLEAN DEFAULT '1',
list_map_show_logo BOOLEAN DEFAULT '0',
@@ -311,6 +313,7 @@ CREATE TABLE {prefix}settings_general (
list_map_show_amenities BOOLEAN DEFAULT '0',
list_show_packages BOOLEAN DEFAULT '0',
list_show_packages_link BOOLEAN DEFAULT '0',
+ list_header_text TINYTEXT DEFAULT NULL,
detail_show_map BOOLEAN DEFAULT '1',
detail_show_directions BOOLEAN DEFAULT '1',
detail_show_logo BOOLEAN DEFAULT '1',
diff --git a/setup/databaseScripts/dbVersions.php b/setup/databaseScripts/dbVersions.php
index 57a8a10d..dd543438 100644
--- a/setup/databaseScripts/dbVersions.php
+++ b/setup/databaseScripts/dbVersions.php
@@ -44,7 +44,8 @@ $glmMembersDbVersions = array(
'1.1.10' => array('version' => '1.1.10', 'tables' => 16, 'date' => '6/16/16'),
'1.1.11' => array('version' => '1.1.11', 'tables' => 16, 'date' => '6/21/16'),
'1.1.12' => array('version' => '1.1.12', 'tables' => 16, 'date' => '8/2/16'),
- '1.1.13' => array('version' => '1.1.13', 'tables' => 18, 'date' => '8/4/16')
+ '1.1.13' => array('version' => '1.1.13', 'tables' => 18, 'date' => '8/4/16'),
+ '1.1.14' => array('version' => '1.1.14', 'tables' => 18, 'date' => '8/15/16'),
);
diff --git a/setup/databaseScripts/drop_database_V1.1.13.sql b/setup/databaseScripts/drop_database_V1.1.14.sql
similarity index 95%
rename from setup/databaseScripts/drop_database_V1.1.13.sql
rename to setup/databaseScripts/drop_database_V1.1.14.sql
index 8d5d29f2..d8f07c02 100644
--- a/setup/databaseScripts/drop_database_V1.1.13.sql
+++ b/setup/databaseScripts/drop_database_V1.1.14.sql
@@ -1,6 +1,6 @@
-- Gaslight Media Members Database
-- File Created: 12/09/14 15:27:15
--- Database Version: 1.1.5
+-- Database Version: 1.1.14
-- Database Deletion Script
-- Note: Tables with DELETE CASCADE must appear before referenced table
diff --git a/setup/databaseScripts/update_database_V1.1.14.sql b/setup/databaseScripts/update_database_V1.1.14.sql
new file mode 100644
index 00000000..53617dda
--- /dev/null
+++ b/setup/databaseScripts/update_database_V1.1.14.sql
@@ -0,0 +1,18 @@
+-- Gaslight Media Members Database
+-- File Created: 8/15/16 14:59:42
+-- Database Version: 1.1.14
+-- 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 dashses
+
+-- To set whether a member is featured
+ALTER TABLE {prefix}members ADD COLUMN featured BOOLEAN DEFAULT false;
+
+--
+
+ALTER TABLE {prefix}settings_general ADD COLUMN list_show_logo_filler BOOLEAN DEFAULT true;
+
+----
+
+ALTER TABLE {prefix}settings_general ADD COLUMN list_header_text TINYTEXT DEFAULT NULL;
\ No newline at end of file
diff --git a/setup/shortcodes.php b/setup/shortcodes.php
index d42d68cf..d6da5fad 100644
--- a/setup/shortcodes.php
+++ b/setup/shortcodes.php
@@ -107,6 +107,7 @@ $glmMembersShortcodes = array(
'list' => 'list_show_list',
'name-link' => 'list_show_detail_link',
'logo' => 'list_show_logo',
+ 'logo-filler' => 'list_show_logo_filler',
'address' => 'list_show_address',
'street' => 'list_show_street',
'city-state-zip' => 'list_show_citystatezip',
diff --git a/views/admin/management/index.html b/views/admin/management/index.html
index b606dc99..a3d18d73 100644
--- a/views/admin/management/index.html
+++ b/views/admin/management/index.html
@@ -145,6 +145,7 @@
Member List Display Options
Show Member List:
Show Member Name as Link to Detail:
+ List Header Text:
Show Member Logo:
Logo Size:
@@ -157,6 +158,7 @@
{if $genSettings.fieldFail.list_logo_size}{$genSettings.fieldFail.list_logo_size}
{/if}
+ Show Filler Image If No Member Logo:
Show Address:
@@ -185,6 +187,8 @@
Show Categories:
Show Credit Cards Accepted:
Show Amenities:
+ Show Packages:
+ Show Packages Link:
@@ -227,8 +231,6 @@
Show Categories:
Show Credit Cards:
Show Amenities:
- Show Packages:
- Show Packages Link:
diff --git a/views/admin/member/memberEdit.html b/views/admin/member/memberEdit.html
index d4c0b011..9d352dd2 100644
--- a/views/admin/member/memberEdit.html
+++ b/views/admin/member/memberEdit.html
@@ -69,7 +69,13 @@
{if $member.fieldFail.member_type}{$member.fieldFail.member_type}
{/if}
-
+
+
+ Featured:
+ {$member.fieldData.featured.value}
+
+
+
{if !$addingMember}
Date created: {$member.fieldData.created.date}
{/if}
diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html
index f6856f72..8e303631 100644
--- a/views/admin/member/memberInfo.html
+++ b/views/admin/member/memberInfo.html
@@ -23,7 +23,7 @@
If you change this version to something other than "Active" without selecting another version as active, there will be no active
- profile for this {$terms.term_member}. {$terms.term_member_cap} without an active profile will not be displayed on the front-end of this Web site.
+ profile for this {$terms.term_member}. {$terms.term_member_cap} without an active profile will not be displayed on the front-end of this Web site.
Click the "{$terms.term_member_cap} Dashboard" tab above to see all profile versions for this {$terms.term_member} and optionally to select another version to
diff --git a/views/admin/members/list.html b/views/admin/members/list.html
index c357c9fc..739d15a7 100644
--- a/views/admin/members/list.html
+++ b/views/admin/members/list.html
@@ -18,6 +18,7 @@
Show Archived:
+ Featured Only:
Pending Only:
Text Search:
@@ -39,6 +40,7 @@
ID
{$terms.term_member_cap} Name
+ Featured
Access
{$terms.term_member_cap} Type
@@ -59,6 +61,9 @@
{$m.name}
+
+ {$m.featured.name}
+
{$m.access_short.name}
@@ -98,6 +103,7 @@
Show Archived:
+ Featured Only:
Pending Only:
Name Search:
Enter any portion of a {$terms.term_member_cap} name and press enter or select any specific {$terms.term_member_cap} found.
@@ -175,6 +181,11 @@
filter += '&filterPending=true';
}
+ // Check for featured data filter
+ if ($("#filterFeatured").attr('checked')) {
+ filter += '&filterFeatured=true';
+ }
+
window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=list" + filter;
return false;
diff --git a/views/front/members/grid.html b/views/front/members/grid.html
deleted file mode 100644
index b094d46c..00000000
--- a/views/front/members/grid.html
+++ /dev/null
@@ -1,378 +0,0 @@
-
-{include file='front/members/header.html'}
- {apply_filters('glm-member-db-front-members-list-pageTop', '')}
-
- {if $settings.list_show_map}
-
Map
- {/if}
- {if $settings.list_show_search}
-
- {/if} {*list_show_search*}
- {if $settings.list_show_map}
-
- {apply_filters('glm-member-db-front-members-list-mapTop', '')}
-
- {apply_filters('glm-member-db-front-members-list-mapBottom', '')}
- {/if}
- {apply_filters('glm-member-db-front-members-list-listHeaderTop', '')}
-
-
- {if $settings.list_show_list && !$blankStart}
-
List of {$terms.term_member_plur_cap}
- {if $haveMembers}
-
- {$terms.term_member_plur_cap} found: {$membersFound}
-
- {if $settings.list_show_search_alpha}
-
- {/if}
- {apply_filters('glm-member-db-front-members-list-listHeaderBottom', '')}
-
-
-
-
-
-
- {/if} {*list_show_list*}
-
-
-
-{include file='front/footer.html'}
diff --git a/views/front/members/list.html b/views/front/members/list.html
index 42ef0bfc..c2d3c502 100644
--- a/views/front/members/list.html
+++ b/views/front/members/list.html
@@ -75,8 +75,12 @@
{if $settings.list_show_list && !$blankStart}
+ {if $settings.list_header_text}
+
+ {else}
- {if $haveMembers}
+ {/if}
+ {if $haveMembers}
{$terms.term_member_plur_cap} found: {$membersFound}
@@ -104,12 +108,19 @@
{if $settings.list_show_detail_link}
{/if}
+
+ {if $m.featured}
+
+ featured
+
+ {/if}
+
{if $m.logo && $settings.list_show_logo}
- {else}
+ {elseif $settings.list_show_logo_filler}
@@ -132,6 +143,7 @@
{if $m.url && $settings.list_show_url}
Website {/if}
+ {apply_filters('glm-member-db-front-members-list-linksBottom', '', $m.member_pointer)}
View More
{apply_filters('glm-member-db-front-members-list-memberBelow', '', $m.member_pointer)}
--
2.17.1