function bphelp_pbpp_redirect() { global $bp; //IMPORTANT: Do not alter the following line. $bphelp_my_redirect_slug = get_option('bphelp-my-redirect-slug', 'register'); if (bp_is_activity_component() || bp_is_groups_component() || bp_is_group_forum() || bbp_is_single_forum() || bbp_is_single_topic() || bp_is_forums_component() || bp_is_blogs_component() || bp_is_members_component() || bp_is_profile_component()) { if (!is_user_logged_in()) { bp_core_redirect(get_option('home') . '/' . $bphelp_my_redirect_slug); } } }
function logged_out_redirect() { global $bp; // BuddyPress components to lock if (bp_is_activity_component() || bp_is_groups_component() || bp_is_group_forum() || bp_is_forums_component() || bp_is_blogs_component() || bp_is_page(BP_MEMBERS_SLUG) || bp_is_profile_component()) { // Check if user is logged out if (!is_user_logged_in()) { // Check if a page was selected for redirection if (of_get_option('redirect')) { $redirect_page = get_permalink(of_get_option('redirect')); // If not redirect to login page } else { $redirect_page = site_url('/wp-login.php'); } wp_redirect($redirect_page); exit; } } }
/** * Returns a 'New Topic' button for a group. * * @since 1.2.7 * * @param BP_Groups_Group|bool $group The BP Groups_Group object if * passed, boolean false if not passed. * @return string HTML code for the button. */ function bp_get_group_new_topic_button($group = false) { global $groups_template; if (empty($group)) { $group =& $groups_template->group; } if (!is_user_logged_in() || bp_group_is_user_banned() || !bp_is_group_forum() || bp_is_group_forum_topic()) { return false; } $button = array('id' => 'new_topic', 'component' => 'groups', 'must_be_logged_in' => true, 'block_self' => true, 'wrapper_class' => 'group-button', 'link_href' => '#post-new', 'link_class' => 'group-button show-hide-new', 'link_id' => 'new-topic-button', 'link_text' => __('New Topic', 'buddypress'), 'link_title' => __('New Topic', 'buddypress')); /** * Filters the HTML button for creating a new topic in a group. * * @since 1.5.0 * @since 2.5.0 Added the `$group` parameter. * * @param string $button HTML button for a new topic. * @param object $group Group object. */ return bp_get_button(apply_filters('bp_get_group_new_topic_button', $button, $group)); }
function set_title($default, $sep = "|") { global $wp_query; global $rtmedia_seo_title; if (!array_key_exists(RTMEDIA_MEDIA_SLUG, $wp_query->query_vars)) { return $default; } $title = ""; $oldSep = " " . $sep . " "; $sep = ""; global $bp; global $rtmedia_query; if (isset($rtmedia_query->query) && isset($rtmedia_query->query["media_type"])) { if ($rtmedia_query->query["media_type"] == "album") { if (isset($rtmedia_query->media_query) && isset($rtmedia_query->media_query["album_id"])) { //print_r( $rtmedia_query ); die(); if (is_array($rtmedia_query->album) && count($rtmedia_query->album) > 0) { foreach ($rtmedia_query->album as $single_album) { if (intval($single_album->id) == intval($rtmedia_query->media_query["album_id"])) { $title .= $sep . stripslashes(esc_html(ucfirst($single_album->media_title))); $sep = $oldSep; } } } } } else { if (isset($rtmedia_query->media) && $rtmedia_query->media && count($rtmedia_query->media) > 0) { $title .= $sep . stripslashes(esc_html(ucfirst($rtmedia_query->media[0]->media_title))); $sep = $oldSep; } $title .= $sep . ucfirst($rtmedia_query->query["media_type"]); $sep = $oldSep; } } else { if (isset($rtmedia_query->action_query) && isset($rtmedia_query->action_query->media_type)) { $title .= $sep . ucfirst($rtmedia_query->action_query->media_type); $sep = $oldSep; } } if (function_exists("bp_is_group")) { if (bp_is_group() or bp_is_group_forum() or bp_is_group_forum_topic()) { if (bp_is_group_forum_topic()) { $title .= $sep . bp_get_the_topic_title(); $sep = $oldSep; } $title .= $sep . bp_get_current_group_name(); $sep = $oldSep; } } if (function_exists("bp_get_displayed_user_fullname") && bp_displayed_user_id() != 0) { $title .= $sep . bp_get_displayed_user_fullname(); $sep = $oldSep; } else { $user_info = get_userdata(get_current_user_id()); if (isset($user_info->data->display_name)) { $title .= $sep . $user_info->data->display_name; $sep = $oldSep; } } $title .= $sep . RTMEDIA_MEDIA_LABEL; $sep = $oldSep; if (isset($this->context->type)) { switch ($this->context->type) { case 'group': $title .= $sep . ucfirst($bp->groups->slug); break; case 'profile': if (class_exists('BuddyPress')) { $title .= $sep . ucfirst($bp->profile->slug); } else { $title .= $sep . get_query_var('author_name'); } break; default: $title .= $sep . get_post_field('post_title', $this->context->id); break; } } $title .= $sep . get_bloginfo('name'); $rtmedia_seo_title = $title; return apply_filters("rtmedia_wp_title", $title, $default, $sep); }
/** * Customize the body class, according to the currently displayed BP content. * * Uses the above is_() functions to output a body class for each scenario. * * @since 1.1.0 * * @param array $wp_classes The body classes coming from WP. * @param array|bool $custom_classes Classes that were passed to get_body_class(). * @return array $classes The BP-adjusted body classes. */ function bp_get_the_body_class($wp_classes = array(), $custom_classes = false) { $bp_classes = array(); /* Pages *************************************************************/ if (is_front_page()) { $bp_classes[] = 'home-page'; } if (bp_is_directory()) { $bp_classes[] = 'directory'; } if (bp_is_single_item()) { $bp_classes[] = 'single-item'; } /* Components ********************************************************/ if (!bp_is_blog_page()) { if (bp_is_user_profile()) { $bp_classes[] = 'xprofile'; } if (bp_is_activity_component()) { $bp_classes[] = 'activity'; } if (bp_is_blogs_component()) { $bp_classes[] = 'blogs'; } if (bp_is_messages_component()) { $bp_classes[] = 'messages'; } if (bp_is_friends_component()) { $bp_classes[] = 'friends'; } if (bp_is_groups_component()) { $bp_classes[] = 'groups'; } if (bp_is_settings_component()) { $bp_classes[] = 'settings'; } } /* User **************************************************************/ if (bp_is_user()) { $bp_classes[] = 'bp-user'; // Add current user member types. if ($member_types = bp_get_member_type(bp_displayed_user_id(), false)) { foreach ($member_types as $member_type) { $bp_classes[] = sprintf('member-type-%s', esc_attr($member_type)); } } } if (!bp_is_directory()) { if (bp_is_user_blogs()) { $bp_classes[] = 'my-blogs'; } if (bp_is_user_groups()) { $bp_classes[] = 'my-groups'; } if (bp_is_user_activity()) { $bp_classes[] = 'my-activity'; } } else { if (bp_get_current_member_type()) { $bp_classes[] = 'type'; } } if (bp_is_my_profile()) { $bp_classes[] = 'my-account'; } if (bp_is_user_profile()) { $bp_classes[] = 'my-profile'; } if (bp_is_user_friends()) { $bp_classes[] = 'my-friends'; } if (bp_is_user_messages()) { $bp_classes[] = 'my-messages'; } if (bp_is_user_recent_commments()) { $bp_classes[] = 'recent-comments'; } if (bp_is_user_recent_posts()) { $bp_classes[] = 'recent-posts'; } if (bp_is_user_change_avatar()) { $bp_classes[] = 'change-avatar'; } if (bp_is_user_profile_edit()) { $bp_classes[] = 'profile-edit'; } if (bp_is_user_friends_activity()) { $bp_classes[] = 'friends-activity'; } if (bp_is_user_groups_activity()) { $bp_classes[] = 'groups-activity'; } /* Messages **********************************************************/ if (bp_is_messages_inbox()) { $bp_classes[] = 'inbox'; } if (bp_is_messages_sentbox()) { $bp_classes[] = 'sentbox'; } if (bp_is_messages_compose_screen()) { $bp_classes[] = 'compose'; } if (bp_is_notices()) { $bp_classes[] = 'notices'; } if (bp_is_user_friend_requests()) { $bp_classes[] = 'friend-requests'; } if (bp_is_create_blog()) { $bp_classes[] = 'create-blog'; } /* Groups ************************************************************/ if (bp_is_group()) { $bp_classes[] = 'group-' . groups_get_current_group()->slug; // Add current group types. if ($group_types = bp_groups_get_group_type(bp_get_current_group_id(), false)) { foreach ($group_types as $group_type) { $bp_classes[] = sprintf('group-type-%s', esc_attr($group_type)); } } } if (bp_is_group_leave()) { $bp_classes[] = 'leave-group'; } if (bp_is_group_invites()) { $bp_classes[] = 'group-invites'; } if (bp_is_group_members()) { $bp_classes[] = 'group-members'; } if (bp_is_group_forum_topic()) { $bp_classes[] = 'group-forum-topic'; } if (bp_is_group_forum_topic_edit()) { $bp_classes[] = 'group-forum-topic-edit'; } if (bp_is_group_forum()) { $bp_classes[] = 'group-forum'; } if (bp_is_group_admin_page()) { $bp_classes[] = 'group-admin'; $bp_classes[] = bp_get_group_current_admin_tab(); } if (bp_is_group_create()) { $bp_classes[] = 'group-create'; $bp_classes[] = bp_get_groups_current_create_step(); } if (bp_is_group_home()) { $bp_classes[] = 'group-home'; } if (bp_is_single_activity()) { $bp_classes[] = 'activity-permalink'; } /* Registration ******************************************************/ if (bp_is_register_page()) { $bp_classes[] = 'registration'; } if (bp_is_activation_page()) { $bp_classes[] = 'activation'; } /* Current Component & Action ****************************************/ if (!bp_is_blog_page()) { $bp_classes[] = bp_current_component(); $bp_classes[] = bp_current_action(); } /* Clean up ***********************************************************/ // Add BuddyPress class if we are within a BuddyPress page. if (!bp_is_blog_page()) { $bp_classes[] = 'buddypress'; } // Merge WP classes with BuddyPress classes and remove any duplicates. $classes = array_unique(array_merge((array) $bp_classes, (array) $wp_classes)); /** * Filters the BuddyPress classes to be added to body_class() * * @since 1.1.0 * * @param array $classes Array of body classes to add. * @param array $bp_classes Array of BuddyPress-based classes. * @param array $wp_classes Array of WordPress-based classes. * @param array $custom_classes Array of classes that were passed to get_body_class(). */ return apply_filters('bp_get_the_body_class', $classes, $bp_classes, $wp_classes, $custom_classes); }
function bp_get_the_body_class($nxt_classes, $custom_classes = false) { $bp_classes = array(); /** Pages *************************************************************/ if (is_front_page()) { $bp_classes[] = 'home-page'; } if (bp_is_directory()) { $bp_classes[] = 'directory'; } if (bp_is_single_item()) { $bp_classes[] = 'single-item'; } /** Components ********************************************************/ if (!bp_is_blog_page()) { if (bp_is_user_profile()) { $bp_classes[] = 'xprofile'; } if (bp_is_activity_component()) { $bp_classes[] = 'activity'; } if (bp_is_blogs_component()) { $bp_classes[] = 'blogs'; } if (bp_is_messages_component()) { $bp_classes[] = 'messages'; } if (bp_is_friends_component()) { $bp_classes[] = 'friends'; } if (bp_is_groups_component()) { $bp_classes[] = 'groups'; } if (bp_is_settings_component()) { $bp_classes[] = 'settings'; } } /** User **************************************************************/ if (!bp_is_directory()) { if (bp_is_user_blogs()) { $bp_classes[] = 'my-blogs'; } if (bp_is_user_groups()) { $bp_classes[] = 'my-groups'; } if (bp_is_user_activity()) { $bp_classes[] = 'my-activity'; } } if (bp_is_my_profile()) { $bp_classes[] = 'my-account'; } if (bp_is_user_profile()) { $bp_classes[] = 'my-profile'; } if (bp_is_user_friends()) { $bp_classes[] = 'my-friends'; } if (bp_is_user_messages()) { $bp_classes[] = 'my-messages'; } if (bp_is_user_recent_commments()) { $bp_classes[] = 'recent-comments'; } if (bp_is_user_recent_posts()) { $bp_classes[] = 'recent-posts'; } if (bp_is_user_change_avatar()) { $bp_classes[] = 'change-avatar'; } if (bp_is_user_profile_edit()) { $bp_classes[] = 'profile-edit'; } if (bp_is_user_friends_activity()) { $bp_classes[] = 'friends-activity'; } if (bp_is_user_groups_activity()) { $bp_classes[] = 'groups-activity'; } if (is_user_logged_in()) { $bp_classes[] = 'logged-in'; } /** Messages **********************************************************/ if (bp_is_messages_inbox()) { $bp_classes[] = 'inbox'; } if (bp_is_messages_sentbox()) { $bp_classes[] = 'sentbox'; } if (bp_is_messages_compose_screen()) { $bp_classes[] = 'compose'; } if (bp_is_notices()) { $bp_classes[] = 'notices'; } if (bp_is_user_friend_requests()) { $bp_classes[] = 'friend-requests'; } if (bp_is_create_blog()) { $bp_classes[] = 'create-blog'; } /** Groups ************************************************************/ if (bp_is_group_leave()) { $bp_classes[] = 'leave-group'; } if (bp_is_group_invites()) { $bp_classes[] = 'group-invites'; } if (bp_is_group_members()) { $bp_classes[] = 'group-members'; } if (bp_is_group_forum_topic()) { $bp_classes[] = 'group-forum-topic'; } if (bp_is_group_forum_topic_edit()) { $bp_classes[] = 'group-forum-topic-edit'; } if (bp_is_group_forum()) { $bp_classes[] = 'group-forum'; } if (bp_is_group_admin_page()) { $bp_classes[] = 'group-admin'; } if (bp_is_group_create()) { $bp_classes[] = 'group-create'; } if (bp_is_group_home()) { $bp_classes[] = 'group-home'; } if (bp_is_single_activity()) { $bp_classes[] = 'activity-permalink'; } /** Registration ******************************************************/ if (bp_is_register_page()) { $bp_classes[] = 'registration'; } if (bp_is_activation_page()) { $bp_classes[] = 'activation'; } /** Current Component & Action ****************************************/ if (!bp_is_blog_page()) { $bp_classes[] = bp_current_component(); $bp_classes[] = bp_current_action(); } /** Clean up***********************************************************/ // We don't want NXTClass blog classes to appear on non-blog pages. if (!bp_is_blog_page()) { // Preserve any custom classes already set if (!empty($custom_classes)) { $nxt_classes = (array) $custom_classes; } else { $nxt_classes = array(); } } // Merge nxt classes with BP classes $classes = array_merge((array) $bp_classes, (array) $nxt_classes); // Remove any duplicates $classes = array_unique($classes); return apply_filters('bp_get_the_body_class', $classes, $bp_classes, $nxt_classes, $custom_classes); }
function bp_get_the_body_class( $wp_classes, $custom_classes = false ) { global $bp; if ( bp_is_front_page() ) $bp_classes[] = 'home-page'; if ( bp_is_directory() ) $bp_classes[] = 'directory'; if ( bp_is_user_profile() && !bp_is_blog_page() ) $bp_classes[] = 'profile'; if ( bp_is_activity_component() && !bp_is_blog_page() || ( bp_is_activity_front_page() && bp_is_front_page() ) ) $bp_classes[] = 'activity'; if ( bp_is_blogs_component() && !bp_is_blog_page() ) $bp_classes[] = 'blogs'; if ( bp_is_messages_component() && !bp_is_blog_page() ) $bp_classes[] = 'messages'; if ( bp_is_friends_component() && !bp_is_blog_page() ) $bp_classes[] = 'friends'; if ( bp_is_groups_component() && !bp_is_blog_page() ) $bp_classes[] = 'groups'; if ( bp_is_settings_component() && !bp_is_blog_page() ) $bp_classes[] = 'settings'; if ( bp_is_single_item() ) $bp_classes[] = 'single-item'; if ( bp_is_messages_inbox() ) $bp_classes[] = 'inbox'; if ( bp_is_messages_sentbox() ) $bp_classes[] = 'sentbox'; if ( bp_is_messages_compose_screen() ) $bp_classes[] = 'compose'; if ( bp_is_notices() ) $bp_classes[] = 'notices'; if ( bp_is_friend_requests() ) $bp_classes[] = 'friend-requests'; if ( bp_is_user_friends() ) $bp_classes[] = 'my-friends'; if ( bp_is_create_blog() ) $bp_classes[] = 'create-blog'; if ( bp_is_user_recent_commments() ) $bp_classes[] = 'recent-comments'; if ( bp_is_user_recent_posts() ) $bp_classes[] = 'recent-posts'; if ( bp_is_user_blogs() && !bp_is_directory() ) $bp_classes[] = 'my-blogs'; if ( bp_is_user_groups() && !bp_is_directory() ) $bp_classes[] = 'my-groups'; if ( bp_is_group_leave() ) $bp_classes[] = 'leave-group'; if ( bp_is_group_invites() ) $bp_classes[] = 'group-invites'; if ( bp_is_group_members() ) $bp_classes[] = 'group-members'; if ( bp_is_group_forum_topic() ) $bp_classes[] = 'group-forum-topic'; if ( bp_is_group_forum_topic_edit() ) $bp_classes[] = 'group-forum-topic-edit'; if ( bp_is_group_forum() ) $bp_classes[] = 'group-forum'; if ( bp_is_group_admin_page() ) $bp_classes[] = 'group-admin'; if ( bp_is_group_create() ) $bp_classes[] = 'group-create'; if ( bp_is_group_home() ) $bp_classes[] = 'group-home'; if ( bp_is_change_avatar() ) $bp_classes[] = 'change-avatar'; if ( bp_is_profile_edit() ) $bp_classes[] = 'profile-edit'; if ( bp_is_user_friends_activity() ) $bp_classes[] = 'friends-activity'; if ( bp_is_user_activity() && !bp_is_directory() ) $bp_classes[] = 'my-activity'; if ( bp_is_activity_permalink() ) $bp_classes[] = 'activity-permalink'; if ( bp_is_register_page() ) $bp_classes[] = 'registration'; if ( bp_is_activation_page() ) $bp_classes[] = 'activation'; if ( is_user_logged_in() ) $bp_classes[] = 'logged-in'; /* Add the current_component, current_action into the bp classes */ if ( !bp_is_blog_page() ) { if ( !empty( $bp->current_component ) ) $bp_classes[] = $bp->current_component; if ( !empty( $bp->current_action ) ) $bp_classes[] = $bp->current_action; } /* We don't want WordPress blog classes to appear on non-blog pages. */ if ( !bp_is_blog_page() || is_home() ) { /* Preserve any custom classes already set */ if ( !empty( $custom_classes ) ) $wp_classes = (array) $custom_classes; else $wp_classes = array(); } /* Merge WP classes with BP classes */ $classes = array_merge( (array) $bp_classes, (array) $wp_classes ); /* Remove any duplicates */ $classes = array_unique( $classes ); return apply_filters( 'bp_get_the_body_class', $classes, $bp_classes, $wp_classes, $custom_classes ); }
// Not looking at home } else { // Group Admin if (bp_is_group_admin_page()) { bp_get_template_part('groups/single/admin'); // Group Activity } elseif (bp_is_group_activity()) { bp_get_template_part('groups/single/activity'); // Group Members } elseif (bp_is_group_members()) { bp_groups_members_template_part(); // Group Invitations } elseif (bp_is_group_invites()) { bp_get_template_part('groups/single/send-invites'); // Old group forums } elseif (bp_is_group_forum()) { bp_get_template_part('groups/single/forum'); // Membership request } elseif (bp_is_group_membership_request()) { bp_get_template_part('groups/single/request-membership'); // Anything else (plugins mostly) } else { bp_get_template_part('groups/single/plugins'); } } /** * Fires after the display of the group home body. * * @since 1.2.0 */ do_action('bp_after_group_body');
/** * Returns a 'New Topic' button for a group. * * @since BuddyPress (1.2.7) * * @param BP_Groups_Group|bool $group The BP Groups_Group object if passed, boolean false if not passed. * @uses is_user_logged_in() Is there a user logged in? * @uses bp_group_is_user_banned() Is the current user banned from the current group? * @uses bp_is_group_forum() Are we on a group forum page? * @uses bp_is_group_forum_topic() Are we on a group topic page? * @uses bp_get_button() Renders a button * @return string HTML code for the button */ function bp_get_group_new_topic_button($group = false) { global $groups_template; if (empty($group)) { $group =& $groups_template->group; } if (!is_user_logged_in() || bp_group_is_user_banned() || !bp_is_group_forum() || bp_is_group_forum_topic()) { return false; } $button = array('id' => 'new_topic', 'component' => 'groups', 'must_be_logged_in' => true, 'block_self' => true, 'wrapper_class' => 'group-button', 'link_href' => '#post-new', 'link_class' => 'group-button show-hide-new', 'link_id' => 'new-topic-button', 'link_text' => __('New Topic', 'buddypress'), 'link_title' => __('New Topic', 'buddypress')); // Filter and return the HTML button return bp_get_button(apply_filters('bp_get_group_new_topic_button', $button)); }
<tbody> <?php while ( bp_forum_topics() ) : bp_the_forum_topic(); ?> <tr class="<?php bp_the_topic_css_class() ?>"> <td class="td-title"> <a class="topic-title" href="<?php bp_the_topic_permalink() ?>" title="<?php bp_the_topic_title() ?> - <?php _e( 'Permalink', 'buddypress' ) ?>"> <?php bp_the_topic_title() ?> </a> </td> <td class="td-poster"> <a href="<?php bp_the_topic_permalink() ?>"><?php bp_the_topic_last_poster_avatar( 'type=thumb&width=20&height=20' ) ?></a> <div class="poster-name"><?php bp_the_topic_last_poster_name() ?></div> </td> <?php if ( !bp_is_group_forum() ) : ?> <td class="td-group"> <a href="<?php bp_the_topic_object_permalink() ?>"><?php bp_the_topic_object_avatar( 'type=thumb&width=20&height=20' ) ?></a> <div class="object-name"><a href="<?php bp_the_topic_object_permalink() ?>" title="<?php bp_the_topic_object_name() ?>"><?php bp_the_topic_object_name() ?></a></div> </td> <?php endif; ?> <td class="td-postcount"> <?php bp_the_topic_total_posts() ?> </td> <td class="td-freshness"> <?php bp_the_topic_time_since_last_post() ?> </td> <?php do_action( 'bp_directory_forums_extra_cell' ) ?> </tr>
/** * Used in the bbPress plugin * * @since 0.6 */ function ray_get_the_author_display_name($name, $user_id) { // test to see if we're on a BP group forum page or on any bbPress page if (bp_is_group_forum() || function_exists('bbpress') && is_bbpress()) { // cache username queries with static variable // // tried stuffing in $bp global but didn't work properly // probably due to object buffering in bbP static $bp_uso_data = array(); $name = false; // try to get locally-cached value first if (!empty($bp_uso_data[$user_id])) { $name = $bp_uso_data[$user_id]; } // no cached value, so query for it if ($name === false) { $field = bp_is_username_compatibility_mode() ? 'user_login' : 'user_nicename'; $name = get_the_author_meta($field, $user_id); // cache it for later use in the loop $bp_uso_data[$user_id] = $name; } } return $name; }
function bp_get_the_body_class($wp_classes = array(), $custom_classes = false) { $bp_classes = array(); /** Pages *************************************************************/ if (is_front_page()) { $bp_classes[] = 'home-page'; } if (bp_is_directory()) { $bp_classes[] = 'directory'; } if (bp_is_single_item()) { $bp_classes[] = 'single-item'; } /** Components ********************************************************/ if (!bp_is_blog_page()) { if (bp_is_user_profile()) { $bp_classes[] = 'xprofile'; } if (bp_is_activity_component()) { $bp_classes[] = 'activity'; } if (bp_is_blogs_component()) { $bp_classes[] = 'blogs'; } if (bp_is_messages_component()) { $bp_classes[] = 'messages'; } if (bp_is_friends_component()) { $bp_classes[] = 'friends'; } if (bp_is_groups_component()) { $bp_classes[] = 'groups'; } if (bp_is_settings_component()) { $bp_classes[] = 'settings'; } } /** User **************************************************************/ if (bp_is_user()) { $bp_classes[] = 'bp-user'; } if (!bp_is_directory()) { if (bp_is_user_blogs()) { $bp_classes[] = 'my-blogs'; } if (bp_is_user_groups()) { $bp_classes[] = 'my-groups'; } if (bp_is_user_activity()) { $bp_classes[] = 'my-activity'; } } if (bp_is_my_profile()) { $bp_classes[] = 'my-account'; } if (bp_is_user_profile()) { $bp_classes[] = 'my-profile'; } if (bp_is_user_friends()) { $bp_classes[] = 'my-friends'; } if (bp_is_user_messages()) { $bp_classes[] = 'my-messages'; } if (bp_is_user_recent_commments()) { $bp_classes[] = 'recent-comments'; } if (bp_is_user_recent_posts()) { $bp_classes[] = 'recent-posts'; } if (bp_is_user_change_avatar()) { $bp_classes[] = 'change-avatar'; } if (bp_is_user_profile_edit()) { $bp_classes[] = 'profile-edit'; } if (bp_is_user_friends_activity()) { $bp_classes[] = 'friends-activity'; } if (bp_is_user_groups_activity()) { $bp_classes[] = 'groups-activity'; } /** Messages **********************************************************/ if (bp_is_messages_inbox()) { $bp_classes[] = 'inbox'; } if (bp_is_messages_sentbox()) { $bp_classes[] = 'sentbox'; } if (bp_is_messages_compose_screen()) { $bp_classes[] = 'compose'; } if (bp_is_notices()) { $bp_classes[] = 'notices'; } if (bp_is_user_friend_requests()) { $bp_classes[] = 'friend-requests'; } if (bp_is_create_blog()) { $bp_classes[] = 'create-blog'; } /** Groups ************************************************************/ if (bp_is_group()) { $bp_classes[] = 'group-' . groups_get_current_group()->slug; } if (bp_is_group_leave()) { $bp_classes[] = 'leave-group'; } if (bp_is_group_invites()) { $bp_classes[] = 'group-invites'; } if (bp_is_group_members()) { $bp_classes[] = 'group-members'; } if (bp_is_group_forum_topic()) { $bp_classes[] = 'group-forum-topic'; } if (bp_is_group_forum_topic_edit()) { $bp_classes[] = 'group-forum-topic-edit'; } if (bp_is_group_forum()) { $bp_classes[] = 'group-forum'; } if (bp_is_group_admin_page()) { $bp_classes[] = 'group-admin'; $bp_classes[] = bp_get_group_current_admin_tab(); } if (bp_is_group_create()) { $bp_classes[] = 'group-create'; $bp_classes[] = bp_get_groups_current_create_step(); } if (bp_is_group_home()) { $bp_classes[] = 'group-home'; } if (bp_is_single_activity()) { $bp_classes[] = 'activity-permalink'; } /** Registration ******************************************************/ if (bp_is_register_page()) { $bp_classes[] = 'registration'; } if (bp_is_activation_page()) { $bp_classes[] = 'activation'; } /** Current Component & Action ****************************************/ if (!bp_is_blog_page()) { $bp_classes[] = bp_current_component(); $bp_classes[] = bp_current_action(); } /** Clean up ***********************************************************/ // Add BuddyPress class if we are within a BuddyPress page if (!bp_is_blog_page()) { $bp_classes[] = 'buddypress'; } // Merge WP classes with BuddyPress classes and remove any duplicates $classes = array_unique(array_merge((array) $bp_classes, (array) $wp_classes)); return apply_filters('bp_get_the_body_class', $classes, $bp_classes, $wp_classes, $custom_classes); }
function site_layout($layout) { global $bp; if (!$this->is_blog_page() && (bp_is_group_forum() || isset($bp->component) && $bp->component == 'forum')) { $forum_layout = $this->get_option('forum_layout'); if (!empty($forum_layout)) { return $forum_layout; } } return $layout; }
/** * Check if this is a BuddyPress page or not. * Returns true or false (boolean) */ function shoestrap_is_bp() { $bp = false; /** Pages *************************************************************/ if (!$bp && bp_is_directory()) { $bp = true; } elseif (!$bp && bp_is_single_item()) { $bp = true; } elseif (!$bp && bp_is_user_profile()) { $bp = true; } elseif (!$bp && bp_is_activity_component()) { $bp = true; } elseif (!$bp && bp_is_blogs_component()) { $bp = true; } elseif (!$bp && bp_is_messages_component()) { $bp = true; } elseif (!$bp && bp_is_friends_component()) { $bp = true; } elseif (!$bp && bp_is_groups_component()) { $bp = true; } elseif (!$bp && bp_is_settings_component()) { $bp = true; } elseif (!$bp && bp_is_user()) { $bp = true; } elseif (!$bp && bp_is_user_blogs()) { $bp = true; } elseif (!$bp && bp_is_user_groups()) { $bp = true; } elseif (!$bp && bp_is_user_activity()) { $bp = true; } elseif (!$bp && bp_is_my_profile()) { $bp = true; } elseif (!$bp && bp_is_user_profile()) { $bp = true; } elseif (!$bp && bp_is_user_friends()) { $bp = true; } elseif (!$bp && bp_is_user_messages()) { $bp = true; } elseif (!$bp && bp_is_user_recent_commments()) { $bp = true; } elseif (!$bp && bp_is_user_recent_posts()) { $bp = true; } elseif (!$bp && bp_is_user_change_avatar()) { $bp = true; } elseif (!$bp && bp_is_user_profile_edit()) { $bp = true; } elseif (!$bp && bp_is_user_friends_activity()) { $bp = true; } elseif (!$bp && bp_is_user_groups_activity()) { $bp = true; } elseif (!$bp && is_user_logged_in()) { $bp = true; } elseif (!$bp && bp_is_messages_inbox()) { $bp = true; } elseif (!$bp && bp_is_messages_sentbox()) { $bp = true; } elseif (!$bp && bp_is_messages_compose_screen()) { $bp = true; } elseif (!$bp && bp_is_notices()) { $bp = true; } elseif (!$bp && bp_is_user_friend_requests()) { $bp = true; } elseif (!$bp && bp_is_create_blog()) { $bp = true; } elseif (!$bp && bp_is_group_leave()) { $bp = true; } elseif (!$bp && bp_is_group_invites()) { $bp = true; } elseif (!$bp && bp_is_group_members()) { $bp = true; } elseif (!$bp && bp_is_group_forum_topic()) { $bp = true; } elseif (!$bp && bp_is_group_forum_topic_edit()) { $bp = true; } elseif (!$bp && bp_is_group_forum()) { $bp = true; } elseif (!$bp && bp_is_group_admin_page()) { $bp = true; } elseif (!$bp && bp_is_group_create()) { $bp = true; } elseif (!$bp && bp_is_group_home()) { $bp = true; } elseif (!$bp && bp_is_single_activity()) { $bp = true; } elseif (!$bp && bp_is_register_page()) { $bp = true; } elseif (!$bp && bp_is_activation_page()) { $bp = true; } elseif (!$bp && !bp_is_blog_page()) { $bp = true; } return $bp; }
/** * Similar to the post_class() function, but for BP. This is NOT used by core Suffusion, but is useful for child themes using BP. * This might be defined by the Suffusion BuddyPress Pack for BP users of Suffusion, but is included conditionally here so * that the theme and the plugin can be used independently of each other and so that one version of Suffusion can work with an older * version of the BP pack. * * @since 3.6.7 * @param bool $custom * @param bool $echo * @return bool|string */ function suffusion_bp_content_class($custom = false, $echo = true) { if (!function_exists('bp_is_group')) { return false; } $css = array(); $css[] = 'post'; if (function_exists('bp_is_profile_component') && bp_is_profile_component()) { $css[] = 'profile-component'; } if (function_exists('bp_is_activity_component') && bp_is_activity_component()) { $css[] = 'activity-component'; } if (function_exists('bp_is_blogs_component') && bp_is_blogs_component()) { $css[] = 'blogs-component'; } if (function_exists('bp_is_messages_component') && bp_is_messages_component()) { $css[] = 'messages-component'; } if (function_exists('bp_is_friends_component') && bp_is_friends_component()) { $css[] = 'friends-component'; } if (function_exists('bp_is_groups_component') && bp_is_groups_component()) { $css[] = 'groups-component'; } if (function_exists('bp_is_settings_component') && bp_is_settings_component()) { $css[] = 'settings-component'; } if (function_exists('bp_is_member') && bp_is_member()) { $css[] = 'member'; } if (function_exists('bp_is_user_activity') && bp_is_user_activity()) { $css[] = 'user-activity'; } if (function_exists('bp_is_user_friends_activity') && bp_is_user_friends_activity()) { $css[] = 'user-friends-activity'; } if (function_exists('bp_is_activity_permalink') && bp_is_activity_permalink()) { $css[] = 'activity-permalink'; } if (function_exists('bp_is_user_profile') && bp_is_user_profile()) { $css[] = 'user-profile'; } if (function_exists('bp_is_profile_edit') && bp_is_profile_edit()) { $css[] = 'profile-edit'; } if (function_exists('bp_is_change_avatar') && bp_is_change_avatar()) { $css[] = 'change-avatar'; } if (function_exists('bp_is_user_groups') && bp_is_user_groups()) { $css[] = 'user-groups'; } if (function_exists('bp_is_group') && bp_is_group()) { $css[] = 'group'; } if (function_exists('bp_is_group_home') && bp_is_group_home()) { $css[] = 'group-home'; } if (function_exists('bp_is_group_create') && bp_is_group_create()) { $css[] = 'group-create'; } if (function_exists('bp_is_group_admin_page') && bp_is_group_admin_page()) { $css[] = 'group-admin-page'; } if (function_exists('bp_is_group_forum') && bp_is_group_forum()) { $css[] = 'group-forum'; } if (function_exists('bp_is_group_activity') && bp_is_group_activity()) { $css[] = 'group-activity'; } if (function_exists('bp_is_group_forum_topic') && bp_is_group_forum_topic()) { $css[] = 'group-forum-topic'; } if (function_exists('bp_is_group_forum_topic_edit') && bp_is_group_forum_topic_edit()) { $css[] = 'group-forum-topic-edit'; } if (function_exists('bp_is_group_members') && bp_is_group_members()) { $css[] = 'group-members'; } if (function_exists('bp_is_group_invites') && bp_is_group_invites()) { $css[] = 'group-invites'; } if (function_exists('bp_is_group_membership_request') && bp_is_group_membership_request()) { $css[] = 'group-membership-request'; } if (function_exists('bp_is_group_leave') && bp_is_group_leave()) { $css[] = 'group-leave'; } if (function_exists('bp_is_group_single') && bp_is_group_single()) { $css[] = 'group-single'; } if (function_exists('bp_is_user_blogs') && bp_is_user_blogs()) { $css[] = 'user-blogs'; } if (function_exists('bp_is_user_recent_posts') && bp_is_user_recent_posts()) { $css[] = 'user-recent-posts'; } if (function_exists('bp_is_user_recent_commments') && bp_is_user_recent_commments()) { $css[] = 'user-recent-commments'; } if (function_exists('bp_is_create_blog') && bp_is_create_blog()) { $css[] = 'create-blog'; } if (function_exists('bp_is_user_friends') && bp_is_user_friends()) { $css[] = 'user-friends'; } if (function_exists('bp_is_friend_requests') && bp_is_friend_requests()) { $css[] = 'friend-requests'; } if (function_exists('bp_is_user_messages') && bp_is_user_messages()) { $css[] = 'user-messages'; } if (function_exists('bp_is_messages_inbox') && bp_is_messages_inbox()) { $css[] = 'messages-inbox'; } if (function_exists('bp_is_messages_sentbox') && bp_is_messages_sentbox()) { $css[] = 'messages-sentbox'; } if (function_exists('bp_is_notices') && bp_is_notices()) { $css[] = 'notices'; } if (function_exists('bp_is_messages_compose_screen') && bp_is_messages_compose_screen()) { $css[] = 'messages-compose-screen'; } if (function_exists('bp_is_single_item') && bp_is_single_item()) { $css[] = 'single-item'; } if (function_exists('bp_is_activation_page') && bp_is_activation_page()) { $css[] = 'activation-page'; } if (function_exists('bp_is_register_page') && bp_is_register_page()) { $css[] = 'register-page'; } $css[] = 'fix'; if (is_array($custom)) { foreach ($custom as $class) { if (!in_array($class, $css)) { $css[] = esc_attr($class); } } } else { if ($custom != false) { $css[] = $custom; } } $css_class = implode(' ', $css); if ($echo) { echo ' class="' . $css_class . '" '; } return ' class="' . $css_class . '" '; }
/** * Initiate the forum topics loop. * * Like other BuddyPress custom loops, the default arguments for this function * are determined dynamically, depending on your current page. All of these * $defaults can be overridden in the $args parameter. * * @uses apply_filters() Filter 'bp_has_topics' to manipulate the * $forums_template global before it's rendered, or to modify the value * of has_topics(). * * @param array $args { * Arguments for limiting the contents of the forum topics loop. * * @type string $type The 'type' is the sort order/kind. 'newest', * 'popular', 'unreplied', 'tags'. Default: 'newest'. * @type int $forum_id The ID of the forum for which topics are being * queried. Default: the ID of the forum belonging to the current * group, if available. * @type int $user_id The ID of a user to whom to limit results. If viewing * a member's profile, defaults to that member's ID; otherwise * defaults to 0. * @type int $page The number of the page being requested. Default: 1, or * the value of $_GET['p']. * @type int $per_pag The number items to return per page. Default: 20, or * the value of $_GET['n']. * @type int $max Optional. Max records to return. Default: false (no max). * @type int $number Optional. Number of records to return. Default: false. * @type int $offset Optional. Offset results by a given value. * Default: false. * @type string $search_terms Optional. A string to which results should be * limited. Default: false, or the value of $_GET['fs']. * @type string|bool $do_stickies Whether to move stickies to the top of * the sort order. Default: true if looking at a group forum, * otherwise false. * } * @return bool True when forum topics are found corresponding to the args, * false otherwise. */ function bp_has_forum_topics($args = '') { global $forum_template, $bp; /*** * Set the defaults based on the current page. Any of these will be overridden * if arguments are directly passed into the loop. Custom plugins should always * pass their parameters directly to the loop. */ $type = 'newest'; $user_id = 0; $forum_id = false; $search_terms = false; $do_stickies = false; // User filtering if (bp_displayed_user_id()) { $user_id = bp_displayed_user_id(); } // "Replied" query must be manually modified if ('replies' == bp_current_action()) { $user_id = 0; // User id must be handled manually by the filter, not by BB_Query add_filter('get_topics_distinct', 'bp_forums_add_replied_distinct_sql', 20); add_filter('get_topics_join', 'bp_forums_add_replied_join_sql', 20); add_filter('get_topics_where', 'bp_forums_add_replied_where_sql', 20); } // If we're in a single group, set this group's forum_id if (!$forum_id && !empty($bp->groups->current_group)) { $bp->groups->current_group->forum_id = groups_get_groupmeta($bp->groups->current_group->id, 'forum_id'); // If it turns out there is no forum for this group, return false so // we don't fetch all global topics if (empty($bp->groups->current_group->forum_id)) { return false; } $forum_id = $bp->groups->current_group->forum_id; } // If $_GET['fs'] is set, let's auto populate the search_terms var if (bp_is_directory() && !empty($_GET['fs'])) { $search_terms = $_GET['fs']; } // Get the pagination arguments from $_REQUEST $page = isset($_REQUEST['p']) ? intval($_REQUEST['p']) : 1; $per_page = isset($_REQUEST['n']) ? intval($_REQUEST['n']) : 20; // By default, stickies are only pushed to the top of the order on individual group forums if (bp_is_group_forum()) { $do_stickies = true; } $defaults = array('type' => $type, 'forum_id' => $forum_id, 'user_id' => $user_id, 'page' => $page, 'per_page' => $per_page, 'max' => false, 'number' => false, 'offset' => false, 'search_terms' => $search_terms, 'do_stickies' => $do_stickies); $r = bp_parse_args($args, $defaults, 'has_forum_topics'); extract($r); // If we're viewing a tag URL in the directory, let's override the type and // set it to tags and the filter to the tag name if (bp_is_current_action('tag') && ($search_terms = bp_action_variable(0))) { $type = 'tags'; } /** Sticky logic ******************************************************************/ if ($do_stickies) { // Fetch the stickies $stickies_template = new BP_Forums_Template_Forum($type, $forum_id, $user_id, 0, 0, $max, 'sticky', $search_terms); // If stickies are found, try merging them if ($stickies_template->has_topics()) { // If stickies are for current $page $page_start_num = ($page - 1) * $per_page + 1; $page_end_num = $page * $per_page <= $stickies_template->total_topic_count ? $page * $per_page : $stickies_template->total_topic_count; // Calculate the number of sticky topics that will be shown on this page if ($stickies_template->topic_count < $page_start_num) { $this_page_stickies = 0; } else { $this_page_stickies = $stickies_template->topic_count - $per_page * floor($stickies_template->topic_count / $per_page) * ($page - 1); // Total stickies minus sticky count through this page // $this_page_stickies cannot be more than $per_page or less than 0 if ($this_page_stickies > $per_page) { $this_page_stickies = $per_page; } else { if ($this_page_stickies < 0) { $this_page_stickies = 0; } } } // Calculate the total number of topics that will be shown on this page $this_page_topics = $stickies_template->total_topic_count >= $page * $per_page ? $per_page : $page_end_num - ($page_start_num - 1); // If the number of stickies to be shown is less than $per_page, fetch some // non-stickies to fill in the rest if ($this_page_stickies < $this_page_topics) { // How many non-stickies do we need? $non_sticky_number = $this_page_topics - $this_page_stickies; // Calculate the non-sticky offset // How many non-stickies on all pages up to this point? $non_sticky_total = $page_end_num - $stickies_template->topic_count; // The offset is the number of total non-stickies, less the number // to be shown on this page $non_sticky_offset = $non_sticky_total - $non_sticky_number; // Fetch the non-stickies $forum_template = new BP_Forums_Template_Forum($type, $forum_id, $user_id, 1, $per_page, $max, 'no', $search_terms, $non_sticky_offset, $non_sticky_number); // If there are stickies to merge on this page, do it now if ($this_page_stickies) { // Correct the topic_count $forum_template->topic_count += (int) $this_page_stickies; // Figure out which stickies need to be included $this_page_sticky_topics = array_slice($stickies_template->topics, 0 - $this_page_stickies); // Merge these topics into the forum template $forum_template->topics = array_merge($this_page_sticky_topics, (array) $forum_template->topics); } } else { // This page has no non-stickies $forum_template = $stickies_template; // Adjust the topic count and trim the topics $forum_template->topic_count = $this_page_stickies; $forum_template->topics = array_slice($forum_template->topics, $page - 1); } // Because we're using a manual offset and number for the topic query, we // must set the page number manually, and recalculate the pagination links $forum_template->pag_num = $per_page; $forum_template->pag_page = $page; $forum_template->pag_links = paginate_links(array('base' => add_query_arg(array('p' => '%#%', 'n' => $forum_template->pag_num)), 'format' => '', 'total' => ceil((int) $forum_template->total_topic_count / (int) $forum_template->pag_num), 'current' => $forum_template->pag_page, 'prev_text' => _x('←', 'Forum topic pagination previous text', 'buddypress'), 'next_text' => _x('→', 'Forum topic pagination next text', 'buddypress'), 'mid_size' => 1)); } else { // Fetch the non-sticky topics if no stickies were found $forum_template = new BP_Forums_Template_Forum($type, $forum_id, $user_id, $page, $per_page, $max, 'all', $search_terms); } } else { // When skipping the sticky logic, just pull up the forum topics like usual $forum_template = new BP_Forums_Template_Forum($type, $forum_id, $user_id, $page, $per_page, $max, 'all', $search_terms); } return apply_filters('bp_has_topics', $forum_template->has_topics(), $forum_template); }
function gconnect_group_single_template() { $template = false; if (bp_is_group_membership_request()) { $template = 'request-membership.php'; } elseif (bp_group_is_visible()) { if (bp_is_group_admin_page()) { $template = 'admin.php'; } elseif (bp_is_group_members()) { $template = 'members.php'; } elseif (bp_is_group_invites()) { $template = 'send-invites.php'; } elseif (bp_is_group_forum()) { $template = 'forum.php'; } elseif (bp_is_active('activity')) { $template = 'activity.php'; } } if ($template) { gconnect_locate_template(array("groups/single/{$template}"), true); } return $template; }
/** * */ function miss_is_bp() { if (function_exists('bp_is_group') && (bp_is_blog_page() || bp_is_my_profile() || bp_is_my_profile() || is_front_page() || bp_is_component_front_page('activity') || bp_is_directory() || bp_is_profile_component() || bp_is_activity_component() || bp_is_blogs_component() || bp_is_messages_component() || bp_is_friends_component() || bp_is_groups_component() || bp_is_settings_component() || bp_is_user_activity() || bp_is_user_friends_activity() || bp_is_activity_permalink() || bp_is_user_profile() || bp_is_profile_edit() || bp_is_change_avatar() || bp_is_user_groups() || bp_is_group() || bp_is_group_home() || bp_is_group_create() || bp_is_group_admin_page() || bp_is_group_forum() || bp_is_group_activity() || bp_is_group_forum_topic() || bp_is_group_forum_topic_edit() || bp_is_group_members() || bp_is_group_invites() || bp_is_group_membership_request() || bp_is_group_leave() || bp_is_group_single() || bp_is_user_blogs() || bp_is_user_recent_posts() || bp_is_user_recent_commments() || bp_is_create_blog() || bp_is_user_friends() || bp_is_friend_requests() || bp_is_user_messages() || bp_is_messages_inbox() || bp_is_messages_sentbox() || bp_is_notices() || bp_is_messages_compose_screen() || bp_is_activation_page() || bp_is_register_page())) { return true; } return false; }
<?php } elseif (bp_is_group_members() && bp_group_is_visible()) { ?> <?php locate_template(array('groups/single/members.php'), true); ?> <?php } elseif (bp_is_group_invites() && bp_group_is_visible()) { ?> <?php locate_template(array('groups/single/send-invites.php'), true); ?> <?php } elseif (bp_is_group_forum() && bp_group_is_visible()) { ?> <?php locate_template(array('groups/single/forum.php'), true); ?> <?php } elseif (bp_is_group_membership_request()) { ?> <?php locate_template(array('groups/single/request-membership.php'), true); ?> <?php } elseif (bp_group_is_visible()) { ?>
function bp_group_new_topic_button() { if ( bp_is_group_forum() && is_user_logged_in() && !bp_is_group_forum_topic() ) { bp_button( array ( 'id' => 'new_topic', 'component' => 'groups', 'must_be_logged_in' => true, 'block_self' => true, 'wrapper_class' => 'group-button', 'link_href' => '#post-new', 'link_class' => '', 'link_text' => __( 'New Topic', 'buddypress' ), 'link_title' => __( 'New Topic', 'buddypress' ), ) ); } }
<?php bp_the_topic_title(); ?> </a> <p class="topic-meta"> <span class="topic-by"><?php /* translators: "started by [poster] in [forum]" */ printf(__('Started by %1$s', 'wplms_modern'), bp_get_the_topic_poster_avatar('height=20&width=20') . bp_get_the_topic_poster_name()); ?> </span> <?php if (!bp_is_group_forum()) { ?> <span class="topic-in"> <?php $topic_in = '<a href="' . bp_get_the_topic_object_permalink() . '">' . bp_get_the_topic_object_avatar('type=thumb&width=20&height=20') . '</a>' . '<a href="' . bp_get_the_topic_object_permalink() . '" title="' . bp_get_the_topic_object_name() . '">' . bp_get_the_topic_object_name() . '</a>'; /* translators: "started by [poster] in [forum]" */ printf(__('in %1$s', 'wplms_modern'), $topic_in); ?> </span> <?php } ?>
</ul> </div> </div><!-- #item-nav --> <div id="item-body"> <?php do_action('bp_before_group_body'); if (bp_is_group_admin_page() && bp_group_is_visible()) { locate_template(array('groups/single/admin.php'), true); } elseif (bp_is_group_members() && bp_group_is_visible()) { locate_template(array('groups/single/members.php'), true); } elseif (bp_is_group_invites() && bp_group_is_visible()) { locate_template(array('groups/single/send-invites.php'), true); } elseif (bp_is_group_forum() && bp_group_is_visible() && bp_is_active('forums') && bp_forums_is_installed_correctly()) { locate_template(array('groups/single/forum.php'), true); } elseif (bp_is_group_membership_request()) { locate_template(array('groups/single/request-membership.php'), true); } elseif (bp_group_is_visible() && bp_is_active('activity')) { locate_template(array('groups/single/activity.php'), true); } elseif (bp_group_is_visible()) { locate_template(array('groups/single/members.php'), true); } elseif (!bp_group_is_visible()) { // The group is not visible, show the status message do_action('bp_before_group_status_message'); ?> <div id="message" class="info"> <p><?php bp_group_status_message();