| | 2250 | function bb_user_delete_link( $args = '' ) { |
| | 2251 | echo bb_get_user_delete_link( $args ); |
| | 2252 | } |
| | 2253 | |
| | 2254 | function bb_get_user_delete_link( $args = '' ) { |
| | 2255 | $defaults = array( 'id' => 0, 'before' => '[', 'after' => ']', 'delete_text' => false, 'redirect' => true ); |
| | 2256 | extract(wp_parse_args( $args, $defaults ), EXTR_SKIP); |
| | 2257 | $id = (int) $id; |
| | 2258 | |
| | 2259 | $user = bb_get_user( bb_get_user_id( $id ) ); |
| | 2260 | |
| | 2261 | if ( !$user || !bb_current_user_can( 'edit_user', $user->ID ) ) |
| | 2262 | return; |
| | 2263 | |
| | 2264 | $bb_current_id = bb_get_current_user_info( 'id' ); |
| | 2265 | if ( $bb_current_id == $user->ID ) |
| | 2266 | return; |
| | 2267 | |
| | 2268 | if ( true === $redirect ) |
| | 2269 | $redirect = add_query_arg( bb_is_admin() ? array() : array( 'view' => 'all' ) ); |
| | 2270 | |
| | 2271 | $query = array( 'id' => $user->ID, '_wp_http_referer' => $redirect ? rawurlencode( $redirect ) : false ); |
| | 2272 | $confirm = __( 'Are you sure you wanna delete that user?' ); |
| | 2273 | $display = esc_html( $delete_text ? $delete_text : __( 'Delete user' ) ); |
| | 2274 | $uri = bb_get_uri('bb-admin/delete-user.php', $query, BB_URI_CONTEXT_A_HREF + BB_URI_CONTEXT_BB_ADMIN); |
| | 2275 | $uri = esc_url( bb_nonce_url( $uri, 'delete-user_' . $user->ID ) ); |
| | 2276 | |
| | 2277 | return $before . '<a href="' . $uri . '" onclick="return confirm(\'' . esc_js( $confirm ) . '\');">' . $display . '</a>' . $after; |
| | 2278 | } |
| | 2279 | |