Fixed problems various tabs now showing in "Settings" and other fixes.
authorChuck Scott <cscott@gaslightmedia.com>
Tue, 23 Jan 2018 19:35:24 +0000 (14:35 -0500)
committerChuck Scott <cscott@gaslightmedia.com>
Tue, 23 Jan 2018 19:35:24 +0000 (14:35 -0500)
Added filters to commonHooks to say whether members and/or counties are enabled.
Applied those filters in the admin/settings/header.html file instead of view parameters.
Removed code that added $enable_members and $enable_counties view parameters from a number of files.
Added info on new hooks to hooksHelp.html

.gitignore
models/admin/settings/amenities.php
models/admin/settings/categories.php
models/admin/settings/cities.php
models/admin/settings/counties.php
models/admin/settings/index.php
models/admin/settings/regions.php
setup/commonHooks.php
setup/frontHooks.php
setup/hooksHelp.html
views/admin/settings/header.html

index 53f75f1..c6ac75e 100644 (file)
@@ -3,3 +3,6 @@ misc/smarty/**
 media/images/**
 .project
 node_modules
+.buildpath
+.settings
+
index 0cb2183..e0a8abc 100644 (file)
@@ -107,7 +107,6 @@ class GlmMembersAdmin_settings_amenities extends GlmDataAmenities
         $error          = false;
         $option2        = '';
         $newAmenity     = $this->newEntry();
-        $enable_members = $this->config['settings']['enable_members'];
 
         // Check if a category ID is supplied
         $id = 0;
@@ -256,7 +255,6 @@ class GlmMembersAdmin_settings_amenities extends GlmDataAmenities
 
         // Compile template data
         $templateData = array(
-            'enable_members' => $enable_members,
             'haveAmenities'  => $haveAmenities,
             'haveGroups'     => $haveGroups,
             'amenities'      => $amenities,
index 7c670df..5574e3c 100644 (file)
@@ -103,7 +103,6 @@ class GlmMembersAdmin_settings_categories extends GlmDataCategories
         $haveCategories = false;
         $categories     = false;
         $error          = false;
-        $enable_members = $this->config['settings']['enable_members'];
 
         // Check if a category ID is supplied
         $id = 0;
@@ -176,7 +175,6 @@ class GlmMembersAdmin_settings_categories extends GlmDataCategories
 
         // Compile template data
         $templateData = array(
-            'enable_members' => $enable_members,
             'haveCategories' => $haveCategories,
             'categories'     => $categories
         );
index b4dfb56..2c9378c 100644 (file)
@@ -103,7 +103,6 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities
         $haveCities     = false;
         $cities         = false;
         $error          = false;
-        $enable_members = $this->config['settings']['enable_members'];
 
         // Check if a city ID is supplied
         $id = 0;
@@ -151,7 +150,7 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities
                 $haveCities = true;
             }
         }
-        
+
         // Get a list of all members by city, used in the Settings > Cities list to limit city deletion
         require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMemberInfo.php';
         $MemberInfo = new GlmDataMemberInfo($this->wpdb, $this->config);
@@ -162,7 +161,7 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities
                 //echo var_dump(addSlashes($memberForCity["member_name"]));
                 $citiesWithMembers[$city["id"]][$memberForCity["id"]] = $memberForCity["member_name"];
             }
-            
+
         }
 
         // If we had a fatal error, redirect to the error page
@@ -178,11 +177,10 @@ class GlmMembersAdmin_settings_cities extends GlmDataCities
         // $citiesWithMembersJSON = htmlspecialchars(json_encode($citiesWithMembers), ENT_QUOTES, 'UTF-8');
         $citiesWithMembersJSON = json_encode($citiesWithMembers);
         $citiesWithMembersJSON = str_replace("'", "\'", $citiesWithMembersJSON);
-        
-        
+
+
         // Compile template data
         $templateData = array(
-            'enable_members'        => $enable_members,
             'haveCities'            => $haveCities,
             'cities'                => $cities,
             'citiesWithMembers'     => $citiesWithMembers,
index 65430de..be4853a 100644 (file)
@@ -103,7 +103,6 @@ class GlmMembersAdmin_settings_counties extends GlmDataCounties
         $haveCounties    = false;
         $counties        = false;
         $error          = false;
-        $enable_members = $this->config['settings']['enable_members'];
 
         // Check for county id
         $id = 0;
@@ -165,7 +164,6 @@ class GlmMembersAdmin_settings_counties extends GlmDataCounties
 
         // Compile template data
         $templateData = array(
-            'enable_members' => $enable_members,
             'haveCounties'    => $haveCounties,
             'counties'        => $counties
         );
index 59a93e1..0babce5 100644 (file)
@@ -104,7 +104,6 @@ class GlmMembersAdmin_settings_index extends GlmDataMemberTypes
         $memberTypes     = false;
         $couldNotDelete  = false;
         $error           = false;
-        $enable_members  = $this->config['settings']['enable_members'];
 
         // Check for member type id
         $id = 0;
@@ -178,7 +177,6 @@ class GlmMembersAdmin_settings_index extends GlmDataMemberTypes
 
         // Compile template data
         $templateData = array(
-            'enable_members'  => $enable_members,
             'haveMemberTypes' => $haveMemberTypes,
             'memberTypes'     => $memberTypes,
             'couldNotDelete'  => $couldNotDelete
index 89ecc28..a53072e 100644 (file)
@@ -103,7 +103,6 @@ class GlmMembersAdmin_settings_regions extends GlmDataRegions
         $haveRegions    = false;
         $regions        = false;
         $error          = false;
-        $enable_members = $this->config['settings']['enable_members'];
 
         // Check for region id
         $id = 0;
@@ -165,7 +164,6 @@ class GlmMembersAdmin_settings_regions extends GlmDataRegions
 
         // Compile template data
         $templateData = array(
-            'enable_members' => $enable_members,
             'haveRegions'    => $haveRegions,
             'regions'        => $regions
         );
index 76c044a..9019ddf 100644 (file)
@@ -15,7 +15,7 @@
  */
 
 /*
- * Place Misc Hooks and Filters that should be available to both admin and front processes here. 
+ * Place Misc Hooks and Filters that should be available to both admin and front processes here.
  * If this file exists, it will be included by the main plugin script.
  *
  * Note that filter and hook callback functions must be included in-line as shown below...
  *     // Function code
  *  });
  *
- *  Also note that parameters will be in the context of the main admin controller constructor.
-  */
+ *  Also note that parameters will be in the context of either the Front or Admin controller,
+ *  depending on where the hook is called from.
+ */
+
+// Return TRUE if Members are enabled
+add_filter('glm-member-db-common-members-enabled', function($enabled) {
+
+    $enabled = $this->config['settings']['enable_members'];
+
+    return $enabled;
+},
+10,
+2
+);
+
+// Return TRUE if Counties are enabled
+add_filter('glm-member-db-common-counties-enabled', function($enabled) {
+
+    $enabled = $this->config['settings']['enable_counties'];
+
+    return $enabled;
+},
+10,
+2
+);
 
