Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function shmoo_bbp_user_subscribe_check( $args = '', $user_id = 0 ) {
- echo shmoo_bbp_get_user_subscribe_check( $args, $user_id );
- }
- function shmoo_bbp_get_user_subscribe_check( $args = '', $user_id = 0 ) {
- if ( ! bbp_is_subscriptions_active() ) {
- return;
- }
- // Parse arguments against default values
- $r = bbp_parse_args( $args, array(
- 'subscribe' => 'nope',
- 'unsubscribe' => 'yes',
- 'user_id' => 0,
- 'topic_id' => 0,
- 'forum_id' => 0,
- ), 'get_user_subscribe_link' );
- // Validate user and object ID's
- $user_id = bbp_get_user_id( $r['user_id'], true, true );
- $topic_id = bbp_get_topic_id( $r['topic_id'] );
- $forum_id = bbp_get_forum_id( $r['forum_id'] );
- if ( empty( $user_id ) || ( empty( $topic_id ) && empty( $forum_id ) ) ) {
- return false;
- }
- // No link if you can't edit yourself
- if ( ! current_user_can( 'edit_user', (int) $user_id ) ) {
- return false;
- }
- // Check if viewing a single forum
- if ( empty( $topic_id ) && ! empty( $forum_id ) ) {
- // Decide which link to show
- $is_subscribed = bbp_is_user_subscribed_to_forum( $user_id, $forum_id );
- if ( ! empty( $is_subscribed ) ) {
- $text = $r['unsubscribe'];
- $query_args = array( 'action' => 'bbp_unsubscribe', 'forum_id' => $forum_id );
- } else {
- $text = $r['subscribe'];
- $query_args = array( 'action' => 'bbp_subscribe', 'forum_id' => $forum_id );
- }
- $sub = $is_subscribed ? 'is-subscribed' : '';
- $html = sprintf( '%s', $sub );
- } else {
- // Decide which link to show
- $is_subscribed = bbp_is_user_subscribed_to_topic( $user_id, $topic_id );
- if ( ! empty( $is_subscribed ) ) {
- $text = $r['unsubscribe'];
- $query_args = array( 'action' => 'bbp_unsubscribe', 'topic_id' => $topic_id );
- } else {
- $text = $r['subscribe'];
- $query_args = array( 'action' => 'bbp_subscribe', 'topic_id' => $topic_id );
- }
- $sub = $is_subscribed ? 'is-subscribed' : '';
- $html = sprintf( '%s', $sub );
- }
- // Return the link
- return apply_filters( 'bbp_get_user_subscribe_link', $html, $r, $user_id, $topic_id );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement