[buddypress-trac] [BuddyPress Trac] #4785: Decouple "visibility" and "access" properties
buddypress-trac
noreply at wordpress.org
Sat Jul 12 01:26:37 UTC 2014
#4785: Decouple "visibility" and "access" properties
-------------------------+---------------------------
Reporter: smninja | Owner: boonebgorges
Type: enhancement | Status: closed
Priority: normal | Milestone: 2.1
Component: Groups | Version: 1.7
Severity: normal | Resolution: fixed
Keywords: has-patch |
-------------------------+---------------------------
Changes (by boonebgorges):
* owner: => boonebgorges
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"8605"]:
{{{
#!CommitTicketReference repository="" revision="8605"
Overhaul access and visibility control for group tabs
Previously, access control to group tabs was handled in two ways:
- for BP_Group_Extension tabs, the 'enable_nav_item' and 'visibility'
provided
some control over access to plugin developers, though it was
inconsistent,
buggy, and difficult to implement properly
- for tabs provided by bp-groups, access to the tabs of non-public groups
was
controlled directly in the BP_Groups_Component::setup_globals() method
Aside from being unclear for developers, this technique for controlling
access
was also inflexible. For non-public groups, tab access was hardcoded and
handled before BP_Group_Extension plugins even had a chance to load. As a
result, it was essentially impossible to add public tabs to non-public
groups
(among other non-standard customizations).
The current changeset comprises a number of changes that make tab access
more
consistent and flexible:
- Access control is moved to the new bp_groups_group_access_protection()
function. This function has the necessary filters to customize access
protection in arbitrary ways. And because it loads at 'bp_actions' -
just
before the page begins to render - all extensions have had a chance to
load
and register themselves with the desired access settings.
- The 'visibility' and 'enable_nav_item' properties of BP_Group_Extension
are
phased out in favor of 'access' and 'show_tab' params. 'access' controls
who
can visit the tab, while 'show_tab' controls who can see the item in the
navigation. These new properties have intelligent defaults (based on the
privacy level of the group), but can be overridden with a number of
custom
settings: 'admin', 'mod', 'member', 'loggedin', 'anyone', or 'noone'.
Backward compatibility is maintained, so that existing
BP_Group_Extension
plugins that use enable_nav_item or visibility will continue to work as
before.
Fixes #4785
Props boonebgorges, dcavins, imath
}}}
--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/4785#comment:39>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac
More information about the buddypress-trac
mailing list