index 4e6de1d..39bfa4a 100644 (file)
@@ -43,7 +43,9 @@ add_action('wp_loaded', function() {
     if (!is_admin()) {
         $rules = get_option('rewrite_rules');
         if ( ! isset( $rules[GLM_MEMBERS_REWRITE_RULE] ) ) {
-            trigger_error('Doing rewrite flush - Member detail page', E_USER_NOTICE); // Logging that this is happening so we can track when that happens.
+            if (GLM_MEMBERS_PLUGIN_FRONT_DEBUG_VERBOSE) {
+                trigger_error('Doing rewrite flush - Member detail page', E_USER_NOTICE); // Logging that this is happening so we can track when that happens.
+            }
             global $wp_rewrite;
             $wp_rewrite->flush_rules();
         }
index d4a299a..404ac48 100644 (file)
@@ -2,7 +2,29 @@
 
         <tr><td colspan="3" class="glm-notice"><p><h1>Main Member DB Plugin</h1></p></td></tr>
 
+        <tr><th colspan="3"><h2>Misc. Settings Hooks</h2></td></tr>
+
+        <tr>
+            <td>glm-member-db-common-members-enabled</td>
+            <td>Filter</td>
+            <td></td>
+            <td>
+                Returns TRUE if members are enabled in the Misc. Settings Management page.
+                This is a "Common" filter that may be called from either Admin or Front.
+            </td>
+        </tr>
+        <tr>
+            <td>glm-member-db-common-counties-enabled</td>
+            <td>Filter</td>
+            <td></td>
+            <td>
+                Returns TRUE if Member Counties are enabled in the Misc. Settings Management page.
+                This is a "Common" filter that may be called from either Admin or Front.
+            </td>
+        </tr>
+
         <tr><th colspan="3"><h2>Add-On Registration Hooks</h2></td></tr>
+        
         <tr>
             <td>glm-member-db-register-addon</td>
             <td>Filter</td>
index 8e509ee..713b88a 100644 (file)
@@ -3,18 +3,19 @@
     <h2>{$glmPluginName} Settings</h2>
 
     <h2 class="nav-tab-wrapper">
-        {if $enable_members}
+{if apply_filters('glm-member-db-common-members-enabled', false)}
+    
         <a href="{$thisUrl}?page={$thisPage}&glm_action=index" class="nav-tab{if $thisAction==index} nav-tab-active{/if}">{$terms.term_member_cap} Types</a>
         <a href="{$thisUrl}?page={$thisPage}&glm_action=categories" class="nav-tab{if $thisAction==categories} nav-tab-active{/if}">{$terms.term_member_cap} Categories</a>
         <a href="{$thisUrl}?page={$thisPage}&glm_action=amenities" class="nav-tab{if $thisAction==amenities} nav-tab-active{/if}">Amenities</a>
-        {/if}
+{/if}
         <a href="{$thisUrl}?page={$thisPage}&glm_action=cities" class="nav-tab{if $thisAction==cities} nav-tab-active{/if}">Cities</a>
-        {if $enable_members}
+{if apply_filters('glm-member-db-common-members-enabled', false)}
         <a href="{$thisUrl}?page={$thisPage}&glm_action=regions" class="nav-tab{if $thisAction==regions} nav-tab-active{/if}">Regions</a>
-            {if $settings.enable_counties}
+  {if apply_filters('glm-member-db-common-counties-enabled', false)}
             <a href="{$thisUrl}?page={$thisPage}&glm_action=counties" class="nav-tab{if $thisAction==counties} nav-tab-active{/if}">{$terms.term_admin_menu_configure_counties}</a>
-            {/if}
-        {/if}
+  {/if}
+{/if}
 {foreach $addOnTabs as $a}
         <a href="{$thisUrl}?page={$thisPage}&glm_action={$a.action}" class="nav-tab{if $thisAction==$a.action} nav-tab-active{/if}">{$a.text}</a>
 {/foreach}