Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
04/23/2011 04:23:34 PM (13 years ago)
Author:
boonebgorges
Message:

Moves bp-pages data to a single site_option, an array keyed by blog_id. Fixes #3144

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-core/admin/bp-core-update.php

    r4211 r4254  
    263263        else
    264264            $blogs_slug = 'blogs';
    265 
    266         if ( !defined( 'BP_ENABLE_MULTIBLOG' ) && is_multisite() )
    267             $existing_pages = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
    268         else
    269             $existing_pages = get_option( 'bp-pages' );
     265 
     266        // Call up old bp-pages to see if a page has been previously linked to Blogs
     267        $page_blog_id       = is_multisite() && defined( 'BP_ENABLE_MULTIBLOG' ) && BP_ENABLE_MULTIBLOG ? get_current_blog_id() : BP_ROOT_BLOG;
     268        $existing_pages_data    = get_blog_option( $page_blog_id, 'bp-pages' );
     269        $existing_pages     = $existing_pages_data[$page_blog_id];
    270270
    271271        if ( !empty( $existing_pages['blogs'] ) )
     
    362362            return false;
    363363
    364         // Determine where to get the pages from
    365         if ( !defined( 'BP_ENABLE_MULTIBLOG' ) && is_multisite() )
    366             $existing_pages = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
    367         else
    368             $existing_pages = get_option( 'bp-pages' );
     364        $existing_pages = bp_core_update_get_page_meta();
    369365
    370366        // Get active components
     
    774770                    switch_to_blog( BP_ROOT_BLOG );
    775771
    776                 $existing_pages = get_option( 'bp-pages' );
    777                 $bp_pages       = $this->setup_pages( (array)$_POST['bp_pages'] );
    778                 $bp_pages       = array_merge( (array)$existing_pages, (array)$bp_pages );
    779 
    780                 update_option( 'bp-pages', $bp_pages );
     772                // Move bp-pages data from the blog options table to site options
     773                $page_blog_id       = is_multisite() && defined( 'BP_ENABLE_MULTIBLOG' ) && BP_ENABLE_MULTIBLOG ? get_current_blog_id() : BP_ROOT_BLOG;
     774                $existing_pages_data    = get_blog_option( $page_blog_id, 'bp-pages' );
     775                $existing_pages     = $existing_pages_data[$page_blog_id];
     776               
     777                $bp_pages           = $this->setup_pages( (array)$_POST['bp_pages'] );
     778                $bp_pages           = array_merge( (array)$existing_pages, (array)$bp_pages );
     779               
     780                $existing_pages_data[$page_blog_id] = $bp_pages;
     781
     782                update_site_option( 'bp-pages', $existing_pages_data );
    781783
    782784                if ( !empty( $wpdb->blogid ) && ( $wpdb->blogid != BP_ROOT_BLOG ) && ( !defined( 'BP_ENABLE_MULTIBLOG' ) ) )
     
    832834                wp_delete_post( $page_id, true );
    833835
    834             $bp_pages = $this->setup_pages( (array)$_POST['bp_pages'] );
    835 
    836             update_option( 'bp-pages', $bp_pages );
     836            $blog_pages     = $this->setup_pages( (array)$_POST['bp_pages'] );
     837            $page_blog_id   = is_multisite() && defined( 'BP_ENABLE_MULTIBLOG' ) && BP_ENABLE_MULTIBLOG ? get_current_blog_id() : BP_ROOT_BLOG;
     838            $bp_pages   = array( $page_blog_id => $blog_pages );
     839
     840            update_site_option( 'bp-pages', $bp_pages );
    837841
    838842            if ( !empty( $wpdb->blogid ) && ( $wpdb->blogid != BP_ROOT_BLOG ) && ( !defined( 'BP_ENABLE_MULTIBLOG' ) ) )
     
    12761280 */
    12771281function bp_core_update_get_page_meta() {
    1278     if ( !defined( 'BP_ENABLE_MULTIBLOG' ) && is_multisite() )
    1279         $page_ids = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
    1280     else
    1281         $page_ids = get_option( 'bp-pages' );
    1282 
    1283     return $page_ids;
     1282    $page_ids = get_site_option( 'bp-pages' );
     1283   
     1284    $is_enable_multiblog = is_multisite() && defined( 'BP_ENABLE_MULTIBLOG' ) && BP_ENABLE_MULTIBLOG ? true : false;
     1285
     1286    $page_blog_id = $is_enable_multiblog ? get_current_blog_id() : BP_ROOT_BLOG;
     1287   
     1288    $blog_page_ids = !empty( $page_ids[$page_blog_id] ) ? $page_ids[$page_blog_id] : false;
     1289   
     1290    return apply_filters( 'bp_core_update_get_page_meta', $blog_page_ids );
    12841291}
    12851292
Note: See TracChangeset for help on using the changeset viewer.