function bpg_init() { require_once dirname(__FILE__) . '/includes/functions.php'; if (defined('BP_VERSION') && defined('WPGLOBUS_VERSION')) { $apply_filters = false; //TOFIX // Always on frontend if (!is_admin() || $apply_filters) { $optionLanguages = wpgl_get_option_language(); $defaultLanguage = wpgl_get_default_language($optionLanguages); $currentLanguage = wpgl_get_current_language($optionLanguages); if ($currentLanguage != $defaultLanguage) { apply_filters('bp_get_groups_directory_permalink', trailingslashit(bp_get_groups_directory_permalink() . $currentLanguage . '/')); apply_filters('bp_get_activity_directory_permalink', trailingslashit(bp_get_activity_directory_permalink() . $currentLanguage . '/')); apply_filters('bp_get_blogs_directory_permalink', trailingslashit(bp_get_blogs_directory_permalink() . $currentLanguage . '/')); apply_filters('bp_get_forum_directory_permalink', trailingslashit(bp_get_forum_directory_permalink() . $currentLanguage . '/')); apply_filters('bp_get_members_directory_permalink', trailingslashit(bp_get_members_directory_permalink() . $currentLanguage . '/')); } } } else { if (is_admin()) { add_action('admin_notices', 'bpgl_admin_notice_required_plugins'); } } }
/** * Ensure that the 'Create a new site' link at wp-admin/my-sites.php points to the BP blog signup. * * @since BuddyPress (1.6.0) * * @uses apply_filters() Filter 'bp_blogs_creation_location' to alter the * returned value. * * @param string $url The original URL (points to wp-signup.php by default). * @return string The new URL. */ function bp_blogs_creation_location($url) { /** * Filters the 'Create a new site' link URL. * * @since BuddyPress (1.6.0) * * @param string $value URL for the 'Create a new site' signup page. */ return apply_filters('bp_blogs_creation_location', trailingslashit(bp_get_blogs_directory_permalink() . 'create'), $url); }
/** * Add a Sites menu to the BuddyBar. * * @since 1.0.0 * @deprecated 2.1.0 * * @return bool|null Returns false on failure. Otherwise echoes the menu item. */ function bp_adminbar_blogs_menu() { if (!is_user_logged_in() || !bp_is_active('blogs')) { return false; } if (!is_multisite()) { return false; } $blogs = wp_cache_get('bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', 'bp'); if (empty($blogs)) { $blogs = bp_blogs_get_blogs_for_user(bp_loggedin_user_id(), true); wp_cache_set('bp_blogs_of_user_' . bp_loggedin_user_id() . '_inc_hidden', $blogs, 'bp'); } $counter = 0; if (is_array($blogs['blogs']) && (int) $blogs['count']) { echo '<li id="bp-adminbar-blogs-menu"><a href="' . trailingslashit(bp_loggedin_user_domain() . bp_get_blogs_slug()) . '">'; _e('My Sites', 'buddypress'); echo '</a>'; echo '<ul>'; foreach ((array) $blogs['blogs'] as $blog) { $alt = 0 == $counter % 2 ? ' class="alt"' : ''; $site_url = esc_attr($blog->siteurl); echo '<li' . $alt . '>'; echo '<a href="' . $site_url . '">' . esc_html($blog->name) . '</a>'; echo '<ul>'; echo '<li class="alt"><a href="' . $site_url . 'wp-admin/">' . __('Dashboard', 'buddypress') . '</a></li>'; echo '<li><a href="' . $site_url . 'wp-admin/post-new.php">' . __('New Post', 'buddypress') . '</a></li>'; echo '<li class="alt"><a href="' . $site_url . 'wp-admin/edit.php">' . __('Manage Posts', 'buddypress') . '</a></li>'; echo '<li><a href="' . $site_url . 'wp-admin/edit-comments.php">' . __('Manage Comments', 'buddypress') . '</a></li>'; echo '</ul>'; do_action('bp_adminbar_blog_items', $blog); echo '</li>'; $counter++; } $alt = 0 == $counter % 2 ? ' class="alt"' : ''; if (bp_blog_signup_enabled()) { echo '<li' . $alt . '>'; echo '<a href="' . trailingslashit(bp_get_blogs_directory_permalink() . 'create') . '">' . __('Create a Site!', 'buddypress') . '</a>'; echo '</li>'; } echo '</ul>'; echo '</li>'; } }
/** * Display the networkwide posts widget. * * @see WP_Widget::widget() for description of parameters. * * @param array $args Widget arguments. * @param array $instance Widget settings, as saved by the user. */ public function widget($args, $instance) { $title = !empty($instance['title']) ? esc_html($instance['title']) : __('Recent Networkwide Posts', 'buddypress'); if (!empty($instance['link_title'])) { $title = '<a href="' . bp_get_blogs_directory_permalink() . '">' . esc_html($title) . '</a>'; } /** * Filters the Blogs Recent Posts widget title. * * @since BuddyPress (2.2.0) * @since BuddyPress (2.3.0) Added 'instance' and 'id_base' to arguments passed to filter. * * @param string $title The widget title. * @param array $instance The settings for the particular instance of the widget. * @param string $id_base Root ID for all widgets of this type. */ $title = apply_filters('widget_title', $title, $instance, $this->id_base); echo $args['before_widget']; echo $args['before_title'] . $title . $args['after_title']; if (empty($instance['max_posts']) || empty($instance['max_posts'])) { $instance['max_posts'] = 10; } // Override some of the contextually set parameters for bp_has_activities() $args = array('action' => 'new_blog_post', 'max' => $instance['max_posts'], 'per_page' => $instance['max_posts'], 'user_id' => 0, 'scope' => false, 'object' => false, 'primary_id' => false); ?> <?php if (bp_has_activities($args)) { ?> <ul id="blog-post-list" class="activity-list item-list"> <?php while (bp_activities()) { bp_the_activity(); ?> <li> <div class="activity-content" style="margin: 0"> <div class="activity-header"><?php bp_activity_action(); ?> </div> <?php if (bp_get_activity_content_body()) { ?> <div class="activity-inner"><?php bp_activity_content_body(); ?> </div> <?php } ?> </div> </li> <?php } ?> </ul> <?php } else { ?> <div id="message" class="info"> <p><?php _e('Sorry, there were no posts found. Why not write one?', 'buddypress'); ?> </p> </div> <?php } ?> <?php echo $args['after_widget']; ?> <?php }
/** * Get the Create a Site button. * * @since BuddyPress (2.0.0) * * @return string */ function bp_get_blog_create_button() { if (!is_user_logged_in()) { return false; } if (!bp_blog_signup_enabled()) { return false; } $button_args = array('id' => 'create_blog', 'component' => 'blogs', 'link_text' => __('Create a Site', 'buddypress'), 'link_title' => __('Create a Site', 'buddypress'), 'link_class' => 'blog-create no-ajax', 'link_href' => trailingslashit(bp_get_blogs_directory_permalink() . 'create'), 'wrapper' => false, 'block_self' => false); /** * Filters the Create a Site button. * * @since BuddyPress (2.0.0) * * @param array $button_args Array of arguments to be used for the Create a Site button. */ return bp_get_button(apply_filters('bp_get_blog_create_button', $button_args)); }
function x_buddypress_navbar_menu($items, $args) { if (X_BUDDYPRESS_IS_ACTIVE && x_get_option('x_buddypress_header_menu_enable', '') == '1') { $top_level_link = is_user_logged_in() ? bp_loggedin_user_domain() : bp_get_activity_directory_permalink(); $submenu_items = ''; if (bp_is_active('activity')) { $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_get_activity_directory_permalink() . '" class="cf"><i class="x-icon-thumbs-up" data-x-icon=""></i> <span>' . x_get_option('x_buddypress_activity_title', __('Activity', '__x__')) . '</span></a></li>'; } if (bp_is_active('groups')) { $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_get_groups_directory_permalink() . '" class="cf"><i class="x-icon-sitemap" data-x-icon=""></i> <span>' . x_get_option('x_buddypress_groups_title', __('Groups', '__x__')) . '</span></a></li>'; } if (is_multisite() && bp_is_active('blogs')) { $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_get_blogs_directory_permalink() . '" class="cf"><i class="x-icon-file" data-x-icon=""></i> <span>' . x_get_option('x_buddypress_blogs_title', __('Blogs', '__x__')) . '</span></a></li>'; } $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_get_members_directory_permalink() . '" class="cf"><i class="x-icon-male" data-x-icon=""></i> <span>' . x_get_option('x_buddypress_members_title', __('Members', '__x__')) . '</span></a></li>'; if (!is_user_logged_in()) { if (bp_get_signup_allowed()) { $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_get_signup_page() . '" class="cf"><i class="x-icon-pencil" data-x-icon=""></i> <span>' . x_get_option('x_buddypress_register_title', __('Create an Account', '__x__')) . '</span></a></li>'; $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_get_activation_page() . '" class="cf"><i class="x-icon-key" data-x-icon=""></i> <span>' . x_get_option('x_buddypress_activate_title', __('Activate Your Account', '__x__')) . '</span></a></li>'; } $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . wp_login_url() . '" class="cf"><i class="x-icon-sign-in" data-x-icon=""></i> <span>' . __('Log in', '__x__') . '</span></a></li>'; } else { $submenu_items .= '<li class="menu-item menu-item-buddypress-navigation"><a href="' . bp_loggedin_user_domain() . '" class="cf"><i class="x-icon-cog" data-x-icon=""></i> <span>' . __('Profile', '__x__') . '</span></a></li>'; } if ($args->theme_location == 'primary') { $items .= '<li class="menu-item current-menu-parent menu-item-has-children x-menu-item x-menu-item-buddypress">' . '<a href="' . $top_level_link . '" class="x-btn-navbar-buddypress">' . '<span><i class="x-icon-user" data-x-icon=""></i><span class="x-hidden-desktop"> ' . __('Social', '__x__') . '</span></span>' . '</a>' . '<ul class="sub-menu">' . $submenu_items . '</ul>' . '</li>'; } } return $items; }
/** * Set up bp-blogs integration with the WordPress admin bar. * * @since BuddyPress (1.5.0) * * @see BP_Component::setup_admin_bar() for a description of arguments. * * @param array $wp_admin_nav See BP_Component::setup_admin_bar() * for description. */ public function setup_admin_bar( $wp_admin_nav = array() ) { $bp = buddypress(); /** * Site/post/comment menus should not appear on single WordPress setups. * * Comments and posts made by users will still show in their activity. */ if ( ! is_multisite() ) { return false; } // Menus for logged in user if ( is_user_logged_in() ) { $blogs_link = trailingslashit( bp_loggedin_user_domain() . $this->slug ); // Add the "Sites" sub menu $wp_admin_nav[] = array( 'parent' => $bp->my_account_menu_id, 'id' => 'my-account-' . $this->id, 'title' => __( 'Sites', 'buddypress' ), 'href' => trailingslashit( $blogs_link ) ); // My Sites $wp_admin_nav[] = array( 'parent' => 'my-account-' . $this->id, 'id' => 'my-account-' . $this->id . '-my-sites', 'title' => __( 'My Sites', 'buddypress' ), 'href' => trailingslashit( $blogs_link ) ); // Create a Site if ( bp_blog_signup_enabled() ) { $wp_admin_nav[] = array( 'parent' => 'my-account-' . $this->id, 'id' => 'my-account-' . $this->id . '-create', 'title' => __( 'Create a Site', 'buddypress' ), 'href' => trailingslashit( bp_get_blogs_directory_permalink() . 'create' ) ); } } parent::setup_admin_bar( $wp_admin_nav ); }
/** * Output blog directory permalink * * @package BuddyPress * @subpackage Blogs Template * @since 1.5 * @uses bp_get_blogs_directory_permalink() */ function bp_blogs_directory_permalink() { echo bp_get_blogs_directory_permalink(); }