/** * 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.7.0 update routine. * * - Add email unsubscribe salt. * - Save legacy directory titles to the corresponding WP pages. * - Add ignore deprecated code option (false for updates). * * @since 2.7.0 */ function bp_update_to_2_7() { bp_add_option('bp-emails-unsubscribe-salt', base64_encode(wp_generate_password(64, true, true))); // Update post_titles bp_migrate_directory_page_titles(); /* * Add `parent_id` column to groups table. * Also handled by `bp_core_install()`. */ if (bp_is_active('groups')) { bp_core_install_groups(); // Invalidate all cached group objects. global $wpdb; $bp = buddypress(); $group_ids = $wpdb->get_col("SELECT id FROM {$bp->groups->table_name}"); foreach ($group_ids as $group_id) { wp_cache_delete($group_id, 'bp_groups'); } } // Do not ignore deprecated code for existing installs. bp_add_option('_bp_ignore_deprecated_code', false); }