);
// 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,
* 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);
}
);
<tr><td colspan="2"> </td></tr>
<tr>
<th> <span class="glm-error">You do not have any events listed.</span></th>
- <td><a href="{$thisUrl}?page=glm-members-admin-menu-events&glm_action=eventEdit&option=add">Click here to create your first event.</a></td>
+ <td><a href="{$thisUrl}?page={$thisPage}&glm_action=list&option=add">Click here to create your first event.</a></td>
</tr>
{/if}
</table>