Skip to:
Content

BuddyPress.org

Changeset 2168 for trunk/bp-blogs.php


Ignore:
Timestamp:
12/14/2009 03:24:05 PM (17 years ago)
Author:
apeatling
Message:

Committing core code support for new default theme.

Removed all deprecated code since it will be released as a separate plugin for backwards compatibility if people need it.

Removed the wire and status updates components since there is no support in the theme for these. If people still want this functionality then I'm sure there is someone in the community that could spend a bit of time and release them as plugins. I'm happy to guide.

Removed a lot of template loop duplication. There are no longer site loops and user loops (e.g. bp_has_site_groups() / bp_has_groups() ). There are now bp_has_members(), bp_has_groups(), bp_has_blogs() and you can pass a "user_id" parameter into these loops to limit results to only that user or users.

Merged activity stream functions. There are no longer functions for bp_activity_get_sitewide() / bp_activity_get_for_user() / bp_activity_get_friends_activity() instead there is simply one function: bp_activity_get() and you can pass in parameters to filter on just friends, for a single user, or anything your heart desires. Actually, filtering is extremely fine grained, so I encourage devs to check out the filter functions.

Lots of other code cleanup.

The new default theme will be committed straight after this. The original default folder will be renamed to bp-classic.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-blogs.php

    r2120 r2168  
    1010require ( BP_PLUGIN_DIR . '/bp-blogs/bp-blogs-templatetags.php' );
    1111require ( BP_PLUGIN_DIR . '/bp-blogs/bp-blogs-widgets.php' );
    12 
    13 /* Include deprecated functions if settings allow */
    14 if ( !defined( 'BP_IGNORE_DEPRECATED' ) )
    15         require ( BP_PLUGIN_DIR . '/bp-blogs/deprecated/bp-blogs-deprecated.php' );
    1612
    1713function bp_blogs_install() {
     
    145141
    146142        /* Add 'Blogs' to the main navigation */
    147         bp_core_new_nav_item( array( 'name' => __( 'Blogs', 'buddypress' ), 'slug' => $bp->blogs->slug, 'position' => 30, 'screen_function' => 'bp_blogs_screen_my_blogs', 'default_subnav_slug' => 'my-blogs', 'item_css_id' => $bp->blogs->id ) );
     143        bp_core_new_nav_item( array( 'name' => sprintf( __( 'Blogs (%d)', 'buddypress' ), bp_blogs_total_blogs_for_user() ), 'slug' => $bp->blogs->slug, 'position' => 30, 'screen_function' => 'bp_blogs_screen_my_blogs', 'default_subnav_slug' => 'my-blogs', 'item_css_id' => $bp->blogs->id ) );
    148144
    149145        $blogs_link = $bp->loggedin_user->domain . $bp->blogs->slug . '/';
     
    153149        bp_core_new_subnav_item( array( 'name' => __( 'Recent Posts', 'buddypress' ), 'slug' => 'recent-posts', 'parent_url' => $blogs_link, 'parent_slug' => $bp->blogs->slug, 'screen_function' => 'bp_blogs_screen_recent_posts', 'position' => 20 ) );
    154150        bp_core_new_subnav_item( array( 'name' => __( 'Recent Comments', 'buddypress' ), 'slug' => 'recent-comments', 'parent_url' => $blogs_link, 'parent_slug' => $bp->blogs->slug, 'screen_function' => 'bp_blogs_screen_recent_comments', 'position' => 30 ) );
    155         bp_core_new_subnav_item( array( 'name' => __( 'Create a Blog', 'buddypress' ), 'slug' => 'create-a-blog', 'parent_url' => $blogs_link, 'parent_slug' => $bp->blogs->slug, 'screen_function' => 'bp_blogs_screen_create_a_blog', 'position' => 40 ) );
    156151
    157152        /* Set up the component options navigation for Blog */
     
    180175
    181176                do_action( 'bp_blogs_directory_blogs_setup' );
    182                 bp_core_load_template( apply_filters( 'bp_blogs_template_directory_blogs_setup', 'directories/blogs/index' ) );
     177                bp_core_load_template( apply_filters( 'bp_blogs_template_directory_blogs_setup', 'blogs/index' ) );
    183178        }
    184179}
     
    196191function bp_blogs_screen_my_blogs() {
    197192        do_action( 'bp_blogs_screen_my_blogs' );
    198         bp_core_load_template( apply_filters( 'bp_blogs_template_my_blogs', 'blogs/my-blogs' ) );
     193        bp_core_load_template( apply_filters( 'bp_blogs_template_my_blogs', 'members/single/blogs' ) );
    199194}
    200195
    201196function bp_blogs_screen_recent_posts() {
    202197        do_action( 'bp_blogs_screen_recent_posts' );
    203         bp_core_load_template( apply_filters( 'bp_blogs_template_recent_posts', 'blogs/recent-posts' ) );
     198        bp_core_load_template( apply_filters( 'bp_blogs_template_recent_posts', 'members/single/blogs' ) );
    204199}
    205200
    206201function bp_blogs_screen_recent_comments() {
    207202        do_action( 'bp_blogs_screen_recent_comments' );
    208         bp_core_load_template( apply_filters( 'bp_blogs_template_recent_comments', 'blogs/recent-comments' ) );
     203        bp_core_load_template( apply_filters( 'bp_blogs_template_recent_comments', 'members/single/blogs' ) );
    209204}
    210205
    211206function bp_blogs_screen_create_a_blog() {
     207        global $bp;
     208
     209        if ( $bp->current_component != $bp->blogs->slug || 'create' != $bp->current_action )
     210                return false;
     211
     212        if ( !is_user_logged_in() || !bp_blog_signup_enabled() )
     213                return false;
     214
    212215        do_action( 'bp_blogs_screen_create_a_blog' );
    213216        bp_core_load_template( apply_filters( 'bp_blogs_template_create_a_blog', 'blogs/create' ) );
    214217}
     218/* The create screen is not attached to a nav item, so we need to attach it to an action */
     219add_action( 'wp', 'bp_blogs_screen_create_a_blog', 3 );
    215220
    216221
     
    599604add_action( 'delete_comment', 'bp_blogs_remove_comment' );
    600605
     606function bp_blogs_total_blogs() {
     607        $blogs = BP_Blogs_Blog::get_all();
     608        return $blogs['total'];
     609}
     610
     611function bp_blogs_total_blogs_for_user( $user_id = false ) {
     612        global $bp;
     613
     614        if ( !$user_id )
     615                $user_id = ( $bp->displayed_user->id ) ? $bp->displayed_user->id : $bp->loggedin_user->id;
     616
     617        return BP_Blogs_Blog::total_blog_count_for_user( $user_id );
     618}
     619
    601620function bp_blogs_remove_data_for_blog( $blog_id ) {
    602621        global $bp;
     
    775794        return true;
    776795}
     796
     797/**
     798 * bp_blogs_filter_template_paths()
     799 *
     800 * Add fallback for the bp-sn-parent theme template locations used in BuddyPress versions
     801 * older than 1.2.
     802 *
     803 * @package BuddyPress Core
     804 */
     805function bp_blogs_filter_template_paths() {
     806        if ( 'bp-sn-parent' != basename( TEMPLATEPATH ) && !defined( 'BP_CLASSIC_TEMPLATE_STRUCTURE' ) )
     807                return false;
     808
     809        add_filter( 'bp_blogs_template_directory_blogs_setup', create_function( '', 'return "directories/blogs/index";' ) );
     810        add_filter( 'bp_blogs_template_my_blogs', create_function( '', 'return "blogs/my-blogs";' ) );
     811        add_filter( 'bp_blogs_template_recent_posts', create_function( '', 'return "blogs/recent-posts";' ) );
     812        add_filter( 'bp_blogs_template_recent_comments', create_function( '', 'return "blogs/recent-comments";' ) );
     813        add_filter( 'bp_blogs_template_create_a_blog', create_function( '', 'return "blogs/create";' ) );
     814}
     815add_action( 'init', 'bp_blogs_filter_template_paths' );
    777816
    778817function bp_blogs_remove_data( $user_id ) {
Note: See TracChangeset for help on using the changeset viewer.