Skip to:
Content

BuddyPress.org

Ticket #6749: 6749-4.diff

File 6749-4.diff, 23.2 KB (added by espellcaste, 4 years ago)
  • src/bp-groups/bp-groups-template.php

    diff --git src/bp-groups/bp-groups-template.php src/bp-groups/bp-groups-template.php
    index 4ba18f121..ce3ae0a19 100644
    function bp_group_member_promote_admin_link( $args = '' ) { 
    27642764 * Output a URL for demoting a user to member.
    27652765 *
    27662766 * @since 1.0.0
     2767 * @since 10.0.0 Added the `$group` paremeter.
    27672768 *
    2768  * @param int $user_id ID of the member to demote. Default: current member in
    2769  *                     a member loop.
     2769 * @param int                              $user_id ID of the member to demote. Default: 0.
     2770 * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2771 *                                                  Default: false.
    27702772 */
    2771 function bp_group_member_demote_link( $user_id = 0 ) {
    2772         global $members_template;
    2773 
    2774         if ( !$user_id ) {
    2775                 $user_id = $members_template->member->user_id;
    2776         }
    2777 
    2778         echo bp_get_group_member_demote_link( $user_id );
     2773function bp_group_member_demote_link( $user_id = 0, $group = false ) {
     2774        echo bp_get_group_member_demote_link( $user_id, $group );
    27792775}
    27802776        /**
    27812777         * Generate a URL for demoting a user to member.
    27822778         *
    27832779         * @since 1.0.0
     2780         * @since 10.0.0 Updated to use `bp_get_group`.
    27842781         *
    2785          * @param int         $user_id ID of the member to demote. Default: current
    2786          *                             member in a member loop.
    2787          * @param object|bool $group   Optional. Group object. Default: current group.
     2782         * @param int                              $user_id ID of the member to demote. Default: 0.
     2783         * @param false|int|string|BP_Groups_Group $group (Optional) The Group ID, the Group Slug or the Group object.
     2784     *                                                Default: false.
    27882785         * @return string
    27892786         */
    27902787        function bp_get_group_member_demote_link( $user_id = 0, $group = false ) {
    2791                 global $members_template, $groups_template;
     2788                global $members_template;
    27922789
    2793                 if ( empty( $group ) ) {
    2794                         $group =& $groups_template->group;
     2790                $group = bp_get_group( $group );
     2791
     2792                if ( empty( $group->id ) ) {
     2793                        return '';
    27952794                }
    27962795
    2797                 if ( !$user_id ) {
     2796                if ( ! $user_id ) {
    27982797                        $user_id = $members_template->member->user_id;
    27992798                }
    28002799
    function bp_group_member_demote_link( $user_id = 0 ) { 
    28022801                 * Filters a URL for demoting a user to member.
    28032802                 *
    28042803                 * @since 1.0.0
    2805                  * @since 2.5.0 Added the `$group` parameter.
     2804                 * @since 2.5.0  Added the `$group` parameter.
     2805                 * @since 10.0.0 Added the `$user_id` parameter.
    28062806                 *
    2807                  * @param string $value URL to use for demoting a user to member.
    2808                  * @param object $group Group object.
     2807                 * @param string          $value   URL to use for demoting a user to member.
     2808                 * @param BP_Groups_Group $group   The group object.
     2809                 * @param int             $user_id The user ID.
    28092810                 */
    2810                 return apply_filters( 'bp_get_group_member_demote_link', wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/demote/' . $user_id ), 'groups_demote_member' ), $group );
     2811                return apply_filters(
     2812                        'bp_get_group_member_demote_link',
     2813                        wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/demote/' . $user_id ), 'groups_demote_member' ),
     2814                        $group,
     2815                        $user_id
     2816                );
    28112817        }
    28122818
    28132819/**
    28142820 * Output a URL for banning a member from a group.
    28152821 *
    28162822 * @since 1.0.0
     2823 * @since 10.0.0 Added the `$group` paremeter.
    28172824 *
    2818  * @param int $user_id ID of the member to ban.
    2819  *                     Default: current member in a member loop.
     2825 * @param int                              $user_id ID of the member. Default: 0.
     2826 * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2827 *                                                  Default: false.
    28202828 */
    2821 function bp_group_member_ban_link( $user_id = 0 ) {
    2822         global $members_template;
    2823 
    2824         if ( !$user_id ) {
    2825                 $user_id = $members_template->member->user_id;
    2826         }
    2827 
    2828         echo bp_get_group_member_ban_link( $user_id );
     2829function bp_group_member_ban_link( $user_id = 0, $group = false ) {
     2830        echo bp_get_group_member_ban_link( $user_id, $group );
    28292831}
    28302832        /**
    28312833         * Generate a URL for banning a member from a group.
    28322834         *
    28332835         * @since 1.0.0
     2836         * @since 10.0.0 Updated to use `bp_get_group`.
    28342837         *
    2835          * @param int         $user_id ID of the member to ban.
    2836          *                             Default: current member in a member loop.
    2837          * @param object|bool $group   Optional. Group object. Default: current group.
     2838         * @param int                              $user_id ID of the member to ban. Default: 0.
     2839         * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2840     *                                                  Default: false.
    28382841         * @return string
    28392842         */
    28402843        function bp_get_group_member_ban_link( $user_id = 0, $group = false ) {
    2841                 global $groups_template;
     2844                global $members_template;
    28422845
    2843                 if ( empty( $group ) ) {
    2844                         $group =& $groups_template->group;
     2846                $group = bp_get_group( $group );
     2847
     2848                if ( empty( $group->id ) ) {
     2849                        return '';
     2850                }
     2851
     2852                if ( ! $user_id ) {
     2853                        $user_id = $members_template->member->user_id;
    28452854                }
    28462855
    28472856                /**
    28482857                 * Filters a URL for banning a member from a group.
    28492858                 *
    28502859                 * @since 1.0.0
     2860                 * @since 10.0.0 Added the `$group`and `$user_id` parameter.
    28512861                 *
    2852                  * @param string $value URL to use for banning a member.
     2862                 * @param string          $value   URL to use for banning a member.
     2863                 * @param BP_Groups_Group $group   The group object.
     2864                 * @param int             $user_id The user ID.
    28532865                 */
    2854                 return apply_filters( 'bp_get_group_member_ban_link', wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/ban/' . $user_id ), 'groups_ban_member' ) );
     2866                return apply_filters(
     2867                        'bp_get_group_member_ban_link',
     2868                        wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/ban/' . $user_id ), 'groups_ban_member' ),
     2869                        $group,
     2870                        $user_id
     2871                );
    28552872        }
    28562873
    28572874/**
    28582875 * Output a URL for unbanning a member from a group.
    28592876 *
    28602877 * @since 1.0.0
     2878 * @since 10.0.0 Added the `$group` paremeter.
    28612879 *
    2862  * @param int $user_id ID of the member to unban.
    2863  *                     Default: current member in a member loop.
     2880 * @param int                              $user_id ID of the member to unban. Default: 0.
     2881 * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2882 *                                                  Default: false.
    28642883 */
    2865 function bp_group_member_unban_link( $user_id = 0 ) {
    2866         global $members_template;
    2867 
    2868         if ( !$user_id ) {
    2869                 $user_id = $members_template->member->user_id;
    2870         }
    2871 
    2872         echo bp_get_group_member_unban_link( $user_id );
     2884function bp_group_member_unban_link( $user_id = 0, $group = false ) {
     2885        echo bp_get_group_member_unban_link( $user_id, $group );
    28732886}
    28742887        /**
    28752888         * Generate a URL for unbanning a member from a group.
    28762889         *
    28772890         * @since 1.0.0
     2891         * @since 10.0.0 Updated to use `bp_get_group`.
    28782892         *
    2879          * @param int         $user_id ID of the member to unban.
    2880          *                             Default: current member in a member loop.
    2881          * @param object|bool $group   Optional. Group object. Default: current group.
     2893         * @param int                              $user_id ID of the member to unban. Default: 0.
     2894         * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2895     *                                                  Default: false.
    28822896         * @return string
    28832897         */
    28842898        function bp_get_group_member_unban_link( $user_id = 0, $group = false ) {
    2885                 global $members_template, $groups_template;
     2899                global $members_template;
    28862900
    2887                 if ( !$user_id ) {
    2888                         $user_id = $members_template->member->user_id;
     2901                $group = bp_get_group( $group );
     2902
     2903                if ( empty( $group->id ) ) {
     2904                        return '';
    28892905                }
    28902906
    2891                 if ( empty( $group ) ) {
    2892                         $group =& $groups_template->group;
     2907                if ( ! $user_id ) {
     2908                        $user_id = $members_template->member->user_id;
    28932909                }
    28942910
    28952911                /**
    28962912                 * Filters a URL for unbanning a member from a group.
    28972913                 *
    28982914                 * @since 1.0.0
     2915                 * @since 10.0.0 Added the `$group`and `$user_id` parameter.
    28992916                 *
    2900                  * @param string $value URL to use for unbanning a member.
     2917                 * @param string          $value   URL to use for unbanning a member.
     2918                 * @param BP_Groups_Group $group   The group object.
     2919                 * @param int             $user_id The user ID.
    29012920                 */
    2902                 return apply_filters( 'bp_get_group_member_unban_link', wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/unban/' . $user_id ), 'groups_unban_member' ) );
     2921                return apply_filters(
     2922                        'bp_get_group_member_unban_link',
     2923                        wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/unban/' . $user_id ), 'groups_unban_member' ),
     2924                        $group,
     2925                        $user_id
     2926                );
    29032927        }
    29042928
    29052929/**
    29062930 * Output a URL for removing a member from a group.
    29072931 *
    29082932 * @since 1.2.6
     2933 * @since 10.0.0 Added the `$group` paremeter.
    29092934 *
    2910  * @param int $user_id ID of the member to remove.
    2911  *                     Default: current member in a member loop.
     2935 * @param int                              $user_id ID of the member to remove. Default: 0.
     2936 * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2937 *                                                  Default: false.
    29122938 */
    2913 function bp_group_member_remove_link( $user_id = 0 ) {
    2914         global $members_template;
    2915 
    2916         if ( !$user_id ) {
    2917                 $user_id = $members_template->member->user_id;
    2918         }
    2919 
    2920         echo bp_get_group_member_remove_link( $user_id );
     2939function bp_group_member_remove_link( $user_id = 0, $group = false ) {
     2940        echo bp_get_group_member_remove_link( $user_id, $group );
    29212941}
    29222942        /**
    29232943         * Generate a URL for removing a member from a group.
    29242944         *
    29252945         * @since 1.2.6
     2946         * @since 10.0.0 Updated to use `bp_get_group`.
    29262947         *
    2927          * @param int         $user_id ID of the member to remove.
    2928          *                             Default: current member in a member loop.
    2929          * @param object|bool $group   Optional. Group object. Default: current group.
     2948         * @param int                              $user_id ID of the member to remove. Default: 0.
     2949         * @param false|int|string|BP_Groups_Group $group   (Optional) The Group ID, the Group Slug or the Group object.
     2950     *                                                  Default: false.
    29302951         * @return string
    29312952         */
    29322953        function bp_get_group_member_remove_link( $user_id = 0, $group = false ) {
    2933                 global $groups_template;
     2954                global $members_template;
    29342955
    2935                 if ( empty( $group ) ) {
    2936                         $group =& $groups_template->group;
     2956                $group = bp_get_group( $group );
     2957
     2958                if ( empty( $group->id ) ) {
     2959                        return '';
     2960                }
     2961
     2962                if ( ! $user_id ) {
     2963                        $user_id = $members_template->member->user_id;
    29372964                }
    29382965
    29392966                /**
    29402967                 * Filters a URL for removing a member from a group.
    29412968                 *
    29422969                 * @since 1.2.6
    2943                  * @since 2.5.0 Added the `$group` parameter.
     2970                 * @since 2.5.0  Added the `$group` parameter.
     2971                 * @since 10.0.0 Added the `$user_id` parameter.
    29442972                 *
    2945                  * @param string $value URL to use for removing a member.
    2946                  * @param object $group Group object.
     2973                 * @param string          $value   URL to use for removing a member.
     2974                 * @param BP_Groups_Group $group   The group object.
     2975                 * @param int             $user_id The user ID.
    29472976                 */
    2948                 return apply_filters( 'bp_get_group_member_remove_link', wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/remove/' . $user_id ), 'groups_remove_member' ), $group );
     2977                return apply_filters(
     2978                        'bp_get_group_member_remove_link',
     2979                        wp_nonce_url( trailingslashit( bp_get_group_permalink( $group ) . 'admin/manage-members/remove/' . $user_id ), 'groups_remove_member' ),
     2980                        $group,
     2981                        $user_id
     2982                );
    29492983        }
    29502984
    29512985/**
    function bp_group_total_for_member() { 
    30403074 * Output the 'action' attribute for a group form.
    30413075 *
    30423076 * @since 1.0.0
     3077 * @since 10.0.0 Added the `$group` paremeter.
    30433078 *
    3044  * @param string $page Page slug.
     3079 * @param string                           $page  Page slug.
     3080 * @param false|int|string|BP_Groups_Group $group (Optional) The Group ID, the Group Slug or the Group object.
     3081 *                                                Default: false.
    30453082 */
    3046 function bp_group_form_action( $page ) {
    3047         echo bp_get_group_form_action( $page );
     3083function bp_group_form_action( $page, $group = false ) {
     3084        echo bp_get_group_form_action( $page, $group );
    30483085}
    30493086        /**
    30503087         * Generate the 'action' attribute for a group form.
    30513088         *
    30523089         * @since 1.0.0
     3090         * @since 10.0.0 Updated to use `bp_get_group`.
    30533091         *
    3054          * @param string      $page  Page slug.
    3055          * @param object|bool $group Optional. Group object.
    3056          *                           Default: current group in the loop.
     3092         * @param string                           $page  Page slug.
     3093         * @param false|int|string|BP_Groups_Group $group (Optional) The Group ID, the Group Slug or the Group object.
     3094     *                                                Default: false.
    30573095         * @return string
    30583096         */
    30593097        function bp_get_group_form_action( $page, $group = false ) {
    3060                 global $groups_template;
     3098                $group = bp_get_group( $group );
    30613099
    3062                 if ( empty( $group ) ) {
    3063                         $group =& $groups_template->group;
     3100                if ( empty( $group->id ) || empty( $page ) ) {
     3101                        return '';
    30643102                }
    30653103
    30663104                /**
    function bp_group_form_action( $page ) { 
    30693107                 * @since 1.0.0
    30703108                 * @since 2.5.0 Added the `$group` parameter.
    30713109                 *
    3072                  * @param string $value Action attribute for a group form.
    3073                  * @param object $group Group object.
     3110                 * @param string          $value Action attribute for a group form.
     3111                 * @param BP_Groups_Group $group The group object.
     3112                 * @param int|string|bool $page  Page slug.
    30743113                 */
    3075                 return apply_filters( 'bp_group_form_action', trailingslashit( bp_get_group_permalink( $group ) . $page ), $group );
     3114                return apply_filters( 'bp_group_form_action', trailingslashit( bp_get_group_permalink( $group ) . $page ), $group, $page );
    30763115        }
    30773116
    30783117/**
    30793118 * Output the 'action' attribute for a group admin form.
    30803119 *
    30813120 * @since 1.0.0
     3121 * @since 10.0.0 Added the `$group` paremeter.
    30823122 *
    3083  * @param string|bool $page Optional. Page slug.
     3123 * @param false|string|bool                $page  (Optional). Page slug. Default: false.
     3124 * @param false|int|string|BP_Groups_Group $group (Optional) The Group ID, the Group Slug or the Group object.
     3125 *                                                Default: false.
    30843126 */
    3085 function bp_group_admin_form_action( $page = false ) {
    3086         echo bp_get_group_admin_form_action( $page );
     3127function bp_group_admin_form_action( $page = false, $group = false ) {
     3128        echo bp_get_group_admin_form_action( $page, $group );
    30873129}
    30883130        /**
    30893131         * Generate the 'action' attribute for a group admin form.
    30903132         *
    30913133         * @since 1.0.0
     3134         * @since 10.0.0 Updated to use `bp_get_group`.
    30923135         *
    3093          * @param string|bool $page  Optional. Page slug.
    3094          * @param object|bool $group Optional. Group object.
    3095          *                           Default: current group in the loop.
     3136         * @param false|string|bool                $page  (Optional). Page slug. Default: false.
     3137         * @param false|int|string|BP_Groups_Group $group (Optional) The Group ID, the Group Slug or the Group object.
     3138     *                                                Default: false.
    30963139         * @return string
    30973140         */
    30983141        function bp_get_group_admin_form_action( $page = false, $group = false ) {
    3099                 global $groups_template;
     3142                $group = bp_get_group( $group );
    31003143
    3101                 if ( empty( $group ) ) {
    3102                         $group =& $groups_template->group;
     3144                if ( empty( $group->id ) ) {
     3145                        return '';
    31033146                }
    31043147
    31053148                if ( empty( $page ) ) {
    function bp_group_admin_form_action( $page = false ) { 
    31103153                 * Filters the 'action' attribute for a group admin form.
    31113154                 *
    31123155                 * @since 1.0.0
    3113                  * @since 2.5.0 Added the `$group` parameter.
     3156                 * @since 2.5.0  Added the `$group` parameter.
     3157                 * @since 10.0.0 Added the `$page` parameter.
    31143158                 *
    3115                  * @param string $value Action attribute for a group admin form.
    3116                  * @param object $group Group object.
     3159                 * @param string          $value Action attribute for a group admin form.
     3160                 * @param BP_Groups_Group $group The group object.
     3161                 * @param int|string|bool $page  Page slug.
    31173162                 */
    3118                 return apply_filters( 'bp_group_admin_form_action', trailingslashit( bp_get_group_permalink( $group ) . 'admin/' . $page ), $group );
     3163                return apply_filters( 'bp_group_admin_form_action', trailingslashit( bp_get_group_permalink( $group ) . 'admin/' . $page ), $group, $page );
    31193164        }
    31203165
    31213166/**
    31223167 * Determine whether the logged-in user has requested membership to a group.
    31233168 *
    31243169 * @since 1.0.0
     3170 * @since 10.0.0 Updated to use `bp_get_group`.
    31253171 *
    3126  * @param object|bool $group Optional. Group object.
    3127  *                           Default: current group in the loop.
     3172 * @param false|int|string|BP_Groups_Group $group (Optional) The Group ID, the Group Slug or the Group object.
     3173 *                                                Default: false.
    31283174 * @return bool
    31293175 */
    31303176function bp_group_has_requested_membership( $group = false ) {
    3131         global $groups_template;
    3132 
    3133         if ( empty( $group ) ) {
    3134                 $group =& $groups_template->group;
    3135         }
     3177        $group = bp_get_group( $group );
    31363178
    3137         if ( groups_check_for_membership_request( bp_loggedin_user_id(), $group->id ) ) {
    3138                 return true;
     3179        if ( empty( $group->id ) ) {
     3180                return false;
    31393181        }
    31403182
    3141         return false;
     3183        return ( groups_check_for_membership_request( bp_loggedin_user_id(), $group->id ) );
    31423184}
    31433185
    31443186/**
    function bp_group_create_button() { 
    36623704                 *
    36633705                 * @since 2.0.0
    36643706                 *
    3665                  * @param string $button HTML button for creating a group.
     3707                 * @param array $button_args HTML button for creating a group.
    36663708                 */
    3667                 return bp_get_button( apply_filters( 'bp_get_group_create_button', $button_args ) );
     3709                $button_args = apply_filters( 'bp_get_group_create_button', $button_args );
     3710
     3711                return bp_get_button( $button_args );
    36683712        }
    36693713
    36703714/**
    function bp_group_create_button() { 
    36753719function bp_group_create_nav_item() {
    36763720        echo bp_get_group_create_nav_item();
    36773721}
    3678 
    36793722        /**
    36803723         * Get the Create a Group nav item.
    36813724         *
    function bp_total_group_count() { 
    38393882                 *
    38403883                 * @param int $value Total number of groups found.
    38413884                 */
    3842                 return apply_filters( 'bp_get_total_group_count', groups_get_total_group_count() );
     3885                return apply_filters( 'bp_get_total_group_count', (int) groups_get_total_group_count() );
    38433886        }
    38443887
    38453888/**
    function bp_group_member_avatar_mini( $width = 30, $height = 30 ) { 
    41124155function bp_group_member_name() {
    41134156        echo bp_get_group_member_name();
    41144157}
    4115 
    41164158        /**
    41174159         * @since 1.0.0
    41184160         *
    function bp_group_member_name() { 
    41374179function bp_group_member_url() {
    41384180        echo bp_get_group_member_url();
    41394181}
    4140 
    41414182        /**
    41424183         * @since 1.0.0
    41434184         *
    function bp_group_member_url() { 
    41624203function bp_group_member_link() {
    41634204        echo bp_get_group_member_link();
    41644205}
    4165 
    41664206        /**
    41674207         * @since 1.0.0
    41684208         *
    function bp_group_member_link() { 
    41874227function bp_group_member_domain() {
    41884228        echo bp_get_group_member_domain();
    41894229}
    4190 
    41914230        /**
    41924231         * @since 1.2.0
    41934232         *
    function bp_group_member_domain() { 
    42124251function bp_group_member_is_friend() {
    42134252        echo bp_get_group_member_is_friend();
    42144253}
    4215 
    42164254        /**
    42174255         * @since 1.2.0
    42184256         *
    function bp_group_member_is_friend() { 
    42404278        }
    42414279
    42424280/**
     4281 * Check whether the member is banned from the current group.
     4282 *
    42434283 * @since 1.0.0
    42444284 */
    42454285function bp_group_member_is_banned() {
    42464286        echo bp_get_group_member_is_banned();
    42474287}
    4248 
    42494288        /**
     4289         * Check whether the member is banned from the current group.
     4290         *
    42504291         * @since 1.0.0
    42514292         *
    4252          * @return mixed|void
     4293         * @return bool
    42534294         */
    42544295        function bp_get_group_member_is_banned() {
    42554296                global $members_template;
    42564297
     4298                if ( ! isset( $members_template->member->is_banned ) ) {
     4299                        return false;
     4300                }
     4301
    42574302                /**
    42584303                 * Filters whether the member is banned from the current group.
    42594304                 *
    function bp_group_member_is_banned() { 
    42614306                 *
    42624307                 * @param bool $is_banned Whether or not the member is banned.
    42634308                 */
    4264                 return apply_filters( 'bp_get_group_member_is_banned', $members_template->member->is_banned );
     4309                return apply_filters( 'bp_get_group_member_is_banned', (bool) $members_template->member->is_banned );
    42654310        }
    42664311
    42674312/**
     4313 * Output CSS if group member is banned.
     4314 *
    42684315 * @since 1.2.6
     4316 * @since 10.0.0 Updated to use `bp_get_group_member_is_banned`.
    42694317 */
    42704318function bp_group_member_css_class() {
    4271         global $members_template;
    4272 
    4273         if ( $members_template->member->is_banned ) {
     4319        if ( bp_get_group_member_is_banned() ) {
    42744320
    42754321                /**
    42764322                 * Filters the class to add to the HTML if member is banned.
    function bp_group_member_joined_since( $args = array() ) { 
    43404386        }
    43414387
    43424388/**
     4389 * Get group member from current group.
     4390 *
    43434391 * @since 1.0.0
    43444392 */
    43454393function bp_group_member_id() {
    43464394        echo bp_get_group_member_id();
    43474395}
    4348 
    43494396        /**
     4397         * Get group member from current group.
     4398         *
    43504399         * @since 1.0.0
    43514400         *
    4352          * @return mixed|void
     4401         * @return int
    43534402         */
    43544403        function bp_get_group_member_id() {
    43554404                global $members_template;
    43564405
     4406                if ( ! isset( $members_template->member->user_id ) ) {
     4407                        return 0;
     4408                }
     4409
    43574410                /**
    43584411                 * Filters the member's user ID for group members loop.
    43594412                 *
    function bp_group_member_id() { 
    43614414                 *
    43624415                 * @param int $user_id User ID of the member.
    43634416                 */
    4364                 return apply_filters( 'bp_get_group_member_id', $members_template->member->user_id );
     4417                return apply_filters( 'bp_get_group_member_id', (int) $members_template->member->user_id );
    43654418        }
    43664419
    43674420/**
    function bp_group_member_id() { 
    43724425function bp_group_member_needs_pagination() {
    43734426        global $members_template;
    43744427
    4375         if ( $members_template->total_member_count > $members_template->pag_num ) {
    4376                 return true;
    4377         }
    4378 
    4379         return false;
     4428        return ( $members_template->total_member_count > $members_template->pag_num );
    43804429}
    43814430
    43824431/**
    function bp_group_member_needs_pagination() { 
    43854434function bp_group_pag_id() {
    43864435        echo bp_get_group_pag_id();
    43874436}
    4388 
    43894437        /**
    43904438         * @since 1.0.0
    43914439         *
    function bp_group_member_pagination() { 
    44104458        echo bp_get_group_member_pagination();
    44114459        wp_nonce_field( 'bp_groups_member_list', '_member_pag_nonce' );
    44124460}
    4413 
    44144461        /**
    44154462         * @since 1.0.0
    44164463         *
    function bp_group_member_pagination() { 
    44354482function bp_group_member_pagination_count() {
    44364483        echo bp_get_group_member_pagination_count();
    44374484}
    4438 
    44394485        /**
    44404486         * @since 1.0.0
    44414487         *
    function bp_group_member_admin_pagination() { 
    44764522        echo bp_get_group_member_admin_pagination();
    44774523        wp_nonce_field( 'bp_groups_member_admin_list', '_member_admin_pag_nonce' );
    44784524}
    4479 
    44804525        /**
    44814526         * @since 1.0.0
    44824527         *
  • tests/phpunit/testcases/groups/template.php

    diff --git tests/phpunit/testcases/groups/template.php tests/phpunit/testcases/groups/template.php
    index af1e8159c..6e6f6712f 100644
    class BP_Tests_Groups_Template extends BP_UnitTestCase { 
    977977                $this->assertTrue( bp_group_is_forum_enabled( $g2 ) );
    978978        }
    979979
     980        /**
     981         * @group bp_get_group_member_is_banned
     982         */
     983        public function test_bp_group_member_is_banned() {
     984                $this->assertFalse( bp_get_group_member_is_banned() );
     985        }
     986
     987        /**
     988         * @group bp_get_group_member_id
     989         */
     990        public function test_bp_get_group_member_id() {
     991                $this->assertFalse( (bool) bp_get_group_member_id() );
     992        }
     993
     994        /**
     995         * @group bp_get_group_form_action
     996         */
     997        public function test_bp_bp_get_group_form_action_when_empty() {
     998                $this->assertEmpty( bp_get_group_form_action( '' ) );
     999        }
     1000
     1001        /**
     1002         * @group bp_get_group_form_action
     1003         */
     1004        public function test_bp_bp_get_group_form_action() {
     1005                $g   = $this->factory->group->create();
     1006                $p   = 2;
     1007                $url = trailingslashit( bp_get_group_permalink( $g ) . $p );
     1008
     1009                $this->assertSame( bp_get_group_form_action( $p, $g ), $url );
     1010        }
     1011
    9801012        /**
    9811013         * @group bp_get_group_member_count
    9821014         */