Changeset 13451 for trunk/src/bp-groups/bp-groups-functions.php
- Timestamp:
- 04/14/2023 04:11:52 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-groups/bp-groups-functions.php
r13449 r13451 1276 1276 */ 1277 1277 return apply_filters( 'groups_get_current_group', $current_group ); 1278 } 1279 1280 /** 1281 * Can the current user access to the current group? 1282 * 1283 * @since 12.0.0 1284 * 1285 * @return boolean True if the current user can access to the current group. 1286 * False otherwise. 1287 */ 1288 function bp_groups_user_can_access_current_group() { 1289 $can_access = false; 1290 1291 $current_group = groups_get_current_group(); 1292 if ( isset( $current_group->user_has_access ) ) { 1293 $can_access = $current_group->user_has_access; 1294 } 1295 1296 return $can_access; 1278 1297 } 1279 1298 … … 3791 3810 * @since 12.0.0 3792 3811 * 3793 * @param string $context The display context. Required. Defaults to `read`. 3794 * @return array The list of potential Group screens. 3795 */ 3796 function bp_get_group_screens( $context = 'read' ) { 3812 * @param string $context The display context. Required. Defaults to `read`. 3813 * @param boolean $built_in True to only get builtin screens. False otherwise. 3814 * @return array The list of potential Group screens. 3815 */ 3816 function bp_get_group_screens( $context = 'read', $built_in = false ) { 3797 3817 $screens = array( 3798 3818 'create' => array( … … 3837 3857 'item_css_id' => 'home', 3838 3858 ), 3839 'activity' => array(3840 'rewrite_id' => 'bp_group_read_activity',3841 'slug' => 'activity',3842 'name' => _x( 'Activity', 'Group read screen', 'buddypress' ),3843 'screen_function' => 'groups_screen_group_activity',3844 'position' => 11,3845 'user_has_access' => false,3846 'no_access_url' => '',3847 'item_css_id' => 'activity',3848 ),3849 3859 'request-membership' => array( 3850 3860 'rewrite_id' => 'bp_group_read_request_membership', … … 3854 3864 'position' => 30, 3855 3865 ), 3866 'activity' => array( 3867 'rewrite_id' => 'bp_group_read_activity', 3868 'slug' => 'activity', 3869 'name' => _x( 'Activity', 'Group read screen', 'buddypress' ), 3870 'screen_function' => 'groups_screen_group_activity', 3871 'position' => 11, 3872 'user_has_access' => false, 3873 'user_has_access_callback' => 'bp_groups_user_can_access_current_group', 3874 'no_access_url' => '', 3875 'item_css_id' => 'activity', 3876 ), 3856 3877 'members' => array( 3857 'rewrite_id' => 'bp_group_read_members',3858 'slug' => 'members',3878 'rewrite_id' => 'bp_group_read_members', 3879 'slug' => 'members', 3859 3880 /* translators: %s: total member count */ 3860 'name' => _x( 'Members %s', 'Group read screen', 'buddypress' ), 3861 'screen_function' => 'groups_screen_group_members', 3862 'position' => 60, 3863 'user_has_access' => false, 3864 'no_access_url' => '', 3865 'item_css_id' => 'members', 3881 'name' => _x( 'Members %s', 'Group read screen', 'buddypress' ), 3882 'screen_function' => 'groups_screen_group_members', 3883 'position' => 60, 3884 'user_has_access' => false, 3885 'user_has_access_callback' => 'bp_groups_user_can_access_current_group', 3886 'no_access_url' => '', 3887 'item_css_id' => 'members', 3866 3888 ), 3867 3889 'send-invites' => array( 3868 'rewrite_id' => 'bp_group_read_send_invites', 3869 'slug' => 'send-invites', 3870 'name' => _x( 'Send Invites', 'Group read screen', 'buddypress' ), 3871 'screen_function' => 'groups_screen_group_invite', 3872 'position' => 70, 3873 'user_has_access' => false, 3874 'no_access_url' => '', 3875 'item_css_id' => 'invite', 3890 'rewrite_id' => 'bp_group_read_send_invites', 3891 'slug' => 'send-invites', 3892 'name' => _x( 'Send Invites', 'Group read screen', 'buddypress' ), 3893 'screen_function' => 'groups_screen_group_invite', 3894 'position' => 70, 3895 'user_has_access' => false, 3896 'user_has_access_callback' => 'bp_groups_user_can_send_invites', 3897 'no_access_url' => '', 3898 'item_css_id' => 'invite', 3876 3899 ), 3877 3900 'admin' => array( 3878 'rewrite_id' => 'bp_group_read_admin', 3879 'slug' => 'admin', 3880 'name' => _x( 'Manage', 'Group read screen', 'buddypress' ), 3881 'screen_function' => 'groups_screen_group_admin', 3882 'position' => 1000, 3883 'user_has_access' => false, 3884 'no_access_url' => '', 3885 'item_css_id' => 'admin', 3901 'rewrite_id' => 'bp_group_read_admin', 3902 'slug' => 'admin', 3903 'name' => _x( 'Manage', 'Group read screen', 'buddypress' ), 3904 'screen_function' => 'groups_screen_group_admin', 3905 'position' => 1000, 3906 'user_has_access' => false, 3907 'user_has_access_callback' => 'bp_is_item_admin', 3908 'no_access_url' => '', 3909 'item_css_id' => 'admin', 3886 3910 ), 3887 3911 ), … … 3957 3981 } 3958 3982 3983 // We only need built-in screens, do not get custom ones. 3984 if ( $built_in ) { 3985 return $screens[ $context ]; 3986 } 3987 3959 3988 $context_screens = array(); 3960 3989 $custom_screens = apply_filters( 'bp_get_group_custom_' . $context . '_screens', $context_screens ); … … 3967 3996 if ( $custom_screens && ! wp_is_numeric_array( $custom_screens ) ) { 3968 3997 // The screen key (used as default slug) and `rewrite_id` prop need to be unique. 3969 $valid_custom_screens 3998 $valid_custom_screens = array_diff_key( $custom_screens, $screens[ $context ] ); 3970 3999 $existing_rewrite_ids = array_column( $screens[ $context ], 'rewrite_id' ); 3971 4000 $existing_rewrite_ids = array_merge(
Note: See TracChangeset
for help on using the changeset viewer.