function bp_activity_install() { global $wpdb, $bp; if (!empty($wpdb->charset)) { $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset}"; } $sql[] = "CREATE TABLE {$bp->activity->table_name_user_activity} (\n\t\t \t\tid bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,\n\t\t\t\tuser_id bigint(20) NOT NULL,\n\t\t\t\tcomponent_name varchar(75) NOT NULL,\n\t\t\t\tcomponent_action varchar(75) NOT NULL,\n\t\t\t\titem_id bigint(20) NOT NULL,\n\t\t\t\tsecondary_item_id bigint(20) NOT NULL,\n\t\t \t\tdate_recorded datetime NOT NULL,\n\t\t\t\tis_private tinyint(1) NOT NULL DEFAULT 0,\n\t\t\t\tno_sitewide_cache tinyint(1) NOT NULL DEFAULT 0,\n\t\t\t KEY item_id (item_id),\n\t\t\t\tKEY user_id (user_id),\n\t\t\t KEY is_private (is_private),\n\t\t\t\tKEY component_name (component_name)\n\t\t \t ) {$charset_collate};"; $sql[] = "CREATE TABLE {$bp->activity->table_name_user_activity_cached} (\n\t\t \t\tid bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,\n\t\t\t\tuser_id bigint(20) NOT NULL,\n\t\t\t\tcomponent_name varchar(75) NOT NULL,\n\t\t\t\tcomponent_action varchar(75) NOT NULL,\n\t\t\t\tcontent longtext NOT NULL,\n\t\t\t\tprimary_link varchar(150) NOT NULL,\n\t\t\t\titem_id bigint(20) NOT NULL,\n\t\t\t\tsecondary_item_id bigint(20) NOT NULL,\n\t\t\t\tdate_cached datetime NOT NULL,\n\t\t\t\tdate_recorded datetime NOT NULL,\n\t\t\t\tis_private tinyint(1) NOT NULL DEFAULT 0,\n\t\t\t\tKEY date_cached (date_cached),\n\t\t\t\tKEY date_recorded (date_recorded),\n\t\t\t KEY is_private (is_private),\n\t\t\t\tKEY user_id (user_id),\n\t\t\t\tKEY item_id (item_id),\n\t\t\t\tKEY component_name (component_name)\n\t\t \t ) {$charset_collate};"; $sql[] = "CREATE TABLE {$bp->activity->table_name_sitewide} (\n\t\t \t\tid bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,\n\t\t\t\tuser_id bigint(20) NOT NULL,\n\t\t\t\titem_id bigint(20) NOT NULL,\n\t\t\t\tsecondary_item_id bigint(20),\n\t\t \t\tcontent longtext NOT NULL,\n\t\t\t\tprimary_link varchar(150) NOT NULL,\n\t\t\t\tcomponent_name varchar(75) NOT NULL,\n\t\t\t\tcomponent_action varchar(75) NOT NULL,\n\t\t\t\tdate_cached datetime NOT NULL,\n\t\t\t\tdate_recorded datetime NOT NULL,\n\t\t\t\tKEY date_cached (date_cached),\n\t\t\t\tKEY date_recorded (date_recorded),\n\t\t\t\tKEY user_id (user_id),\n\t\t\t\tKEY item_id (item_id),\n\t\t\t\tKEY component_name (component_name)\n\t\t \t ) {$charset_collate};"; require_once ABSPATH . 'wp-admin/upgrade-functions.php'; dbDelta($sql); if ('' == get_site_option('bp-activity-db-merge') || !get_site_option('bp-activity-db-merge')) { $users = $wpdb->get_col("SELECT ID FROM " . CUSTOM_USER_TABLE); foreach ($users as $user_id) { BP_Activity_Activity::convert_tables_for_user($user_id); BP_Activity_Activity::kill_tables_for_user($user_id); } add_site_option('bp-activity-db-merge', 1); } update_site_option('bp-activity-db-version', BP_ACTIVITY_DB_VERSION); }