From: Chuck Scott Date: Thu, 13 Oct 2016 20:12:01 +0000 (-0400) Subject: Updated permissions to use new glmMembersUserCan() function and fixed other permissio... X-Git-Tag: v1.5.0^2~5 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=ffbf445301754b1dc38db4d55e679873b419b859;p=WP-Plugins%2Fglm-member-db-events.git Updated permissions to use new glmMembersUserCan() function and fixed other permission issues. --- diff --git a/setup/adminMenus.php b/setup/adminMenus.php index 87a1137..060c278 100644 --- a/setup/adminMenus.php +++ b/setup/adminMenus.php @@ -89,7 +89,7 @@ add_submenu_page( ); // If a contact is logged in (ownEntity isn't false), add Contact Profile menu item -if ($this->config['loggedInUser']['contactUser']) { +if (isset($this->config['loggedInUser']) && isset($this->config['loggedInUser']['contactUser']) && $this->config['loggedInUser']['contactUser']) { add_submenu_page( $mainMenuSlug, diff --git a/setup/permissions.php b/setup/permissions.php index ca66d0d..a0987d2 100644 --- a/setup/permissions.php +++ b/setup/permissions.php @@ -40,20 +40,28 @@ * to permit the action. * * Of course any of these may test more than one capability if that's desired. + * + * Since we have capabilities that only exist if a particular add-on (such as Contacts) + * has been loaded and activated, it can be helpful to be able to test for a capability + * for the current user and permit some action if that capability doesn't exist. The + * main plugin therefore provides the following globally accessible function that will + * return true if the capability doesn't exist, otherwise it respects the capability. + * + * glmMembersUserCan('glm_members_edit_any_member', $permit); + * + * $permit is a boolean set before this function call for passing on permissions. */ // Logged in all members manager user may edit an event for all members add_filter('glm_members_permit_admin_members_event', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit); } ); // Logged in member user may edit an event only for their own entity add_filter('glm_members_permit_admin_member_event', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_my_member', $permit); } ); diff --git a/views/admin/events/index.html b/views/admin/events/index.html index b2b03cb..167eebc 100644 --- a/views/admin/events/index.html +++ b/views/admin/events/index.html @@ -25,7 +25,7 @@   You do not have any events listed. - Click here to create your first event. + Click here to create your first event. {/if}