function step_components_save() { if (isset($_POST['submit']) && isset($_POST['bp_components'])) { check_admin_referer('bpwizard_components'); $active_components = array(); // Settings form submitted, now save the settings. foreach ((array) $_POST['bp_components'] as $key => $value) { $active_components[$key] = 1; } bp_update_option('bp-active-components', $active_components); nxt_cache_flush(); bp_core_install(); return true; } return false; }
/** * BuddyPress's version updater looks at what the current database version is, * and runs whatever other code is needed. * * This is most-often used when the data schema changes, but should also be used * to correct issues with BuddyPress metadata silently on software update. * * @since BuddyPress (1.7) */ function bp_version_updater() { // Get the raw database version $raw_db_version = (int) bp_get_db_version_raw(); $default_components = apply_filters('bp_new_install_default_components', array('activity' => 1, 'members' => 1, 'xprofile' => 1)); require_once BP_PLUGIN_DIR . '/bp-core/admin/bp-core-schema.php'; // Install BP schema and activate only Activity and XProfile if (bp_is_install()) { // Apply schema and set Activity and XProfile components as active bp_core_install($default_components); bp_update_option('bp-active-components', $default_components); bp_core_add_page_mappings($default_components, 'delete'); // Upgrades } else { // Run the schema install to update tables bp_core_install(); // 1.5 if ($raw_db_version < 1801) { bp_update_to_1_5(); bp_core_add_page_mappings($default_components, 'delete'); } // 1.6 if ($raw_db_version < 6067) { bp_update_to_1_6(); } } /** All done! *************************************************************/ // Bump the version bp_version_bump(); }
/** * Handle saving the Component settings. * * @since 1.6.0 * * @todo Use settings API when it supports saving network settings */ function bp_core_admin_components_settings_handler() { // Bail if not saving settings. if (!isset($_POST['bp-admin-component-submit'])) { return; } // Bail if nonce fails. if (!check_admin_referer('bp-admin-component-setup')) { return; } // Settings form submitted, now save the settings. First, set active components. if (isset($_POST['bp_components'])) { // Load up BuddyPress. $bp = buddypress(); // Save settings and upgrade schema. require_once ABSPATH . 'wp-admin/includes/upgrade.php'; require_once $bp->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php'; $submitted = stripslashes_deep($_POST['bp_components']); $bp->active_components = bp_core_admin_get_active_components_from_submitted_settings($submitted); bp_core_install($bp->active_components); bp_core_add_page_mappings($bp->active_components); bp_update_option('bp-active-components', $bp->active_components); } // Where are we redirecting to? $base_url = bp_get_admin_url(add_query_arg(array('page' => 'bp-components', 'updated' => 'true'), 'admin.php')); // Redirect. wp_redirect($base_url); die; }
/** * Initialize an update or installation of BuddyPress. * * BuddyPress's version updater looks at what the current database version is, * and runs whatever other code is needed - either the "update" or "install" * code. * * This is most often used when the data schema changes, but should also be used * to correct issues with BuddyPress metadata silently on software update. * * @since 1.7.0 */ function bp_version_updater() { // Get the raw database version $raw_db_version = (int) bp_get_db_version_raw(); /** * Filters the default components to activate for a new install. * * @since 1.7.0 * * @param array $value Array of default components to activate. */ $default_components = apply_filters('bp_new_install_default_components', array('activity' => 1, 'members' => 1, 'settings' => 1, 'xprofile' => 1, 'notifications' => 1)); require_once buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php'; // Install BP schema and activate only Activity and XProfile if (bp_is_install()) { // Apply schema and set Activity and XProfile components as active bp_core_install($default_components); bp_update_option('bp-active-components', $default_components); bp_core_add_page_mappings($default_components, 'delete'); // Upgrades } else { // Run the schema install to update tables bp_core_install(); // 1.5.0 if ($raw_db_version < 1801) { bp_update_to_1_5(); bp_core_add_page_mappings($default_components, 'delete'); } // 1.6.0 if ($raw_db_version < 6067) { bp_update_to_1_6(); } // 1.9.0 if ($raw_db_version < 7553) { bp_update_to_1_9(); } // 1.9.2 if ($raw_db_version < 7731) { bp_update_to_1_9_2(); } // 2.0.0 if ($raw_db_version < 7892) { bp_update_to_2_0(); } // 2.0.1 if ($raw_db_version < 8311) { bp_update_to_2_0_1(); } // 2.2.0 if ($raw_db_version < 9181) { bp_update_to_2_2(); } // 2.3.0 if ($raw_db_version < 9615) { bp_update_to_2_3(); } } /** All done! *************************************************************/ // Bump the version bp_version_bump(); }
function bp_core_admin_component_setup_handler() { global $nxtdb, $bp; if (isset($_POST['bp-admin-component-submit'])) { if (!check_admin_referer('bp-admin-component-setup')) { return false; } // Settings form submitted, now save the settings. First, set active components if (isset($_POST['bp_components'])) { // Save settings and upgrade schema require BP_PLUGIN_DIR . '/bp-core/admin/bp-core-update.php'; $bp->active_components = stripslashes_deep($_POST['bp_components']); bp_core_install($bp->active_components); bp_update_option('bp-active-components', $bp->active_components); } $base_url = bp_get_admin_url(add_query_arg(array('page' => 'bp-general-settings', 'updated' => 'true'), 'admin.php')); nxt_redirect($base_url); } }
/** * Initialize an update or installation of BuddyPress. * * BuddyPress's version updater looks at what the current database version is, * and runs whatever other code is needed - either the "update" or "install" * code. * * This is most often used when the data schema changes, but should also be used * to correct issues with BuddyPress metadata silently on software update. * * @since 1.7.0 */ function bp_version_updater() { // Get the raw database version. $raw_db_version = (int) bp_get_db_version_raw(); /** * Filters the default components to activate for a new install. * * @since 1.7.0 * * @param array $value Array of default components to activate. */ $default_components = apply_filters('bp_new_install_default_components', array('activity' => 1, 'members' => 1, 'settings' => 1, 'xprofile' => 1, 'notifications' => 1)); require_once ABSPATH . 'wp-admin/includes/upgrade.php'; require_once buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php'; $switched_to_root_blog = false; // Make sure the current blog is set to the root blog. if (!bp_is_root_blog()) { switch_to_blog(bp_get_root_blog_id()); bp_register_taxonomies(); $switched_to_root_blog = true; } // Install BP schema and activate only Activity and XProfile. if (bp_is_install()) { // Apply schema and set Activity and XProfile components as active. bp_core_install($default_components); bp_update_option('bp-active-components', $default_components); bp_core_add_page_mappings($default_components, 'delete'); bp_core_install_emails(); // Upgrades. } else { // Run the schema install to update tables. bp_core_install(); // Version 1.5.0. if ($raw_db_version < 1801) { bp_update_to_1_5(); bp_core_add_page_mappings($default_components, 'delete'); } // Version 1.6.0. if ($raw_db_version < 6067) { bp_update_to_1_6(); } // Version 1.9.0. if ($raw_db_version < 7553) { bp_update_to_1_9(); } // Version 1.9.2. if ($raw_db_version < 7731) { bp_update_to_1_9_2(); } // Version 2.0.0. if ($raw_db_version < 7892) { bp_update_to_2_0(); } // Version 2.0.1. if ($raw_db_version < 8311) { bp_update_to_2_0_1(); } // Version 2.2.0. if ($raw_db_version < 9181) { bp_update_to_2_2(); } // Version 2.3.0. if ($raw_db_version < 9615) { bp_update_to_2_3(); } // Version 2.5.0. if ($raw_db_version < 10440) { bp_update_to_2_5(); } // Version 2.7.0. if ($raw_db_version < 11105) { bp_update_to_2_7(); } } /* All done! *************************************************************/ // Bump the version. bp_version_bump(); if ($switched_to_root_blog) { restore_current_blog(); } }
/** * bp_core_check_installed() * * Checks to make sure the database tables are set up for the core component. * * @package BuddyPress Core * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals() * @global $wpdb WordPress DB access object. * @global $current_user WordPress global variable containing current logged in user information * @uses is_site_admin() returns true if the current user is a site admin, false if not * @uses get_site_option() fetches the value for a meta_key in the wp_sitemeta table * @uses bp_core_install() runs the installation of DB tables for the core component */ function bp_core_check_installed() { global $wpdb, $bp; if (!is_site_admin()) { return false; } require BP_PLUGIN_DIR . '/bp-core/bp-core-admin.php'; /* Need to check db tables exist, activate hook no-worky in mu-plugins folder. */ if (get_site_option('bp-core-db-version') < BP_CORE_DB_VERSION) { bp_core_install(); } }
<?php $GLOBALS['wp_tests_options'] = array('active_plugins' => array(basename(dirname(dirname(__FILE__))) . '/loader.php', 'buddypress/bp-loader.php')); require getenv('WP_TESTS_DIR') . '/includes/bootstrap.php'; require_once BP_PLUGIN_DIR . 'bp-core/admin/bp-core-schema.php'; $components = array('groups' => 1, 'activity' => 1); bp_core_install($components); bp_update_option('bp-active-components', $components); bp_core_add_page_mappings($components, 'delete');