From 988ace09bf101c056c624571379ca8db9116bad7 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Thu, 13 Oct 2016 16:10:51 -0400 Subject: [PATCH] Updated permissions to use new glmMembersUserCan() function. --- setup/permissions.php | 92 +++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/setup/permissions.php b/setup/permissions.php index 5247085..a140d76 100644 --- a/setup/permissions.php +++ b/setup/permissions.php @@ -115,184 +115,180 @@ add_filter('glm_members_locked_to_member_id', * 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. */ // glm-member-db, views/admin/members/index.html, Display config data warnings add_filter('glm_members_permit_admin_members_index_member_config_warning', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member'); + return glmMembersUserCan('glm_members_view_any_member', $permit); } ); // glm-member-db, views/members/index.html, Display Add New Member Button add_filter('glm_members_permit_admin_members_index_add_member', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit); } ); // glm-member-db, view/member/index.html, Display Add New Member Information Version button add_filter('glm_members_permit_admin_member_index_add_member_info_version', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/member/index.html, Display form to edit base member data, otherwise show it. add_filter('glm_members_permit_admin_member_index_edit_member', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit); } ); // glm-member-db, view/member/index.html, Display link to view/edit member information add_filter('glm_members_permit_admin_member_index_view_member_info_version', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member') || current_user_can('glm_members_view_my_entity_info'); + return glmMembersUserCan('glm_members_view_any_member', $permit) || + glmMembersUserCan('glm_members_view_my_entity_info', $permit); } ); // glm-member-db, view/member/index.html, Display Clone and Activate buttons for Member Information add_filter('glm_members_permit_admin_member_index_clone_activate_info_version', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/member/index.html, Display Contacts tab add_filter('glm_members_permit_admin_member_contacts_tab', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member') || current_user_can('glm_members_view_my_member'); + return glmMembersUserCan('glm_members_view_any_member', $permit) || + glmMembersUserCan('glm_members_view_my_member', $permit); } ); // glm-member-db, view/member/contacts.html, Add Contacts data add_filter('glm_members_permit_admin_member_contacts_add_contact', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/member/contacts.html, View Contact data add_filter('glm_members_permit_admin_member_contacts_view_contact', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member') || current_user_can('glm_members_view_my_member'); + return glmMembersUserCan('glm_members_view_any_member', $permit) || + glmMembersUserCan('glm_members_view_my_member', $permit); } ); // glm-member-db, view/admin/contacts/edit.html, Set as Primary Contact add_filter('glm_members_permit_admin_member_contacts_set_as_primary', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit); } ); // glm-member-db, views/member/contacts.html, Edit Contact data add_filter('glm_members_permit_admin_member_contacts_edit_contact', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/dashboardWidget.html, Display members search and list add_filter('glm_members_permit_admin_widget_members', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_view_any_member') || current_user_can('glm_members_edit_my_member'); + return glmMembersUserCan('glm_members_view_any_member', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit); } ); // glm-member-db, view/dashboardWidget.html, Display warnings add_filter('glm_members_permit_admin_widget_warnings', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_members'); + return glmMembersUserCan('glm_members_members', $permit); } ); // glm-member-db, view/dashboardWidget.html, Display pending member info needing attention add_filter('glm_members_permit_admin_widget_pending_info', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_any_member'); + return glmMembersUserCan('glm_members_edit_any_member', $permit); } ); // glm-member-db, view/member/index.html, Display inactive member information in member info list add_filter('glm_members_permit_admin_member_index_list_inactive_info', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_moderate_my_member_info') - || current_user_can('glm_members_edit_my_member') - || current_user_can('glm_members_edit_any_member') - || current_user_can('glm_members_delete_my_entity_info') - ; + return glmMembersUserCan('glm_members_moderate_my_member_info', $permit) || + glmMembersUserCan('glm_members_edit_my_member', $permit) || + glmMembersUserCan('glm_members_edit_any_member', $permit) || + glmMembersUserCan('glm_members_delete_my_entity_info', $permit); } ); // glm-member-db, view/member/memberInfo.html, Permit editing of member information add_filter('glm_members_permit_admin_member_info_edit', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_my_member') || current_user_can('glm_members_edit_my_entity'); + return glmMembersUserCan('glm_members_edit_my_member', $permit) || + glmMembersUserCan('glm_members_edit_my_entity', $permit); } ); // glm-member-db, view/admin/profile/index.html, Permit editing of own contact profile add_filter('glm_members_permit_admin_profile_index_edit_profile', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_edit_my_contact_info'); + return glmMembersUserCan('glm_members_edit_my_contact_info', $permit); } ); // Access admin Members menu add_filter('glm_members_menu_members', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_members'); + return glmMembersUserCan('glm_members_members', $permit); } ); // Access admin Member menu add_filter('glm_members_menu_member', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_member'); + return glmMembersUserCan('glm_members_member', $permit); } ); // Access admin Settings menu add_filter('glm_members_menu_settings', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_settings'); + return glmMembersUserCan('glm_members_settings', $permit); } ); // Access admin Management menu add_filter('glm_members_menu_management', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_management'); + return glmMembersUserCan('glm_members_management', $permit); } ); // Access admin Shortcodes menu add_filter('glm_members_menu_shortcodes', function($permit) { - if (!$permit) { return false; } - return current_user_can('glm_members_shortcodes'); + return glmMembersUserCan('glm_members_shortcodes', $permit); } ); -- 2.17.1