Skip to:
Content

BuddyPress.org

Changeset 5721 for trunk/bp-loader.php


Ignore:
Timestamp:
02/11/2012 08:10:10 PM (12 years ago)
Author:
johnjamesjacoby
Message:

Tweak the BuddyPress installation and update wizard:

  • Rename new 'bp-force-buddybar' option to '_bp_force_buddybar' to fit naming scheme
  • Remove single-site to multi-site wizard step, since the page-nag will take care of this
  • Remove any previous db versions when updating
  • Use bp_get_option() in bp-core-options.php
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-loader.php

    r5716 r5721  
    6868     * @var string State of BuddyPress installation
    6969     */
    70     public $maintenance_mode = '';
     70    public $maintenance_mode = false;
    7171
    7272    /**
     
    439439        require( BP_PLUGIN_DIR . '/bp-core/bp-core-wpabstraction.php' );
    440440
    441         // Get the possible DB versions
     441        // Get the possible DB versions (boy is this gross)
    442442        $versions               = array();
    443         $versions['1.2']        = get_site_option(                      'bp-core-db-version' );
    444         $versions['1.5-multi']  = get_site_option(                           'bp-db-version' );
    445         $versions['1.6-multi']  = get_site_option(                          '_bp_db_version' );
    446         $versions['1.5-single'] = get_blog_option( $this->root_blog_id,     'bp-db-version'  );
    447         $versions['1.6-single'] = get_blog_option( $this->root_blog_id,     '_bp_db_version' );
    448 
    449         // Remove empty array items
    450         $versions = array_filter( $versions );
     443        $versions['1.6-single'] = get_blog_option( $this->root_blog_id, '_bp_db_version' );
     444
     445        // 1.6-single exists, so trust it
     446        if ( !empty( $versions['1.6-single'] ) ) {
     447            $this->db_version_raw = (int) $versions['1.6-single'];
    451448
    452449        // If no 1.6-single exists, use the max of the others
    453         if ( empty( $versions['1.6-single'] ) )
    454             $this->db_version_raw = !empty( $versions ) ? (int) max( $versions ) : 0;
    455 
    456         // 1.6-single exists, so trust it
    457         else
    458             $this->db_version_raw = $versions['1.6-single'];
    459 
    460         // Is this an upgrade to WordPress Network Mode?
    461         // We know by checking to see whether the db version is saved in sitemeta
    462         if ( is_multisite() && ( empty( $versions['1.5-multi'] ) && empty( $versions['1.6-multi'] ) ) )
    463             $this->is_network_activate = true;
     450        } else {
     451            $versions['1.2']        = get_site_option(                      'bp-core-db-version' );
     452            $versions['1.5-multi']  = get_site_option(                           'bp-db-version' );
     453            $versions['1.6-multi']  = get_site_option(                          '_bp_db_version' );
     454            $versions['1.5-single'] = get_blog_option( $this->root_blog_id,     'bp-db-version'  );
     455
     456            // Remove empty array items
     457            $versions             = array_filter( $versions );
     458            $this->db_version_raw = (int) ( !empty( $versions ) ) ? (int) max( $versions ) : 0;
     459        }
    464460
    465461        /** Update/Install ****************************************************/
    466462
    467463        // This is a new installation
    468         if ( empty( $this->db_version_raw ) ) {
    469             $this->maintenance_mode = 'install';
    470            
     464        if ( is_admin() ) {
     465
     466            // New installation
     467            if ( empty( $this->db_version_raw ) ) {
     468                $this->maintenance_mode = 'install';
     469
     470            // Update
     471            } elseif ( (int) $this->db_version_raw < (int) $this->db_version ) {
     472                $this->maintenance_mode = 'update';
     473            }
     474
    471475            // The installation process requires a few BuddyPress core libraries
    472             require( $this->plugin_dir . 'bp-core/bp-core-functions.php'    );
    473             require( $this->plugin_dir . 'bp-core/bp-core-update.php'       );
    474             require( $this->plugin_dir . 'bp-core/bp-core-caps.php'         );
    475            
    476             require( $this->plugin_dir . 'bp-core/admin/bp-core-update.php' );
    477 
    478         // There is a previous installation
    479         } else {
     476            if ( !empty( $this->maintenance_mode ) ) {
     477                require( $this->plugin_dir . 'bp-core/bp-core-functions.php'    );
     478                require( $this->plugin_dir . 'bp-core/bp-core-update.php'       );
     479                require( $this->plugin_dir . 'bp-core/bp-core-caps.php'         );
     480                require( $this->plugin_dir . 'bp-core/admin/bp-core-update.php' );
     481            }
     482        }
     483
     484        // Not in maintenance made
     485        if ( empty( $this->maintenance_mode ) ) {
    480486
    481487            // Setup the BuddyPress theme directory
     
    507513                require( $this->plugin_dir . 'bp-core/deprecated/1.6.php' );
    508514            }
    509 
    510             // Check if an update is required
    511             if ( ( (int) $this->db_version_raw < (int) $this->db_version ) || ( !empty( $this->is_network_activate ) ) ) {
    512 
    513                 // BuddyPress needs an update
    514                 $this->maintenance_mode = 'update';
    515 
    516                 // Only include core updater if in the admin area
    517                 if ( is_admin() ) {
    518                     require( $this->plugin_dir . 'bp-core/admin/bp-core-update.php' );
    519                 }
    520             }
    521515        }       
    522516    }
Note: See TracChangeset for help on using the changeset viewer.