Beispiel #1
0
/**
 * Main installer
 *
 * Can be passed an optional array of components to explicitly run installation
 * routines on, typically the first time a component is activated in Settings.
 *
 * @since BuddyPress (1.0.0)
 *
 * @param array $active_components Components to install
 */
function bp_core_install($active_components = false)
{
    // If no components passed, get all the active components from the main site
    if (empty($active_components)) {
        $active_components = apply_filters('bp_active_components', bp_get_option('bp-active-components'));
    }
    // Install Activity Streams even when inactive (to store last_activity data)
    bp_core_install_activity_streams();
    // Install the signups table
    bp_core_maybe_install_signups();
    // Notifications
    if (!empty($active_components['notifications'])) {
        bp_core_install_notifications();
    }
    // Friend Connections
    if (!empty($active_components['friends'])) {
        bp_core_install_friends();
    }
    // Extensible Groups
    if (!empty($active_components['groups'])) {
        bp_core_install_groups();
    }
    // Private Messaging
    if (!empty($active_components['messages'])) {
        bp_core_install_private_messaging();
    }
    // Extended Profiles
    if (!empty($active_components['xprofile'])) {
        bp_core_install_extended_profiles();
    }
    // Blog tracking
    if (!empty($active_components['blogs'])) {
        bp_core_install_blog_tracking();
    }
}
function bp_core_install($active_components = false)
{
    if (empty($active_components)) {
        $active_components = apply_filters('bp_active_components', bp_get_option('bp-active-components'));
    }
    // Core DB Tables
    bp_core_install_notifications();
    // Activity Streams
    if (!empty($active_components['activity'])) {
        bp_core_install_activity_streams();
    }
    // Friend Connections
    if (!empty($active_components['friends'])) {
        bp_core_install_friends();
    }
    // Extensible Groups
    if (!empty($active_components['groups'])) {
        bp_core_install_groups();
    }
    // Private Messaging
    if (!empty($active_components['messages'])) {
        bp_core_install_private_messaging();
    }
    // Extended Profiles
    if (!empty($active_components['xprofile'])) {
        bp_core_install_extended_profiles();
    }
    // Blog tracking
    if (!empty($active_components['blogs'])) {
        bp_core_install_blog_tracking();
    }
}
/**
 * 2.3.0 update routine.
 *
 * - Add notifications meta table.
 *
 * @since 2.3.0
 */
function bp_update_to_2_3()
{
    // Also handled by `bp_core_install()`
    if (bp_is_active('notifications')) {
        bp_core_install_notifications();
    }
}