From 392dad827886b45b42dc25ecdbb4448219bae235 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 21 Oct 2016 10:22:13 -0400 Subject: [PATCH] Setting up the admin menus and dashboard for member enable flag. Hiding member items if enable_member is not set. This effects the settings and main dashboard and list pages. --- models/admin/members/index.php | 2 + models/admin/members/list.php | 66 ++++++++++--------- models/admin/settings/amenities.php | 32 ++++----- models/admin/settings/categories.php | 30 +++++---- models/admin/settings/cities.php | 22 ++++--- models/admin/settings/index.php | 34 +++++----- models/admin/settings/regions.php | 34 +++++----- models/admin/shortcodes/index.php | 8 +-- setup/adminHooks.php | 34 +++++----- setup/adminMenus.php | 98 ++++++++++++++++++---------- setup/shortcodes.php | 7 +- views/admin/members/header.html | 14 ++-- views/admin/members/index.html | 13 ++-- views/admin/settings/header.html | 10 ++- 14 files changed, 231 insertions(+), 173 deletions(-) diff --git a/models/admin/members/index.php b/models/admin/members/index.php index 0046ead0..1f72d466 100644 --- a/models/admin/members/index.php +++ b/models/admin/members/index.php @@ -100,6 +100,7 @@ class GlmMembersAdmin_members_index extends GlmDataMembers { $success = true; $manage_members = (current_user_can('glm_members_members')); + $enable_members = $this->config['settings']['enable_members']; // Get stats on the current list of members $stats = $this->getStats(); @@ -156,6 +157,7 @@ class GlmMembersAdmin_members_index extends GlmDataMembers // Compile template data $templateData = array( + 'enable_members' => $enable_members, 'manage_members' => $manage_members, 'numbMembers' => $stats, 'membersList' => $membersList, diff --git a/models/admin/members/list.php b/models/admin/members/list.php index d1bc5e25..a75496d4 100644 --- a/models/admin/members/list.php +++ b/models/admin/members/list.php @@ -104,19 +104,20 @@ class GlmMembersAdmin_members_list extends GlmDataMembers public function modelAction ($actionData = false) { - $where = ' true '; - $filterPending = false; + $where = ' true '; + $filterPending = false; $filterArchived = false; $filterFeatured = false; - $haveFilter = false; - $numbDisplayed = false; - $lastDisplayed = false; - $paging = true; - $prevStart = false; - $nextStart = false; - $start = 1; - $limit = 20; // Set to the number of listings per page - $namesList = false; + $haveFilter = false; + $numbDisplayed = false; + $lastDisplayed = false; + $paging = true; + $prevStart = false; + $nextStart = false; + $start = 1; + $limit = 20; // Set to the number of listings per page + $namesList = false; + $enable_members = $this->config['settings']['enable_members']; // Check if this is a request to show archived members if (isset($_REQUEST['filterArchived'])) { @@ -278,39 +279,40 @@ class GlmMembersAdmin_members_list extends GlmDataMembers // Determine if current user can add, edit, delete member data // $canEdit = current_user_can('glm_members_edit'); - + // Add a url for each member foreach ($list as $member) { $list[$member['id']]['member_slug'] = sanitize_title($member['name']); } - + // Compile template data $templateData = array( - 'haveMembers' => $haveMembers, - 'members' => $list, - 'memberCount' => $memberCount, - 'categories' => $categories, - 'haveFilter' => $haveFilter, + 'enable_members' => $enable_members, + 'haveMembers' => $haveMembers, + 'members' => $list, + 'memberCount' => $memberCount, + 'categories' => $categories, + 'haveFilter' => $haveFilter, 'filterArchived' => $filterArchived, 'filterFeatured' => $filterFeatured, - 'filterPending' => $filterPending, - 'numbDisplayed' => $numbDisplayed, - 'lastDisplayed' => $lastDisplayed, - 'paging' => $paging, - 'prevStart' => $prevStart, - 'nextStart' => $nextStart, - 'start' => $start, - 'limit' => $limit, - 'namesList' => $namesList + 'filterPending' => $filterPending, + 'numbDisplayed' => $numbDisplayed, + 'lastDisplayed' => $lastDisplayed, + 'paging' => $paging, + 'prevStart' => $prevStart, + 'nextStart' => $nextStart, + 'start' => $start, + 'limit' => $limit, + 'namesList' => $namesList ); // Return status, suggested view, and data to controller return array( - 'status' => $success, + 'status' => $success, 'menuItemRedirect' => false, - 'modelRedirect' => false, - 'view' => 'admin/members/list.html', - 'data' => $templateData + 'modelRedirect' => false, + 'view' => 'admin/members/list.html', + 'data' => $templateData ); } @@ -318,4 +320,4 @@ class GlmMembersAdmin_members_list extends GlmDataMembers } -?> \ No newline at end of file +?> diff --git a/models/admin/settings/amenities.php b/models/admin/settings/amenities.php index 48a306d5..0b0d4e78 100644 --- a/models/admin/settings/amenities.php +++ b/models/admin/settings/amenities.php @@ -100,13 +100,14 @@ class GlmMembersAdmin_settings_amenities extends GlmDataAmenities public function modelAction ( $actionData = false ) { - $success = true; - $haveAmenities = false; - $haveGroups = false; - $amenities = false; - $error = false; - $option2 = ''; - $newAmenity = $this->newEntry(); + $success = true; + $haveAmenities = false; + $haveGroups = false; + $amenities = false; + $error = false; + $option2 = ''; + $newAmenity = $this->newEntry(); + $enable_members = $this->config['settings']['enable_members']; // Check if a category ID is supplied $id = 0; @@ -187,7 +188,7 @@ class GlmMembersAdmin_settings_amenities extends GlmDataAmenities case 'updateGroup': if ( $id > 0 ) { $groupData->updateEntry( $id ); - } + } break; case 'deleteGroup': @@ -200,7 +201,7 @@ class GlmMembersAdmin_settings_amenities extends GlmDataAmenities array( 'group_id' => $id ), array( '%d' ) ); - } + } break; default: @@ -267,12 +268,13 @@ class GlmMembersAdmin_settings_amenities extends GlmDataAmenities // Compile template data $templateData = array( - 'haveAmenities' => $haveAmenities, - 'haveGroups' => $haveGroups, - 'amenities' => $amenities, - 'groups' => $groups, - 'option2' => $option2, - 'newAmenity' => $newAmenity, + 'enable_members' => $enable_members, + 'haveAmenities' => $haveAmenities, + 'haveGroups' => $haveGroups, + 'amenities' => $amenities, + 'groups' => $groups, + 'option2' => $option2, + 'newAmenity' => $newAmenity, ); // Return status, suggested view, and data to controller diff --git a/models/admin/settings/categories.php b/models/admin/settings/categories.php index 6d62a069..5a68563a 100644 --- a/models/admin/settings/categories.php +++ b/models/admin/settings/categories.php @@ -99,10 +99,11 @@ class GlmMembersAdmin_settings_categories extends GlmDataCategories public function modelAction ($actionData = false) { - $success = true; + $success = true; $haveCategories = false; - $categories = false; - $error = false; + $categories = false; + $error = false; + $enable_members = $this->config['settings']['enable_members']; // Check if a category ID is supplied $id = 0; @@ -166,11 +167,11 @@ class GlmMembersAdmin_settings_categories extends GlmDataCategories // If we had a fatal error, redirect to the error page if ($error) { return array( - 'status' => $success, - 'menuItemRedirect' => 'error', - 'modelRedirect' => 'index', - 'view' => 'admin/error/index.html', - 'data' => false + 'status' => $success, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => false ); } @@ -183,17 +184,18 @@ class GlmMembersAdmin_settings_categories extends GlmDataCategories // Compile template data $templateData = array( + 'enable_members' => $enable_members, 'haveCategories' => $haveCategories, - 'categories' => $categories + 'categories' => $categories ); // Return status, suggested view, and data to controller return array( - 'status' => $success, + 'status' => $success, 'menuItemRedirect' => false, - 'modelRedirect' => false, - 'view' => 'admin/settings/categories.html', - 'data' => $templateData + 'modelRedirect' => false, + 'view' => 'admin/settings/categories.html', + 'data' => $templateData ); } @@ -201,4 +203,4 @@ class GlmMembersAdmin_settings_categories extends GlmDataCategories } -?> \ No newline at end of file +?> diff --git a/models/admin/settings/cities.php b/models/admin/settings/cities.php index 7d15eb66..184ad70e 100644 --- a/models/admin/settings/cities.php +++ b/models/admin/settings/cities.php @@ -99,10 +99,11 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities public function modelAction ($actionData = false) { - $success = true; - $haveCities = false; - $cities = false; - $error = false; + $success = true; + $haveCities = false; + $cities = false; + $error = false; + $enable_members = $this->config['settings']['enable_members']; // Check if a city ID is supplied $id = 0; @@ -172,17 +173,18 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities // Compile template data $templateData = array( - 'haveCities' => $haveCities, - 'cities' => $cities + 'enable_members' => $enable_members, + 'haveCities' => $haveCities, + 'cities' => $cities ); // Return status, suggested view, and data to controller return array( 'status' => $success, 'menuItemRedirect' => false, - 'modelRedirect' => false, - 'view' => 'admin/settings/cities.html', - 'data' => $templateData + 'modelRedirect' => false, + 'view' => 'admin/settings/cities.html', + 'data' => $templateData ); } @@ -190,4 +192,4 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities } -?> \ No newline at end of file +?> diff --git a/models/admin/settings/index.php b/models/admin/settings/index.php index e8475518..8f303a6f 100644 --- a/models/admin/settings/index.php +++ b/models/admin/settings/index.php @@ -99,11 +99,12 @@ class GlmMembersAdmin_settings_index extends GlmDataMemberTypes public function modelAction ($actionData = false) { - $success = true; + $success = true; $haveMemberTypes = false; - $memberTypes = false; - $couldNotDelete = false; - $error = false; + $memberTypes = false; + $couldNotDelete = false; + $error = false; + $enable_members = $this->config['settings']['enable_members']; // Check for member type id $id = 0; @@ -171,11 +172,11 @@ class GlmMembersAdmin_settings_index extends GlmDataMemberTypes // If we had a fatal error, redirect to the error page if ($error) { return array( - 'status' => $success, - 'menuItemRedirect' => 'error', - 'modelRedirect' => 'index', - 'view' => 'admin/error/index.html', - 'data' => false + 'status' => $success, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => false ); } @@ -185,18 +186,19 @@ class GlmMembersAdmin_settings_index extends GlmDataMemberTypes // Compile template data $templateData = array( + 'enable_members' => $enable_members, 'haveMemberTypes' => $haveMemberTypes, - 'memberTypes' => $memberTypes, - 'couldNotDelete' => $couldNotDelete + 'memberTypes' => $memberTypes, + 'couldNotDelete' => $couldNotDelete ); // Return status, suggested view, and data to controller return array( - 'status' => $success, + 'status' => $success, 'menuItemRedirect' => false, - 'modelRedirect' => false, - 'view' => 'admin/settings/index.html', - 'data' => $templateData + 'modelRedirect' => false, + 'view' => 'admin/settings/index.html', + 'data' => $templateData ); } @@ -204,4 +206,4 @@ class GlmMembersAdmin_settings_index extends GlmDataMemberTypes } -?> \ No newline at end of file +?> diff --git a/models/admin/settings/regions.php b/models/admin/settings/regions.php index 16957981..180f319a 100644 --- a/models/admin/settings/regions.php +++ b/models/admin/settings/regions.php @@ -99,10 +99,11 @@ class GlmMembersAdmin_settings_regions extends GlmDataRegions public function modelAction ($actionData = false) { - $success = true; - $haveRegions = false; - $regions = false; - $error = false; + $success = true; + $haveRegions = false; + $regions = false; + $error = false; + $enable_members = $this->config['settings']['enable_members']; // Check for region id $id = 0; @@ -158,11 +159,11 @@ class GlmMembersAdmin_settings_regions extends GlmDataRegions // If we had a fatal error, redirect to the error page if ($error) { return array( - 'status' => $success, - 'menuItemRedirect' => 'error', - 'modelRedirect' => 'index', - 'view' => 'admin/error/index.html', - 'data' => false + 'status' => $success, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => false ); } @@ -172,17 +173,18 @@ class GlmMembersAdmin_settings_regions extends GlmDataRegions // Compile template data $templateData = array( - 'haveRegions' => $haveRegions, - 'regions' => $regions + 'enable_members' => $enable_members, + 'haveRegions' => $haveRegions, + 'regions' => $regions ); // Return status, suggested view, and data to controller return array( - 'status' => $success, + 'status' => $success, 'menuItemRedirect' => false, - 'modelRedirect' => false, - 'view' => 'admin/settings/regions.html', - 'data' => $templateData + 'modelRedirect' => false, + 'view' => 'admin/settings/regions.html', + 'data' => $templateData ); } @@ -190,4 +192,4 @@ class GlmMembersAdmin_settings_regions extends GlmDataRegions } -?> \ No newline at end of file +?> diff --git a/models/admin/shortcodes/index.php b/models/admin/shortcodes/index.php index 52327354..fe5021c7 100644 --- a/models/admin/shortcodes/index.php +++ b/models/admin/shortcodes/index.php @@ -69,10 +69,10 @@ class GlmMembersAdmin_shortcodes_index // Return status, any suggested view, and any data to controller return array( - 'status' => true, + 'status' => true, 'modelRedirect' => false, - 'view' => 'admin/shortcodes/index.html', - 'data' => array( + 'view' => 'admin/shortcodes/index.html', + 'data' => array( 'addOns' => $this->config['addOns'] ) ); @@ -80,4 +80,4 @@ class GlmMembersAdmin_shortcodes_index } } -?> \ No newline at end of file +?> diff --git a/setup/adminHooks.php b/setup/adminHooks.php index 3abfdce8..e413c75b 100644 --- a/setup/adminHooks.php +++ b/setup/adminHooks.php @@ -128,19 +128,21 @@ function glmRemoveDashboard () { } add_action('admin_menu', 'glmRemoveDashboard'); -add_filter( - 'glm-member-db-dashboard-member-widgets', - function ( $member = null ) { - $content = $this->controller( 'dashboard', 'index', $member ); - return $content; - }, - 10, - 1 -); -add_filter( - 'glm-member-db-dashboard-member-admin-widgets', - function ( $input = '' ) { - $content = $this->controller( 'dashboard', 'members', $input ); - return $content; - } -); +if ( $this->config['settings']['enable_members'] ) { + add_filter( + 'glm-member-db-dashboard-member-widgets', + function ( $member = null ) { + $content = $this->controller( 'dashboard', 'index', $member ); + return $content; + }, + 10, + 1 + ); + add_filter( + 'glm-member-db-dashboard-member-admin-widgets', + function ( $input = '' ) { + $content = $this->controller( 'dashboard', 'members', $input ); + return $content; + } + ); +} diff --git a/setup/adminMenus.php b/setup/adminMenus.php index ab131c6b..94f84e9d 100644 --- a/setup/adminMenus.php +++ b/setup/adminMenus.php @@ -35,45 +35,71 @@ if (current_user_can('glm_members_members')) { $mainMenuSlug = 'glm-members-admin-menu-members'; - add_menu_page( - $this->config['terms']['term_admin_menu_members'], - 'GLM Associate', - 'glm_members_main_menu', - 'glm-members-admin-menu-members', - function() {}, - GLM_MEMBERS_PLUGIN_ASSETS_URL.'/flame.png', - '3.100' - ); + $enable_members = $this->config['settings']['enable_members']; + //echo '
$enable_members: ' . print_r( $enable_members, true ) . '
'; - // Add a sub-submenu for the "Member" "List" page - add_submenu_page( - 'glm-members-admin-menu-members', - $this->config['terms']['term_admin_menu_member_list'], - $this->config['terms']['term_admin_menu_members'], - 'glm_members_main_menu', - 'glm-members-admin-menu-members', - function() {$this->controller('members', 'index');} - ); + if ( $enable_members ) { + add_menu_page( + $this->config['terms']['term_admin_menu_members'], + 'GLM Associate', + 'glm_members_main_menu', + 'glm-members-admin-menu-members', + function() {}, + GLM_MEMBERS_PLUGIN_ASSETS_URL.'/flame.png', + '3.100' + ); - // Add a sub-submenu for the "Member" "List" page - add_submenu_page( - 'glm-members-admin-menu-members', - $this->config['terms']['term_admin_menu_member_list'], - '    List', - 'glm_members_main_menu', - 'glm-members-admin-menu-members-list', - function() {$this->controller('members', 'list');} - ); + // Add a sub-submenu for the "Member" "List" page + add_submenu_page( + 'glm-members-admin-menu-members', + $this->config['terms']['term_admin_menu_member_list'], + $this->config['terms']['term_admin_menu_members'], + 'glm_members_main_menu', + 'glm-members-admin-menu-members', + function() {$this->controller('members', 'index');} + ); - // Add a submenu for the "Member" section - add_submenu_page( - $mainMenuSlug, - $this->config['terms']['term_admin_menu_member'].' Dashboard', - $this->config['terms']['term_admin_menu_member'], - 'glm_members_member', - 'glm-members-admin-menu-member', - function() {$this->controller('member');} - ); + // Add a sub-submenu for the "Member" "List" page + add_submenu_page( + 'glm-members-admin-menu-members', + $this->config['terms']['term_admin_menu_member_list'], + '    List', + 'glm_members_main_menu', + 'glm-members-admin-menu-members-list', + function() {$this->controller('members', 'list');} + ); + + // Add a submenu for the "Member" section + add_submenu_page( + $mainMenuSlug, + $this->config['terms']['term_admin_menu_member'].' Dashboard', + $this->config['terms']['term_admin_menu_member'], + 'glm_members_member', + 'glm-members-admin-menu-member', + function() {$this->controller('member');} + ); + } else { + add_menu_page( + $this->config['terms']['term_admin_menu_members'], + 'GLM Associate', + 'glm_members_main_menu', + 'glm-members-admin-menu-members', + function() {}, + GLM_MEMBERS_PLUGIN_ASSETS_URL.'/flame.png', + '3.100' + ); + + // Add a sub-submenu for the "Member" "List" page + add_submenu_page( + 'glm-members-admin-menu-members', + 'Dashboard', + 'Dashboard', + 'glm_members_main_menu', + 'glm-members-admin-menu-members', + function() {$this->controller('members', 'index');} + ); + + } // Otherwise just display menus for logged in member } else { diff --git a/setup/shortcodes.php b/setup/shortcodes.php index 03e18a88..9f5926b0 100644 --- a/setup/shortcodes.php +++ b/setup/shortcodes.php @@ -61,7 +61,8 @@ * ) * */ - +$config = $GLOBALS['config']; +if ( $config['settings']['enable_members'] ) { $glmMembersShortcodes = array( 'glm-members-list' => array( 'plugin' => GLM_MEMBERS_PLUGIN_SLUG, @@ -510,3 +511,7 @@ $glmMembersShortcodesDescription = ' '; +} else { + $glmMembersShortcodes = array(); + $glmMembersShortcodesDescription = ''; +} diff --git a/views/admin/members/header.html b/views/admin/members/header.html index c70bcd42..7996b7de 100644 --- a/views/admin/members/header.html +++ b/views/admin/members/header.html @@ -1,11 +1,15 @@
+{if $enable_members}

All {$terms.term_member_plur_cap}

+{else} +

Dashboard

+{/if}
- \ No newline at end of file + diff --git a/views/admin/members/index.html b/views/admin/members/index.html index d0aef572..83d22c04 100644 --- a/views/admin/members/index.html +++ b/views/admin/members/index.html @@ -1,8 +1,9 @@ {include file='admin/members/header.html'} -{if apply_filters('glm_members_permit_admin_members_index_add_member', true)} +{if apply_filters('glm_members_permit_admin_members_index_add_member', true) && $enable_members} Add A New {$terms.term_member_cap} {/if} +{if $enable_members} - -{if apply_filters('glm_members_permit_admin_members_index_member_config_warning', true)} +{/if} +{if apply_filters('glm_members_permit_admin_members_index_member_config_warning', true) && $enable_members} {if !$haveMemberTypes} @@ -44,7 +45,7 @@ {/if} {/if} -{if $numbMembers == 0} +{if $numbMembers == 0 && $enable_members} @@ -53,9 +54,11 @@ {/if}
@@ -10,8 +11,8 @@ {$terms.term_member_cap} Search:
You do not have any {$terms.term_member_cap} Types setup.
 
You do not have any {$terms.term_member_plur} listed.
+{if $enable_members}
Number of {$terms.term_member_plur_cap} Listed: {$numbMembers}
+{/if} {apply_filters('glm-member-db-members-othernotices', '')} @@ -125,7 +128,7 @@ {/if} -{if $membersList} +{if $membersList && $enable_members}