Example #1
0
function bp_blogs_screen_create_a_blog()
{
    if (!is_multisite() || !bp_is_blogs_component() || !bp_is_current_action('create')) {
        return false;
    }
    if (!is_user_logged_in() || !bp_blog_signup_enabled()) {
        return false;
    }
    do_action('bp_blogs_screen_create_a_blog');
    bp_core_load_template(apply_filters('bp_blogs_template_create_a_blog', 'blogs/create'));
}
/**
 * Load the "Create a Blog" screen.
 */
function bp_blogs_screen_create_a_blog()
{
    if (!is_multisite() || !bp_is_blogs_component() || !bp_is_current_action('create')) {
        return false;
    }
    if (!is_user_logged_in() || !bp_blog_signup_enabled()) {
        return false;
    }
    /**
     * Fires right before the loading of the Create A Blog screen template file.
     *
     * @since 1.0.0
     */
    do_action('bp_blogs_screen_create_a_blog');
    bp_core_load_template(apply_filters('bp_blogs_template_create_a_blog', 'blogs/create'));
}
/**
 * Add a Sites menu to the BuddyBar.
 *
 * @since BuddyPress (1.0.0)
 *
 * @global object $bp The BuddyPress global settings object.
 *
 * @return bool|null Returns false on failure. Otherwise echoes the menu item.
 */
function bp_adminbar_blogs_menu()
{
    global $bp;
    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="' . bp_get_root_domain() . '/' . bp_get_blogs_root_slug() . '/create/">' . __('Create a Site!', 'buddypress') . '</a>';
            echo '</li>';
        }
        echo '</ul>';
        echo '</li>';
    }
}
Example #4
0
    ?>
			</div><!--/#breadcrumbs -->
		<?php 
}
?>
		<div class="padder">

		<?php 
do_action('bp_before_directory_blogs');
?>

		<form action="" method="post" id="blogs-directory-form" class="dir-form">

			<h3><?php 
_e('Site Directory', 'buddypress');
if (is_user_logged_in() && bp_blog_signup_enabled()) {
    ?>
 &nbsp;<a class="button" href="<?php 
    echo bp_get_root_domain() . '/' . bp_get_blogs_root_slug() . '/create/';
    ?>
"><?php 
    _e('Create a Site', 'buddypress');
    ?>
</a><?php 
}
?>
</h3>

			<?php 
do_action('bp_before_directory_blogs_content');
?>
Example #5
0
 /**
  * Update the global $post with create screen data.
  *
  * @since BuddyPress (1.7.0)
  */
 public function create_dummy_post()
 {
     // Title based on ability to create blogs
     if (is_user_logged_in() && bp_blog_signup_enabled()) {
         $title = '<a class="button bp-title-button" href="' . trailingslashit(bp_get_root_domain() . '/' . bp_get_blogs_root_slug()) . '">' . __('Sites', 'buddypress') . '</a>&nbsp;' . __('Create a Site', 'buddypress');
     } else {
         $title = __('Sites', 'buddypress');
     }
     bp_theme_compat_reset_post(array('ID' => 0, 'post_title' => $title, 'post_author' => 0, 'post_date' => 0, 'post_content' => '', 'post_type' => 'page', 'post_status' => 'publish', 'is_page' => true, 'comment_status' => 'closed'));
 }
Example #6
0
<?php 
/** This action is documented in bp-templates/bp-legacy/buddypress/activity/index.php */
do_action('template_notices');
?>

<?php 
/**
 * Fires before the display of the blog creation form.
 *
 * @since BuddyPress (1.1.0)
 */
do_action('bp_before_create_blog_content');
?>

<?php 
if (bp_blog_signup_enabled()) {
    ?>

  <?php 
    bp_show_blog_signup_form();
    ?>

<?php 
} else {
    ?>

  <div id="message" class="info">
    <p><?php 
    _e('Site registration is currently disabled', 'buddypress');
    ?>
</p>
/**
 * 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));
}
	/**
	 * 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 );
	}
Example #9
0
function bp_blogs_screen_create_a_blog() {
	global $bp;

	if ( !bp_core_is_multisite() || $bp->current_component != $bp->blogs->slug || 'create' != $bp->current_action )
		return false;

	if ( !is_user_logged_in() || !bp_blog_signup_enabled() )
		return false;

	do_action( 'bp_blogs_screen_create_a_blog' );
	bp_core_load_template( apply_filters( 'bp_blogs_template_create_a_blog', 'blogs/create' ) );
}
/**
 * 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' => 'button blog-create bp-title-button', 'link_href' => trailingslashit(bp_get_root_domain()) . trailingslashit(bp_get_blogs_root_slug()) . trailingslashit('create'), 'wrapper' => false);
    return bp_get_button(apply_filters('bp_get_blog_create_button', $button_args));
}
 /**
  * Update the global $post with create screen data.
  *
  * @since 1.7.0
  */
 public function create_dummy_post()
 {
     // Title based on ability to create blogs.
     if (is_user_logged_in() && bp_blog_signup_enabled()) {
         $title = __('Create a Site', 'buddypress');
     } else {
         $title = __('Sites', 'buddypress');
     }
     bp_theme_compat_reset_post(array('ID' => 0, 'post_title' => $title, 'post_author' => 0, 'post_date' => 0, 'post_content' => '', 'post_type' => 'page', 'post_status' => 'publish', 'is_page' => true, 'comment_status' => 'closed'));
 }
Example #12
0
 function directory_before_content()
 {
     if (!preg_match('|^bp_before_directory_([^\\_]+)_content$|', current_filter(), $match)) {
         return;
     }
     $component = $match[1];
     $defaults = array('before_title' => '<h3>', 'after_title' => '</h3>', 'show_create' => is_user_logged_in());
     switch ($component) {
         case 'groups':
             $defaults['directory_title'] = __('Groups Directory', 'buddypress');
             $defaults['create_html'] = ' &nbsp;<a class="button" href="' . bp_get_root_domain() . '/' . bp_get_root_slug('groups') . '/create/">' . __('Create a Group', 'buddypress') . '</a>';
             break;
         case 'forums':
             $defaults['directory_title'] = __('Group Forums Directory', 'buddypress');
             $defaults['create_html'] = ' &nbsp;<a class="button" href="#new-topic" id="new-topic-button">' . __('New Topic', 'buddypress') . '</a>';
             break;
         case 'blogs':
             $defaults['show_create'] &= bp_blog_signup_enabled();
             $defaults['directory_title'] = __('Blogs Directory', 'buddypress');
             $defaults['create_html'] = ' &nbsp;<a class="button" href="' . bp_get_root_domain() . '/' . bp_get_root_slug('blogs') . '/create/">' . __('Create a Blog', 'buddypress') . '</a>';
             break;
     }
     $args = apply_filters('gconnect_directory_title', $defaults, $component);
     extract($args, EXTR_SKIP);
     echo $before_title . $directory_title;
     if ($show_create) {
         echo $create_html;
     }
     echo $after_title;
 }
Example #13
0
 /**
  * @group bp_blog_signup_enabled
  */
 public function test_bp_signup_enabled_when_registration_setting_is_none_should_return_false()
 {
     $old_settings = $settings = buddypress()->site_options;
     if (!is_array($settings)) {
         $settings = array();
     }
     $settings['registration'] = 'none';
     buddypress()->site_options = $settings;
     $this->assertFalse(bp_blog_signup_enabled());
     buddypress()->site_options = $old_settings;
 }