Changeset 13873
- Timestamp:
- 05/25/2024 04:47:42 AM (13 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-groups/bp-groups-functions.php
r13808 r13873 2007 2007 * 2008 2008 * @since 1.0.0 2009 * 2010 * @param int $user_id ID of the user. 2011 * @param int $group_id ID of the group. 2012 * @param string $status The new status. 'mod' or 'admin'. 2009 * @since 14.0.0 Adds the `$group_admin_id` parameter. 2010 * 2011 * @param int $user_id ID of the user. 2012 * @param int $group_id ID of the group. 2013 * @param string $status The new status. 'mod' or 'admin'. 2014 * @param int $group_admin_id Optional. The group admin user ID. 2013 2015 * @return bool True on success, false on failure. 2014 2016 */ 2015 function groups_promote_member( $user_id, $group_id, $status ) { 2016 2017 if ( ! bp_is_item_admin() ) 2017 function groups_promote_member( $user_id, $group_id, $status, $group_admin_id = 0 ) { 2018 // Carry on using the item admin set by the Web version. 2019 if ( ! $group_admin_id ) { 2020 $user_can = bp_is_item_admin(); 2021 2022 // Use the provided Group Admin ID (eg: during a REST API request). 2023 } else { 2024 $user_can = bp_current_user_can( 'bp_moderate' ) || groups_is_user_admin( $group_admin_id, $group_id ); 2025 } 2026 2027 if ( ! $user_can ) { 2018 2028 return false; 2029 } 2019 2030 2020 2031 $member = new BP_Groups_Member( $user_id, $group_id ); 2021 2032 2022 2033 // Don't use this action. It's deprecated as of BuddyPress 1.6. 2023 do_action ( 'groups_premote_member', $group_id, $user_id, $status);2034 do_action_deprecated( 'groups_premote_member', array( $group_id, $user_id, $status ), '1.6' ); 2024 2035 2025 2036 /** … … 2034 2045 do_action( 'groups_promote_member', $group_id, $user_id, $status ); 2035 2046 2036 return $member->promote( $status ); 2047 if ( ! $member->promote( $status ) ) { 2048 return false; 2049 } 2050 2051 /** 2052 * Fires once the group member has been successfully promoted. 2053 * 2054 * @since 14.0.0 2055 * 2056 * @param int $user_id ID of the user being promoted. 2057 * @param int $group_id ID of the group being promoted in. 2058 */ 2059 do_action( 'group_member_promoted', $user_id, $group_id ); 2060 2061 return true; 2037 2062 } 2038 2063 … … 2041 2066 * 2042 2067 * @since 1.0.0 2068 * @since 14.0.0 Adds the `$group_admin_id` parameter. 2043 2069 * 2044 2070 * @param int $user_id ID of the user. 2045 2071 * @param int $group_id ID of the group. 2072 * @param int $group_admin_id Optional. The group admin user ID. 2046 2073 * @return bool True on success, false on failure. 2047 2074 */ 2048 function groups_demote_member( $user_id, $group_id ) { 2049 2050 if ( ! bp_is_item_admin() ) { 2075 function groups_demote_member( $user_id, $group_id, $group_admin_id = 0 ) { 2076 // Carry on using the item admin set by the Web version. 2077 if ( ! $group_admin_id ) { 2078 $user_can = bp_is_item_admin(); 2079 2080 // Use the provided Group Admin ID (eg: during a REST API request). 2081 } else { 2082 $user_can = bp_current_user_can( 'bp_moderate' ) || groups_is_user_admin( $group_admin_id, $group_id ); 2083 } 2084 2085 if ( ! $user_can ) { 2051 2086 return false; 2052 2087 } … … 2064 2099 do_action( 'groups_demote_member', $group_id, $user_id ); 2065 2100 2066 return $member->demote(); 2101 if ( ! $member->demote() ) { 2102 return false; 2103 } 2104 2105 /** 2106 * Fires once the group member has been successfully demoted. 2107 * 2108 * @since 14.0.0 2109 * 2110 * @param int $user_id ID of the user being demoted. 2111 * @param int $group_id ID of the group being demoted in. 2112 */ 2113 do_action( 'group_member_demoted', $user_id, $group_id ); 2114 2115 return true; 2067 2116 } 2068 2117 … … 2071 2120 * 2072 2121 * @since 1.0.0 2122 * @since 14.0.0 Adds the `$group_admin_id` parameter. 2073 2123 * 2074 2124 * @param int $user_id ID of the user. 2075 2125 * @param int $group_id ID of the group. 2126 * @param int $group_admin_id Optional. The group admin user ID. 2076 2127 * @return bool True on success, false on failure. 2077 2128 */ 2078 function groups_ban_member( $user_id, $group_id ) { 2079 2080 if ( ! bp_is_item_admin() ) { 2129 function groups_ban_member( $user_id, $group_id, $group_admin_id = 0 ) { 2130 // Carry on using the item admin set by the Web version. 2131 if ( ! $group_admin_id ) { 2132 $user_can = bp_is_item_admin(); 2133 2134 // Use the provided Group Admin ID (eg: during a REST API request). 2135 } else { 2136 $user_can = bp_current_user_can( 'bp_moderate' ) || groups_is_user_admin( $group_admin_id, $group_id ); 2137 } 2138 2139 if ( ! $user_can ) { 2081 2140 return false; 2082 2141 } … … 2094 2153 do_action( 'groups_ban_member', $group_id, $user_id ); 2095 2154 2096 return $member->ban(); 2155 if ( ! $member->ban() ) { 2156 return false; 2157 } 2158 2159 /** 2160 * Fires once the group member has been successfully banned. 2161 * 2162 * @since 14.0.0 2163 * 2164 * @param int $user_id ID of the user being banned. 2165 * @param int $group_id ID of the group being banned from. 2166 */ 2167 do_action( 'group_member_banned', $user_id, $group_id ); 2168 2169 return true; 2097 2170 } 2098 2171 … … 2101 2174 * 2102 2175 * @since 1.0.0 2176 * @since 14.0.0 Adds the `$group_admin_id` parameter. 2103 2177 * 2104 2178 * @param int $user_id ID of the user. 2105 2179 * @param int $group_id ID of the group. 2180 * @param int $group_admin_id Optional. The group admin user ID. 2106 2181 * @return bool True on success, false on failure. 2107 2182 */ 2108 function groups_unban_member( $user_id, $group_id ) { 2109 2110 if ( ! bp_is_item_admin() ) { 2183 function groups_unban_member( $user_id, $group_id, $group_admin_id = 0 ) { 2184 // Carry on using the item admin set by the Web version. 2185 if ( ! $group_admin_id ) { 2186 $user_can = bp_is_item_admin(); 2187 2188 // Use the provided Group Admin ID (eg: during a REST API request). 2189 } else { 2190 $user_can = bp_current_user_can( 'bp_moderate' ) || groups_is_user_admin( $group_admin_id, $group_id ); 2191 } 2192 2193 if ( ! $user_can ) { 2111 2194 return false; 2112 2195 } … … 2124 2207 do_action( 'groups_unban_member', $group_id, $user_id ); 2125 2208 2126 return $member->unban(); 2209 if ( ! $member->unban() ) { 2210 return false; 2211 } 2212 2213 /** 2214 * Fires once the group member has been successfully unbanned. 2215 * 2216 * @since 14.0.0 2217 * 2218 * @param int $user_id ID of the user being unbanned. 2219 * @param int $group_id ID of the group being unbanned from. 2220 */ 2221 do_action( 'group_member_unbanned', $user_id, $group_id ); 2222 2223 return true; 2127 2224 } 2128 2225 … … 2133 2230 * 2134 2231 * @since 1.2.6 2232 * @since 14.0.0 Adds the `$group_admin_id` parameter. 2135 2233 * 2136 2234 * @param int $user_id ID of the user. 2137 2235 * @param int $group_id ID of the group. 2236 * @param int $group_admin_id Optional. The group admin user ID. 2138 2237 * @return bool True on success, false on failure. 2139 2238 */ 2140 function groups_remove_member( $user_id, $group_id ) { 2141 2142 if ( ! bp_is_item_admin() ) { 2239 function groups_remove_member( $user_id, $group_id, $group_admin_id = 0 ) { 2240 // Carry on using the item admin set by the Web version. 2241 if ( ! $group_admin_id ) { 2242 $user_can = bp_is_item_admin(); 2243 2244 // Use the provided Group Admin ID (eg: during a REST API request). 2245 } else { 2246 $user_can = bp_current_user_can( 'bp_moderate' ) || groups_is_user_admin( $group_admin_id, $group_id ); 2247 } 2248 2249 if ( ! $user_can ) { 2143 2250 return false; 2144 2251 } … … 2156 2263 do_action( 'groups_remove_member', $group_id, $user_id ); 2157 2264 2158 return $member->remove(); 2265 if ( ! $member->remove() ) { 2266 return false; 2267 } 2268 2269 /** 2270 * Fires once the group member has been successfully removed. 2271 * 2272 * @since 14.0.0 2273 * 2274 * @param int $user_id ID of the user being unbanned. 2275 * @param int $group_id ID of the group being removed from. 2276 */ 2277 do_action( 'group_member_removed', $user_id, $group_id ); 2159 2278 } 2160 2279 -
trunk/src/bp-groups/bp-groups-notifications.php
r13808 r13873 301 301 bp_send_email( 'groups-member-promoted', (int) $user_id, $args ); 302 302 } 303 add_action( 'group s_promoted_member', 'groups_notification_promoted_member', 10, 2 );303 add_action( 'group_member_promoted', 'groups_notification_promoted_member', 10, 2 ); 304 304 305 305 /** … … 1056 1056 } 1057 1057 } 1058 add_action( 'group s_demoted_member', 'bp_groups_delete_promotion_notifications', 10, 2 );1058 add_action( 'group_member_demoted', 'bp_groups_delete_promotion_notifications', 10, 2 ); 1059 1059 1060 1060 /** -
trunk/src/bp-groups/screens/single/admin/manage-members.php
r13762 r13873 49 49 50 50 /** 51 * Fires before the redirect after a group member has been promoted. 52 * 53 * @since 1.0.0 51 * Fires before the redirect. 52 * 53 * @since 1.0.0 54 * @deprecated 14.0.0 54 55 * 55 56 * @param int $user_id ID of the user being promoted. 56 * @param int $id ID of the group useris promoted within.57 */ 58 do_action ( 'groups_promoted_member', $user_id, $bp->groups->current_group->id);57 * @param int $id ID of the group is promoted within. 58 */ 59 do_action_deprecated( 'groups_promoted_member', array( $user_id, $bp->groups->current_group->id ), '14.0.0', 'group_member_promoted' ); 59 60 60 61 bp_core_redirect( $redirect ); … … 87 88 * 88 89 * @since 1.0.0 90 * @deprecated 14.0.0 89 91 * 90 92 * @param int $user_id ID of the user being demoted. 91 * @param int $id ID of the group useris demoted within.92 */ 93 do_action ( 'groups_demoted_member', $user_id, $bp->groups->current_group->id);93 * @param int $id ID of the group is demoted within. 94 */ 95 do_action_deprecated( 'groups_demoted_member', array( $user_id, $bp->groups->current_group->id ), '14.0.0', 'group_member_demoted' ); 94 96 95 97 bp_core_redirect( $redirect ); … … 115 117 * 116 118 * @since 1.0.0 119 * @deprecated 14.0.0 117 120 * 118 121 * @param int $user_id ID of the user being banned. 119 122 * @param int $id ID of the group user is banned from. 120 123 */ 121 do_action ( 'groups_banned_member', $user_id, $bp->groups->current_group->id);124 do_action_deprecated( 'groups_banned_member', array( $user_id, $bp->groups->current_group->id ), '14.0.0', 'group_member_banned' ); 122 125 123 126 bp_core_redirect( $redirect ); … … 143 146 * 144 147 * @since 1.0.0 148 * @deprecated 14.0.0 145 149 * 146 150 * @param int $user_id ID of the user being unbanned. 147 151 * @param int $id ID of the group user is unbanned from. 148 152 */ 149 do_action ( 'groups_unbanned_member', $user_id, $bp->groups->current_group->id);153 do_action_deprecated( 'groups_unbanned_member', array( $user_id, $bp->groups->current_group->id ), '14.0.0', 'group_member_unbanned' ); 150 154 151 155 bp_core_redirect( $redirect ); … … 171 175 * 172 176 * @since 1.2.6 177 * @deprecated 14.0.0 173 178 * 174 179 * @param int $user_id ID of the user being removed. 175 180 * @param int $id ID of the group the user is removed from. 176 181 */ 177 do_action ( 'groups_removed_member', $user_id, $bp->groups->current_group->id);182 do_action_deprecated( 'groups_removed_member', array( $user_id, $bp->groups->current_group->id ), '14.0.0', 'group_member_removed' ); 178 183 179 184 bp_core_redirect( $redirect ); -
trunk/tests/phpunit/testcases/groups/notifications.php
r13314 r13873 182 182 183 183 // fire the hook 184 do_action( 'group s_demoted_member', $u, $g );184 do_action( 'group_member_demoted', $u, $g ); 185 185 186 186 $notifications = BP_Notifications_Notification::get( array( … … 206 206 207 207 // fire the hook 208 do_action( 'group s_demoted_member', $u, $g );208 do_action( 'group_member_demoted', $u, $g ); 209 209 210 210 $notifications = BP_Notifications_Notification::get( array(
Note: See TracChangeset
for help on using the changeset viewer.