Index: bp-core/bp-core-actions.php
--- bp-core/bp-core-actions.php
+++ bp-core/bp-core-actions.php
@@ -35,7 +35,7 @@
 add_action( 'init',                    'bp_init',                   10    );
 add_action( 'wp',                      'bp_ready',                  10    );
 add_action( 'setup_theme',             'bp_setup_theme',            10    );
-add_action( 'after_theme_setup',       'bp_after_theme_setup',      10    );
+add_action( 'after_setup_theme',       'bp_after_theme_setup',      10    );
 add_action( 'wp_enqueue_scripts',      'bp_enqueue_scripts',        10    );
 add_action( 'admin_bar_menu',          'bp_setup_admin_bar',        20    ); // After WP core
 add_action( 'template_redirect',       'bp_template_redirect',      10    );
@@ -48,12 +48,13 @@
  *
  * Attach various loader actions to the bp_loaded action.
  * The load order helps to execute code at the correct time.
- *                                                 v---Load order
+ *                                                     v---Load order
  */
-add_action( 'bp_loaded', 'bp_setup_components',    2  );
-add_action( 'bp_loaded', 'bp_include',             4  );
-add_action( 'bp_loaded', 'bp_setup_widgets',       6  );
-add_action( 'bp_loaded', 'bp_core_load_admin_bar', 10 );
+add_action( 'bp_loaded', 'bp_setup_components',        2  );
+add_action( 'bp_loaded', 'bp_include',                 4  );
+add_action( 'bp_loaded', 'bp_setup_widgets',           6  );
+add_action( 'bp_loaded', 'bp_core_load_admin_bar',     10 );
+add_action( 'bp_loaded', 'bp_register_theme_packages', 16 );
 
 /**
  * bp_init - Attached to 'init' above
@@ -76,192 +77,17 @@
  * Note that we currently use template_redirect versus template include because
  * BuddyPress is a bully and overrides the existing themes output in many
  * places. This won't always be this way, we promise.
- *                                                	     v---Load order
+ *                                                v---Load order
  */
-add_action( 'bp_template_redirect', 'bp_redirect_canonical', 2 );
-add_action( 'bp_template_redirect', 'bp_actions', 	     4 );
-add_action( 'bp_template_redirect', 'bp_screens', 	     6 );
+add_action( 'bp_template_redirect', 'bp_actions', 4 );
+add_action( 'bp_template_redirect', 'bp_screens', 6 );
 
+/**
+ * Add the BuddyPress functions file
+ */
+add_action( 'bp_after_theme_setup', 'bp_load_theme_functions', 10 );
+
 // Load the admin
 if ( is_admin() ) {
 	add_action( 'bp_loaded', 'bp_admin' );
 }
-
-/**
- * Plugin Dependency
- *
- * The purpose of the following actions is to mimic the behavior of something
- * called 'plugin dependency' which enables a plugin to have plugins of their
- * own in a safe and reliable way.
- *
- * We do this in BuddyPress by mirroring existing WordPress actions in many places
- * allowing dependant plugins to hook into the BuddyPress specific ones, thus
- * guaranteeing proper code execution only whenBuddyPresss is active.
- *
- * The following functions are wrappers for their actions, allowing them to be
- * manually called and/or piggy-backed on top of other actions if needed.
- */
-
-/** Sub-actions ***************************************************************/
-
-/**
- * Include files on this action
- */
-function bp_include() {
-	do_action( 'bp_include' );
-}
-
-/**
- * Include files on this action
- */
-function bp_setup_components() {
-	do_action( 'bp_setup_components' );
-}
-
-/**
- * Setup global variables and objects
- */
-function bp_setup_globals() {
-	do_action( 'bp_setup_globals' );
-}
-
-/**
- * Set navigation elements
- */
-function bp_setup_nav() {
-	do_action( 'bp_setup_nav' );
-}
-
-/**
- * Set up BuddyPress implementation of the WP Toolbar
- */
-function bp_setup_admin_bar() {
-	if ( bp_use_wp_admin_bar() )
-		do_action( 'bp_setup_admin_bar' );
-}
-
-/**
- * Set the page title
- */
-function bp_setup_title() {
-	do_action( 'bp_setup_title' );
-}
-
-/**
- * Register widgets
- */
-function bp_setup_widgets() {
-	do_action( 'bp_register_widgets' );
-}
-
-/**
- * Initlialize code
- */
-function bp_init() {
-	do_action( 'bp_init' );
-}
-
-/**
- * Attached to plugins_loaded
- */
-function bp_loaded() {
-	do_action( 'bp_loaded' );
-}
-
-/**
- * Attached to wp
- */
-function bp_ready() {
-	do_action( 'bp_ready' );
-}
-
-/**
- * Attach potential template actions
- */
-function bp_actions() {
-	do_action( 'bp_actions' );
-}
-
-/**
- * Attach potential template screens
- */
-function bp_screens() {
-	do_action( 'bp_screens' );
-}
-
-/**
- * Initialize widgets
- */
-function bp_widgets_init() {
-	do_action ( 'bp_widgets_init' );
-}
-
-/** Theme *********************************************************************/
-
-/**
- * Enqueue BuddyPress specific CSS and JS
- *
- * @since BuddyPress (1.6)
- *
- * @uses do_action() Calls 'bp_enqueue_scripts'
- */
-function bp_enqueue_scripts() {
-	do_action ( 'bp_enqueue_scripts' );
-}
-
-/**
- * Piggy back action for BuddyPress sepecific theme actions before the theme has
- * been setup and the theme's functions.php has loaded.
- *
- * @since BuddyPress (1.6)
- *
- * @uses do_action() Calls 'bp_setup_theme'
- */
-function bp_setup_theme() {
-	do_action ( 'bp_setup_theme' );
-}
-
-/**
- * Piggy back action for BuddyPress sepecific theme actions once the theme has
- * been setup and the theme's functions.php has loaded.
- *
- * @since BuddyPress (1.6)
- *
- * @uses do_action() Calls 'bp_after_theme_setup'
- */
-function bp_after_theme_setup() {
-	do_action ( 'bp_after_theme_setup' );
-}
-
-/** Theme Compatibility Filter ************************************************/
-
-/**
- * The main filter used for theme compatibility and displaying custom BuddyPress
- * theme files.
- *
- * @since BuddyPress (1.6)
- *
- * @uses apply_filters()
- *
- * @param string $template
- * @return string Template file to use
- */
-function bp_template_include( $template = '' ) {
-	return apply_filters( 'bp_template_include', $template );
-}
-
-/** Theme Permissions *********************************************************/
-
-/**
- * The main action used for redirecting BuddyPress theme actions that are not
- * permitted by the current_user
- *
- * @since BuddyPress (1.6)
- *
- * @uses do_action()
- */
-function bp_template_redirect() {
-	do_action( 'bp_template_redirect' );
-}
-
-?>
Index: bp-core/bp-core-catchuri.php
--- bp-core/bp-core-catchuri.php
+++ bp-core/bp-core-catchuri.php
@@ -369,13 +369,11 @@
 		$post                        = $wp_query->queried_object;
 	}
 
-	// Define local variables
-	$located_template   = false;
-	$filtered_templates = array();
-
 	// Fetch each template and add the php suffix
-	foreach ( (array) $templates as $template )
+	$filtered_templates = array();
+	foreach ( (array) $templates as $template ) {
 		$filtered_templates[] = $template . '.php';
+	}
 
 	// Filter the template locations so that plugins can alter where they are located
 	$located_template = apply_filters( 'bp_located_template', locate_template( (array) $filtered_templates, false ), $filtered_templates );
@@ -391,10 +389,14 @@
 		load_template( apply_filters( 'bp_load_template', $located_template ) );
 
 		do_action( 'bp_core_post_load_template', $located_template );
-	}
 
-	// Kill any other output after this.
-	die;
\ No newline at end of file
+		// Kill any other output after this.
+		exit();
+
+	// No template found, so setup theme compatability
+	} else {
+		do_action( 'bp_setup_theme_compat' );
+	}
\ No newline at end of file
 }
 
 /**
Index: bp-core/bp-core-dependency.php
--- bp-core/bp-core-dependency.php No Base Revision
+++ bp-core/bp-core-dependency.php Locally New
@@ -0,0 +1,221 @@
+<?php
+
+/**
+ * Plugin Dependency
+ *
+ * The purpose of the following hooks is to mimic the behavior of something
+ * called 'plugin dependency' which enables a plugin to have plugins of their
+ * own in a safe and reliable way.
+ *
+ * We do this in BuddyPress by mirroring existing WordPress hookss in many places
+ * allowing dependant plugins to hook into the BuddyPress specific ones, thus
+ * guaranteeing proper code execution only when BuddyPress is active.
+ *
+ * The following functions are wrappers for hookss, allowing them to be
+ * manually called and/or piggy-backed on top of other hooks if needed.
+ *
+ * @todo use anonymous functions when PHP minimun requirement allows (5.3)
+ */
+
+/**
+ * Include files on this action
+ */
+function bp_include() {
+	do_action( 'bp_include' );
+}
+
+/**
+ * Include files on this action
+ */
+function bp_setup_components() {
+	do_action( 'bp_setup_components' );
+}
+
+/**
+ * Setup global variables and objects
+ */
+function bp_setup_globals() {
+	do_action( 'bp_setup_globals' );
+}
+
+/**
+ * Set navigation elements
+ */
+function bp_setup_nav() {
+	do_action( 'bp_setup_nav' );
+}
+
+/**
+ * Set up BuddyPress implementation of the WP Toolbar
+ */
+function bp_setup_admin_bar() {
+	if ( bp_use_wp_admin_bar() )
+		do_action( 'bp_setup_admin_bar' );
+}
+
+/**
+ * Set the page title
+ */
+function bp_setup_title() {
+	do_action( 'bp_setup_title' );
+}
+
+/**
+ * Register widgets
+ */
+function bp_setup_widgets() {
+	do_action( 'bp_register_widgets' );
+}
+
+/**
+ * Initlialize code
+ */
+function bp_init() {
+	do_action( 'bp_init' );
+}
+
+/**
+ * Attached to plugins_loaded
+ */
+function bp_loaded() {
+	do_action( 'bp_loaded' );
+}
+
+/**
+ * Attached to wp
+ */
+function bp_ready() {
+	do_action( 'bp_ready' );
+}
+
+/**
+ * Attach potential template actions
+ */
+function bp_actions() {
+	do_action( 'bp_actions' );
+}
+
+/**
+ * Attach potential template screens
+ */
+function bp_screens() {
+	do_action( 'bp_screens' );
+}
+
+/**
+ * Initialize widgets
+ */
+function bp_widgets_init() {
+	do_action ( 'bp_widgets_init' );
+}
+
+/** Theme Permissions *********************************************************/
+
+/**
+ * The main action used for redirecting BuddyPress theme actions that are not
+ * permitted by the current_user
+ *
+ * @since BuddyPress (1.6)
+ *
+ * @uses do_action()
+ */
+function bp_template_redirect() {
+	do_action( 'bp_template_redirect' );
+}
+
+/** Theme Helpers *************************************************************/
+
+/**
+ * The main action used registering theme packages
+ *
+ * @since BuddyPress (1.7)
+ * @uses do_action()
+ */
+function bp_register_theme_packages() {
+	do_action( 'bp_register_theme_packages' );
+}
+
+/**
+ * Enqueue BuddyPress specific CSS and JS
+ *
+ * @since BuddyPress (1.6)
+ *
+ * @uses do_action() Calls 'bp_enqueue_scripts'
+ */
+function bp_enqueue_scripts() {
+	do_action ( 'bp_enqueue_scripts' );
+}
+
+/**
+ * Piggy back action for BuddyPress sepecific theme actions before the theme has
+ * been setup and the theme's functions.php has loaded.
+ *
+ * @since BuddyPress (1.6)
+ *
+ * @uses do_action() Calls 'bp_setup_theme'
+ */
+function bp_setup_theme() {
+	do_action ( 'bp_setup_theme' );
+}
+
+/**
+ * Piggy back action for BuddyPress sepecific theme actions once the theme has
+ * been setup and the theme's functions.php has loaded.
+ *
+ * @since BuddyPress (1.6)
+ *
+ * @uses do_action() Calls 'bp_after_theme_setup'
+ */
+function bp_after_theme_setup() {
+	do_action ( 'bp_after_theme_setup' );
+}
+
+/** Theme Compatibility Filter ************************************************/
+
+/**
+ * Piggy back filter for WordPress's 'request' filter
+ *
+ * @since BuddyPress (1.7)
+ * @param array $query_vars
+ * @return array
+ */
+function bp_request( $query_vars = array() ) {
+	return apply_filters( 'bp_request', $query_vars );
+}
+
+/**
+ * The main filter used for theme compatibility and displaying custom BuddyPress
+ * theme files.
+ *
+ * @since BuddyPress (1.6)
+ *
+ * @uses apply_filters()
+ *
+ * @param string $template
+ * @return string Template file to use
+ */
+function bp_template_include( $template = '' ) {
+	return apply_filters( 'bp_template_include', $template );
+}
+
+/**
+ * Generate BuddyPress-specific rewrite rules
+ *
+ * @since BuddyPress (1.7)
+ * @param WP_Rewrite $wp_rewrite
+ * @uses do_action() Calls 'bp_generate_rewrite_rules' with {@link WP_Rewrite}
+ */
+function bp_generate_rewrite_rules( $wp_rewrite ) {
+	do_action_ref_array( 'bp_generate_rewrite_rules', array( &$wp_rewrite ) );
+}
+
+/**
+ * Filter the allowed themes list for BuddyPress specific themes
+ *
+ * @since BuddyPress (1.7)
+ * @uses apply_filters() Calls 'bp_allowed_themes' with the allowed themes list
+ */
+function bp_allowed_themes( $themes ) {
+	return apply_filters( 'bp_allowed_themes', $themes );
+}
+
Index: bp-core/bp-core-filters.php
--- bp-core/bp-core-filters.php
+++ bp-core/bp-core-filters.php
@@ -1,8 +1,49 @@
 <?php
 
+/**
+ * BuddyPress Filters
+ *
+ * @package BuddyPress
+ * @subpackage Core
+ *
+ * This file contains the filters that are used through-out BuddyPress. They are
+ * consolidated here to make searching for them easier, and to help developers
+ * understand at a glance the order in which things occur.
+ *
+ * There are a few common places that additional filters can currently be found
+ *
+ *  - BuddyPress: In {@link BuddyPress::setup_actions()} in bbpress.php
+ *  - Component: In {@link BBP_Component::setup_actions()} in
+ *                bbp-includes/bbp-classes.php
+ *  - Admin: More in {@link BBP_Admin::setup_actions()} in
+ *            bbp-admin/bbp-admin.php
+ *
+ * @see bbp-core-actions.php
+ */
+
 // Exit if accessed directly
 if ( !defined( 'ABSPATH' ) ) exit;
 
+/**
+ * Attach BuddyPress to WordPress
+ *
+ * BuddyPress uses its own internal actions to help aid in third-party plugin
+ * development, and to limit the amount of potential future code changes when
+ * updates to WordPress core occur.
+ *
+ * These actions exist to create the concept of 'plugin dependencies'. They
+ * provide a safe way for plugins to execute code *only* when BuddyPress is
+ * installed and activated, without needing to do complicated guesswork.
+ *
+ * For more information on how this works, see the 'Plugin Dependency' section
+ * near the bottom of this file.
+ *
+ *           v--WordPress Actions       v--BuddyPress Sub-actions
+ */
+add_filter( 'request',                 'bp_request',            10    );
+add_filter( 'template_include',        'bp_template_include',   10    );
+add_filter( 'comments_open',           'bp_comments_open',      10, 2 );
+
 // Add some filters to feedback messages
 add_filter( 'bp_core_render_message_content', 'wptexturize'       );
 add_filter( 'bp_core_render_message_content', 'convert_smilies'   );
@@ -11,6 +52,19 @@
 add_filter( 'bp_core_render_message_content', 'shortcode_unautop' );
 
 /**
+ * Template Compatibility
+ *
+ * If you want to completely bypass this and manage your own custom BuddyPress
+ * template hierarchy, start here by removing this filter, then look at how
+ * bp_template_include() works and do something similar. :)
+ */
+add_filter( 'bp_template_include', 'bp_template_include_theme_supports', 2, 1 );
+add_filter( 'bp_template_include', 'bp_template_include_theme_compat',   4, 2 );
+
+// Run all template parts through additional template locations
+add_filter( 'bp_get_template_part', 'bp_add_template_locations' );
+
+/**
  * bp_core_exclude_pages()
  *
  * Excludes specific pages from showing on page listings, for example the "Activation" page.
Index: bp-core/bp-core-options.php
--- bp-core/bp-core-options.php
+++ bp-core/bp-core-options.php
@@ -61,6 +61,9 @@
 		// Allow comments on blog and forum activity items
 		'bp-disable-blogforum-comments'   => true,
 
+		// The ID for the current theme packag.
+		'_bbp_theme_package_id'           => 'default',
+
 		/** Groups ************************************************************/
 
 		// @todo Move this into the groups component
@@ -521,4 +524,15 @@
 	return (bool) apply_filters( 'bp_is_akismet_active', (bool) bp_get_option( '_bp_enable_akismet', $default ) );
 }
 
-?>
+/**
+ * Get the current theme package ID
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param $default string Optional. Default value 'default'
+ * @uses get_option() To get the subtheme option
+ * @return string ID of the subtheme
+ */
+function bp_get_theme_package_id( $default = 'default' ) {
+	return apply_filters( 'bp_get_theme_package_id', get_option( '_bp_theme_package_id', $default ) );
+}
Index: bp-core/bp-core-template-loader.php
--- bp-core/bp-core-template-loader.php No Base Revision
+++ bp-core/bp-core-template-loader.php Locally New
@@ -0,0 +1,299 @@
+<?php
+
+/**
+ * BuddyPress Template Functions
+ *
+ * This file contains functions necessary to mirror the WordPress core template
+ * loading process. Many of those functions are not filterable, and even then
+ * would not be robust enough to predict where BuddyPress templates might exist.
+ *
+ * @package BuddyPress
+ * @subpackage TemplateFunctions
+ */
+
+// Exit if accessed directly
+if ( !defined( 'ABSPATH' ) ) exit;
+
+/**
+ * Adds BuddyPress theme support to any active WordPress theme
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param string $slug
+ * @param string $name Optional. Default null
+ * @uses bp_locate_template()
+ * @uses load_template()
+ * @uses get_template_part()
+ */
+function bp_get_template_part( $slug, $name = null ) {
+
+	// Execute code for this part
+	do_action( 'get_template_part_' . $slug, $slug, $name );
+
+	// Setup possible parts
+	$templates = array();
+	if ( isset( $name ) )
+		$templates[] = $slug . '-' . $name . '.php';
+	$templates[] = $slug . '.php';
+
+	// Allow template parst to be filtered
+	$templates = apply_filters( 'bp_get_template_part', $templates, $slug, $name );
+
+	// Return the part that is found
+	return bp_locate_template( $templates, true, false );
+}
+
+/**
+ * Retrieve the name of the highest priority template file that exists.
+ *
+ * Searches in the STYLESHEETPATH before TEMPLATEPATH so that themes which
+ * inherit from a parent theme can just overload one file. If the template is
+ * not found in either of those, it looks in the theme-compat folder last.
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param string|array $template_names Template file(s) to search for, in order.
+ * @param bool $load If true the template file will be loaded if it is found.
+ * @param bool $require_once Whether to require_once or require. Default true.
+ *                            Has no effect if $load is false.
+ * @return string The template filename if one is located.
+ */
+function bp_locate_template( $template_names, $load = false, $require_once = true ) {
+
+	// No file found yet
+	$located = false;
+
+	// Try to find a template file
+	foreach ( (array) $template_names as $template_name ) {
+
+		// Continue if template is empty
+		if ( empty( $template_name ) )
+			continue;
+
+		// Trim off any slashes from the template name
+		$template_name = ltrim( $template_name, '/' );
+
+		// Check child theme first
+		if ( file_exists( trailingslashit( STYLESHEETPATH ) . $template_name ) ) {
+			$located = trailingslashit( STYLESHEETPATH ) . $template_name;
+			break;
+
+		// Check parent theme next
+		} elseif ( file_exists( trailingslashit( TEMPLATEPATH ) . $template_name ) ) {
+			$located = trailingslashit( TEMPLATEPATH ) . $template_name;
+			break;
+
+		// Check theme compatibility last
+		} elseif ( file_exists( trailingslashit( bp_get_theme_compat_dir() ) . $template_name ) ) {
+			$located = trailingslashit( bp_get_theme_compat_dir() ) . $template_name;
+			break;
+		}
+	}
+
+	if ( ( true == $load ) && !empty( $located ) )
+		load_template( $located, $require_once );
+
+	return $located;
+}
+
+/**
+ * Get a template part in an output buffer, and return it
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param string $slug
+ * @param string $name
+ * @return string
+ */
+function bp_buffer_template_part( $slug, $name = null, $echo = true ) {
+	ob_start();
+
+	// Remove 'bbp_replace_the_content' filter to prevent infinite loops
+	remove_filter( 'the_content', 'bbp_replace_the_content' );
+
+	bp_get_template_part( $slug, $name );
+
+	// Remove 'bbp_replace_the_content' filter to prevent infinite loops
+	add_filter( 'the_content', 'bbp_replace_the_content' );
+
+	// Get the output buffer contents
+	$output = ob_get_contents();
+
+	// Flush the output buffer
+	ob_end_clean();
+
+	// Echo or return the output buffer contents
+	if ( true === $echo ) {
+		echo $output;
+	} else {
+		return $output;
+	}
+}
+
+/**
+ * Retrieve path to a template
+ *
+ * Used to quickly retrieve the path of a template without including the file
+ * extension. It will also check the parent theme and theme-compat theme with
+ * the use of {@link bp_locate_template()}. Allows for more generic template
+ * locations without the use of the other get_*_template() functions.
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param string $type Filename without extension.
+ * @param array $templates An optional list of template candidates
+ * @uses bp_set_theme_compat_templates()
+ * @uses bp_locate_template()
+ * @uses bp_set_theme_compat_template()
+ * @return string Full path to file.
+ */
+function bp_get_query_template( $type, $templates = array() ) {
+	$type = preg_replace( '|[^a-z0-9-]+|', '', $type );
+
+	if ( empty( $templates ) )
+		$templates = array( "{$type}.php" );
+
+	// Filter possible templates, try to match one, and set any BuddyPress theme
+	// compat properties so they can be cross-checked later.
+	$templates = apply_filters( "bp_get_{$type}_template", $templates );
+	$templates = bp_set_theme_compat_templates( $templates );
+	$template  = bp_locate_template( $templates );
+	$template  = bp_set_theme_compat_template( $template );
+
+	return apply_filters( "bp_{$type}_template", $template );
+}
+
+/**
+ * Get the possible subdirectories to check for templates in
+ *
+ * @since BuddyPress (1.7)
+ * @param array $templates Templates we are looking for
+ * @return array Possible subfolders to look in
+ */
+function bp_get_template_locations( $templates = array() ) {
+	$locations = array(
+		'buddypress',
+		'community',
+		''
+	);
+	return apply_filters( 'bp_get_template_locations', $locations, $templates );
+}
+
+/**
+ * Add template locations to template files being searched for
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param array $templates
+ * @return array() 
+ */
+function bp_add_template_locations( $templates = array() ) {
+	$retval = array();
+
+	// Get alternate locations
+	$locations = bp_get_template_locations( $templates );
+
+	// Loop through locations and templates and combine
+	foreach ( $locations as $location )
+		foreach ( $templates as $template )
+			$retval[] = trailingslashit( $location ) . $template;
+
+	return apply_filters( 'bp_add_template_locations', $retval, $templates );
+}
+
+/**
+ * Add checks for BuddyPress conditions to parse_query action
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param WP_Query $posts_query
+ */
+function bp_parse_query( $posts_query ) {
+
+	// Bail if $posts_query is not the main loop
+	if ( ! $posts_query->is_main_query() )
+		return;
+
+	// Bail if filters are suppressed on this query
+	if ( true == $posts_query->get( 'suppress_filters' ) )
+		return;
+
+	// Bail if in admin
+	if ( is_admin() )
+		return;
+
+	// Allow BuddyPress components to parse the main query
+	do_action_ref_array( 'bp_parse_query', array( &$posts_query ) );
+}
+
+/**
+ * Possibly intercept the template being loaded
+ *
+ * Listens to the 'template_include' filter and waits for any BuddyPress specific
+ * template condition to be met. If one is met and the template file exists,
+ * it will be used; otherwise 
+ *
+ * Note that the _edit() checks are ahead of their counterparts, to prevent them
+ * from being stomped on accident.
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param string $template
+ *
+ * @return string The path to the template file that is being used
+ */
+function bp_template_include_theme_supports( $template = '' ) {
+
+	// Look for root BuddyPress template files in parent/child themes
+	$new_template = apply_filters( 'bp_get_root_template', false, $template );
+
+	// BuddyPress template file exists
+	if ( !empty( $new_template ) ) {
+
+		// Override the WordPress template with a BuddyPress one
+		$template = $new_template;
+
+		// @see: bp_template_include_theme_compat()
+		buddypress()->theme_compat->found_template = true;
+	}
+
+	return apply_filters( 'bp_template_include_theme_supports', $template );
+}
+
+/**
+ * Attempt to load a custom BuddyPress functions file, similar to each themes
+ * functions.php file.
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @global string $pagenow
+ * @uses bp_locate_template()
+ */
+function bp_load_theme_functions() {
+	global $pagenow;
+
+	if ( ! defined( 'WP_INSTALLING' ) || ( !empty( $pagenow ) && ( 'wp-activate.php' !== $pagenow ) ) ) {
+		bp_locate_template( 'buddypress-functions.php', true );
+	}
+}
+
+/**
+ * Get the templates to use as the endpoint for BuddyPress template parts
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @uses apply_filters()
+ * @return array Of possible root level wrapper template files
+ */
+function bp_get_theme_compat_templates() {
+	$templates = array(
+		'plugin-buddypress.php',
+		'buddypress.php',
+		'community.php',
+		'generic.php',
+		'page.php',
+		'single.php',
+		'index.php'
+	);
+	return bp_get_query_template( 'buddypress', $templates );
+}
Index: bp-core/bp-core-template.php
--- bp-core/bp-core-template.php
+++ bp-core/bp-core-template.php
@@ -1055,6 +1055,30 @@
 	return false;
 }
 
+/**
+ * Is this a BuddyPress component?
+ *
+ * You can tell if a page is displaying BP content by whether the
+ * current_component has been defined
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @package BuddyPress
+ * @return bool True if it's a BuddyPress page, false otherwise
+ */
+function is_buddypress() {
+
+	$retval = false;
+
+	// Generally, we can just check to see that there's no current component.
+	// The one exception is single user home tabs, where $bp->current_component
+	// is unset. Thus the addition of the bp_is_user() check.
+	if ( bp_current_component() || bp_is_user() )
+		$retval = true;
+
+	return apply_filters( 'is_buddypress', $retval );
+}
+
\ No newline at end of file
 /** Components ****************************************************************/
 
 function bp_is_active( $component ) {
Index: bp-core/bp-core-theme-compatability.php
--- bp-core/bp-core-theme-compatability.php No Base Revision
+++ bp-core/bp-core-theme-compatability.php Locally New
@@ -0,0 +1,638 @@
+<?php
+
+/**
+ * BuddyPress Core Theme Compatibility
+ *
+ * @package BuddyPress
+ * @subpackage ThemeCompatibility
+ */
+
+// Exit if accessed directly
+if ( !defined( 'ABSPATH' ) ) exit;
+
+/** Theme Compat **************************************************************/
+
+/**
+ * What follows is an attempt at intercepting the natural page load process
+ * to replace the_content() with the appropriate BuddyPress content.
+ *
+ * To do this, BuddyPress does several direct manipulations of global variables
+ * and forces them to do what they are not supposed to be doing.
+ *
+ * Don't try anything you're about to witness here, at home. Ever.
+ */
+
+/** Base Class ****************************************************************/
+
+/**
+ * Theme Compatibility base class
+ *
+ * This is only intended to be extended, and is included here as a basic guide
+ * for future Theme Packs to use. @link BBP_Twenty_Ten is a good example of
+ * extending this class, as is @link bp_setup_theme_compat()
+ *
+ * @since BuddyPress (1.7)
+ */
+class BP_Theme_Compat {
+
+	/**
+	 * Should be like:
+	 *
+	 * array(
+	 *     'id'      => ID of the theme (should be unique)
+	 *     'name'    => Name of the theme (should match style.css)
+	 *     'version' => Theme version for cache busting scripts and styling
+	 *     'dir'     => Path to theme
+	 *     'url'     => URL to theme
+	 * );
+	 * @var array 
+	 */
+	private $_data = array();
+
+	/**
+	 * Pass the $properties to the object on creation.
+	 *
+	 * @since BuddyPress (1.7)
+	 * @param array $properties
+	 */
+    public function __construct( Array $properties = array() ) {
+		$this->_data = $properties;
+	}
+
+	/**
+	 * Set a theme's property.
+	 *
+	 * @since BuddyPress (1.7)
+	 * @param string $property
+	 * @param mixed $value
+	 * @return mixed
+	 */
+	public function __set( $property, $value ) {
+		return $this->_data[$property] = $value;
+	}
+
+	/**
+	 * Get a theme's property.
+	 *
+	 * @since BuddyPress (1.7)
+	 * @param string $property
+	 * @param mixed $value
+	 * @return mixed
+	 */
+	public function __get( $property ) {
+		return array_key_exists( $property, $this->_data ) ? $this->_data[$property] : '';
+	}
+}
+
+/** Functions *****************************************************************/
+
+/**
+ * Setup the default theme compat theme
+ *
+ * @since BuddyPress (1.7)
+ * @param BBP_Theme_Compat $theme
+ */
+function bp_setup_theme_compat( $theme = '' ) {
+	$bp = buddypress();
+
+	// Make sure theme package is available, set to default if not
+	if ( ! isset( $bp->theme_compat->packages[$theme] ) || ! is_a( $bp->theme_compat->packages[$theme], 'BP_Theme_Compat' ) ) {
+		$theme = 'default';
+	}
+
+	// Set the active theme compat theme
+	$bp->theme_compat->theme = $bp->theme_compat->packages[$theme];
+}
+
+/**
+ * Gets the name of the BuddyPress compatable theme used, in the event the
+ * currently active WordPress theme does not explicitly support BuddyPress.
+ * This can be filtered or set manually. Tricky theme authors can override the
+ * default and include their own BuddyPress compatability layers for their themes.
+ *
+ * @since BuddyPress (1.7)
+ * @uses apply_filters()
+ * @return string
+ */
+function bp_get_theme_compat_id() {
+	return apply_filters( 'bp_get_theme_compat_id', buddypress()->theme_compat->theme->id );
+}
+
+/**
+ * Gets the name of the BuddyPress compatable theme used, in the event the
+ * currently active WordPress theme does not explicitly support BuddyPress.
+ * This can be filtered or set manually. Tricky theme authors can override the
+ * default and include their own BuddyPress compatability layers for their themes.
+ *
+ * @since BuddyPress (1.7)
+ * @uses apply_filters()
+ * @return string
+ */
+function bp_get_theme_compat_name() {
+	return apply_filters( 'bp_get_theme_compat_name', buddypress()->theme_compat->theme->name );
+}
+
+/**
+ * Gets the version of the BuddyPress compatable theme used, in the event the
+ * currently active WordPress theme does not explicitly support BuddyPress.
+ * This can be filtered or set manually. Tricky theme authors can override the
+ * default and include their own BuddyPress compatability layers for their themes.
+ *
+ * @since BuddyPress (1.7)
+ * @uses apply_filters()
+ * @return string
+ */
+function bp_get_theme_compat_version() {
+	return apply_filters( 'bp_get_theme_compat_version', buddypress()->theme_compat->theme->version );
+}
+
+/**
+ * Gets the BuddyPress compatable theme used in the event the currently active
+ * WordPress theme does not explicitly support BuddyPress. This can be filtered,
+ * or set manually. Tricky theme authors can override the default and include
+ * their own BuddyPress compatability layers for their themes.
+ *
+ * @since BuddyPress (1.7)
+ * @uses apply_filters()
+ * @return string
+ */
+function bp_get_theme_compat_dir() {
+	return apply_filters( 'bp_get_theme_compat_dir', buddypress()->theme_compat->theme->dir );
+}
+
+/**
+ * Gets the BuddyPress compatable theme used in the event the currently active
+ * WordPress theme does not explicitly support BuddyPress. This can be filtered,
+ * or set manually. Tricky theme authors can override the default and include
+ * their own BuddyPress compatability layers for their themes.
+ *
+ * @since BuddyPress (1.7)
+ * @uses apply_filters()
+ * @return string
+ */
+function bp_get_theme_compat_url() {
+	return apply_filters( 'bp_get_theme_compat_url', buddypress()->theme_compat->theme->url );
+}
+
+/**
+ * Gets true/false if page is currently inside theme compatibility
+ *
+ * @since BuddyPress (1.7)
+ * @return bool
+ */
+function bp_is_theme_compat_active() {
+	$bp = buddypress();
+
+	if ( empty( $bp->theme_compat->active ) )
+		return false;
+
+	return $bp->theme_compat->active;
+}
+
+/**
+ * Sets true/false if page is currently inside theme compatibility
+ *
+ * @since BuddyPress (1.7)
+ * @param bool $set
+ * @return bool
+ */
+function bp_set_theme_compat_active( $set = true ) {
+	buddypress()->theme_compat->active = $set;
+
+	return (bool) buddypress()->theme_compat->active;
+}
+
+/**
+ * Set the theme compat templates global
+ *
+ * Stash possible template files for the current query. Useful if plugins want
+ * to override them, or see what files are being scanned for inclusion.
+ *
+ * @since BuddyPress (1.7)
+ */
+function bp_set_theme_compat_templates( $templates = array() ) {
+	buddypress()->theme_compat->templates = $templates;
+
+	return buddypress()->theme_compat->templates;
+}
+
+/**
+ * Set the theme compat template global
+ *
+ * Stash the template file for the current query. Useful if plugins want
+ * to override it, or see what file is being included.
+ *
+ * @since BuddyPress (1.7)
+ */
+function bp_set_theme_compat_template( $template = '' ) {
+	buddypress()->theme_compat->template = $template;
+
+	return buddypress()->theme_compat->template;
+}
+
+/**
+ * Set the theme compat original_template global
+ *
+ * Stash the original template file for the current query. Useful for checking
+ * if BuddyPress was able to find a more appropriate template.
+ *
+ * @since BuddyPress (1.7)
+ */
+function bp_set_theme_compat_original_template( $template = '' ) {
+	buddypress()->theme_compat->original_template = $template;
+
+	return buddypress()->theme_compat->original_template;
+}
+
+/**
+ * Set the theme compat original_template global
+ *
+ * Stash the original template file for the current query. Useful for checking
+ * if BuddyPress was able to find a more appropriate template.
+ *
+ * @since BuddyPress (1.7)
+ */
+function bp_is_theme_compat_original_template( $template = '' ) {
+	$bp = buddypress();
+
+	if ( empty( $bp->theme_compat->original_template ) )
+		return false;
+
+	return (bool) ( $bp->theme_compat->original_template == $template );
+}
+
+/**
+ * Register a new BuddyPress theme package to the active theme packages array
+ *
+ * @since BuddyPress (1.7)
+ * @param array $theme
+ */
+function bp_register_theme_package( $theme = array(), $override = true ) {
+
+	// Create new BBP_Theme_Compat object from the $theme array
+	if ( is_array( $theme ) )
+		$theme = new BP_Theme_Compat( $theme );
+
+	// Bail if $theme isn't a proper object
+	if ( ! is_a( $theme, 'BP_Theme_Compat' ) )
+		return;
+
+	// Load up BuddyPress
+	$bp = buddypress();
+
+	// Only override if the flag is set and not previously registered
+	if ( empty( $bp->theme_compat->packages[$theme->id] ) || ( true === $override ) ) {
+		$bp->theme_compat->packages[$theme->id] = $theme;
+	}
+}
+/**
+ * This fun little function fills up some WordPress globals with dummy data to
+ * stop your average page template from complaining about it missing.
+ *
+ * @since BuddyPress (1.7)
+ * @global WP_Query $wp_query
+ * @global object $post
+ * @param array $args
+ */
+function bp_theme_compat_reset_post( $args = array() ) {
+	global $wp_query, $post;
+
+	// Default arguments
+	$defaults = array(
+		'ID'                    => -9999,
+		'post_status'           => 'publish',
+		'post_author'           => 0,
+		'post_parent'           => 0,
+		'post_type'             => 'page',
+		'post_date'             => 0,
+		'post_date_gmt'         => 0,
+		'post_modified'         => 0,
+		'post_modified_gmt'     => 0,
+		'post_content'          => '',
+		'post_title'            => '',
+		'post_category'         => 0,
+		'post_excerpt'          => '',
+		'post_content_filtered' => '',
+		'post_mime_type'        => '',
+		'post_password'         => '',
+		'post_name'             => '',
+		'guid'                  => '',
+		'menu_order'            => 0,
+		'pinged'                => '',
+		'to_ping'               => '',
+		'ping_status'           => '',
+		'comment_status'        => 'closed',
+		'comment_count'         => 0,
+
+		'is_404'          => false,
+		'is_page'         => false,
+		'is_single'       => false,
+		'is_archive'      => false,
+		'is_tax'          => false,
+	);
+
+	// Switch defaults if post is set
+	if ( isset( $wp_query->post ) ) {		  
+		$defaults = array(
+			'ID'                    => $wp_query->post->ID,
+			'post_status'           => $wp_query->post->post_status,
+			'post_author'           => $wp_query->post->post_author,
+			'post_parent'           => $wp_query->post->post_parent,
+			'post_type'             => $wp_query->post->post_type,
+			'post_date'             => $wp_query->post->post_date,
+			'post_date_gmt'         => $wp_query->post->post_date_gmt,
+			'post_modified'         => $wp_query->post->post_modified,
+			'post_modified_gmt'     => $wp_query->post->post_modified_gmt,
+			'post_content'          => $wp_query->post->post_content,
+			'post_title'            => $wp_query->post->post_title,
+			'post_category'         => $wp_query->post->post_category,
+			'post_excerpt'          => $wp_query->post->post_excerpt,
+			'post_content_filtered' => $wp_query->post->post_content_filtered,
+			'post_mime_type'        => $wp_query->post->post_mime_type,
+			'post_password'         => $wp_query->post->post_password,
+			'post_name'             => $wp_query->post->post_name,
+			'guid'                  => $wp_query->post->guid,
+			'menu_order'            => $wp_query->post->menu_order,
+			'pinged'                => $wp_query->post->pinged,
+			'to_ping'               => $wp_query->post->to_ping,
+			'ping_status'           => $wp_query->post->ping_status,
+			'comment_status'        => $wp_query->post->comment_status,
+			'comment_count'         => $wp_query->post->comment_count,
+
+			'is_404'          => false,
+			'is_page'         => false,
+			'is_single'       => false,
+			'is_archive'      => false,
+			'is_tax'          => false,
+		);
+	}
+	$dummy = wp_parse_args( $args, $defaults ); //, 'theme_compat_reset_post' );
+
+	// Clear out the post related globals
+	unset( $wp_query->posts );
+	unset( $wp_query->post  );
+	unset( $post            );
+
+	// Setup the dummy post object
+	$wp_query->post                        = new stdClass; 
+	$wp_query->post->ID                    = $dummy['ID'];
+	$wp_query->post->post_status           = $dummy['post_status'];
+	$wp_query->post->post_author           = $dummy['post_author'];
+	$wp_query->post->post_parent           = $dummy['post_parent'];
+	$wp_query->post->post_type             = $dummy['post_type'];
+	$wp_query->post->post_date             = $dummy['post_date'];
+	$wp_query->post->post_date_gmt         = $dummy['post_date_gmt'];
+	$wp_query->post->post_modified         = $dummy['post_modified'];
+	$wp_query->post->post_modified_gmt     = $dummy['post_modified_gmt'];
+	$wp_query->post->post_content          = $dummy['post_content'];
+	$wp_query->post->post_title            = $dummy['post_title'];
+	$wp_query->post->post_category         = $dummy['post_category'];
+	$wp_query->post->post_excerpt          = $dummy['post_content_filtered'];
+	$wp_query->post->post_content_filtered = $dummy['post_content_filtered'];
+	$wp_query->post->post_mime_type        = $dummy['post_mime_type'];
+	$wp_query->post->post_password         = $dummy['post_password'];
+	$wp_query->post->post_name             = $dummy['post_name'];
+	$wp_query->post->guid                  = $dummy['guid'];
+	$wp_query->post->menu_order            = $dummy['menu_order'];
+	$wp_query->post->pinged                = $dummy['pinged'];
+	$wp_query->post->to_ping               = $dummy['to_ping'];
+	$wp_query->post->ping_status           = $dummy['ping_status'];
+	$wp_query->post->comment_status        = $dummy['comment_status'];
+	$wp_query->post->comment_count         = $dummy['comment_count'];
+
+	// Set the $post global
+	$post = $wp_query->post;
+
+	// Setup the dummy post loop
+	$wp_query->posts[0] = $wp_query->post;
+
+	// Prevent comments form from appearing
+	$wp_query->post_count = 1;
+	$wp_query->is_404     = $dummy['is_404'];
+	$wp_query->is_page    = $dummy['is_page'];
+	$wp_query->is_single  = $dummy['is_single'];
+	$wp_query->is_archive = $dummy['is_archive'];
+	$wp_query->is_tax     = $dummy['is_tax'];
+
+	// If we are resetting a post, we are in theme compat
+	bp_set_theme_compat_active();
+}
+
+/**
+ * Reset main query vars and filter 'the_content' to output a BuddyPress
+ * template part as needed.
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @param string $template
+ * @uses bp_is_single_user() To check if page is single user
+ * @uses bp_get_single_user_template() To get user template
+ * @uses bp_is_single_user_edit() To check if page is single user edit
+ * @uses bp_get_single_user_edit_template() To get user edit template
+ * @uses bp_is_single_view() To check if page is single view
+ * @uses bp_get_single_view_template() To get view template
+ * @uses bp_is_forum_edit() To check if page is forum edit
+ * @uses bp_get_forum_edit_template() To get forum edit template
+ * @uses bp_is_topic_merge() To check if page is topic merge
+ * @uses bp_get_topic_merge_template() To get topic merge template
+ * @uses bp_is_topic_split() To check if page is topic split
+ * @uses bp_get_topic_split_template() To get topic split template
+ * @uses bp_is_topic_edit() To check if page is topic edit
+ * @uses bp_get_topic_edit_template() To get topic edit template
+ * @uses bp_is_reply_edit() To check if page is reply edit
+ * @uses bp_get_reply_edit_template() To get reply edit template
+ * @uses bp_set_theme_compat_template() To set the global theme compat template
+ */
+function bp_template_include_theme_compat( $template = '' ) {
+
+	// Bail if the template already matches a BuddyPress template
+	if ( !empty( buddypress()->theme_compat->found_template ) )
+		return $template;
+
+	/**
+	 * Use this action to execute code that will communicate to BuddyPress's
+	 * theme compatibility layer whether or not we're replacing the_content()
+	 * with some other template part.
+	 */
+	do_action( 'bp_template_include_reset_dummy_post_data' );
+
+	/**
+	 * If we are relying on BuddyPress's built in theme compatibility to load
+	 * the proper content, we need to intercept the_content, replace the
+	 * output, and display ours instead.
+	 *
+	 * To do this, we first remove all filters from 'the_content' and hook
+	 * our own function into it, which runs a series of checks to determine
+	 * the context, and then uses the built in shortcodes to output the
+	 * correct results from inside an output buffer.
+	 *
+	 * Uses bp_get_theme_compat_templates() to provide fall-backs that
+	 * should be coded without superfluous mark-up and logic (prev/next
+	 * navigation, comments, date/time, etc...)
+	 */
+	if ( bp_is_theme_compat_active() ) {
+
+		// Remove all filters from the_content
+		bp_remove_all_filters( 'the_content' );
+
+		// Add a filter on the_content late, which we will later remove
+		add_filter( 'the_content', 'bp_replace_the_content' );
+
+		// Find the appropriate template file
+		$template = bp_get_theme_compat_templates();
+	}
+
+	return apply_filters( 'bp_template_include_theme_compat', $template );
+}
+
+/**
+ * Replaces the_content() if the post_type being displayed is one that would
+ * normally be handled by BuddyPress, but proper single page templates do not
+ * exist in the currently active theme.
+ *
+ * @since BuddyPress (1.7)
+ * @param string $content
+ * @return type
+ */
+function bp_replace_the_content( $content = '' ) {
+
+	$new_content = apply_filters( 'bp_replace_the_content', $content );
+
+	// Juggle the content around and try to prevent unsightly comments
+	if ( !empty( $new_content ) && ( $new_content != $content ) ) {
+
+		// Set the content to be the new content
+		$content = apply_filters( 'bp_replace_the_content', $new_content, $content );
+
+		// Clean up after ourselves
+		unset( $new_content );
+
+		// Reset the $post global
+		wp_reset_postdata();
+	}
+
+	// Return possibly hi-jacked content
+	return $content;
+}
+
+/** Filters *******************************************************************/
+
+/**
+ * Removes all filters from a WordPress filter, and stashes them in the $bp
+ * global in the event they need to be restored later.
+ *
+ * @since BuddyPress (1.7)
+ * @global WP_filter $wp_filter
+ * @global array $merged_filters
+ * @param string $tag
+ * @param int $priority
+ * @return bool
+ */
+function bp_remove_all_filters( $tag, $priority = false ) {
+	global $wp_filter, $merged_filters;
+
+	$bp = buddypress();
+
+	// Filters exist
+	if ( isset( $wp_filter[$tag] ) ) {
+
+		// Filters exist in this priority
+		if ( !empty( $priority ) && isset( $wp_filter[$tag][$priority] ) ) {
+
+			// Store filters in a backup
+			$bp->filters->wp_filter[$tag][$priority] = $wp_filter[$tag][$priority];
+
+			// Unset the filters
+			unset( $wp_filter[$tag][$priority] );
+
+		// Priority is empty
+		} else {
+
+			// Store filters in a backup
+			$bp->filters->wp_filter[$tag] = $wp_filter[$tag];
+
+			// Unset the filters
+			unset( $wp_filter[$tag] );
+		}
+	}
+
+	// Check merged filters
+	if ( isset( $merged_filters[$tag] ) ) {
+
+		// Store filters in a backup
+		$bp->filters->merged_filters[$tag] = $merged_filters[$tag];
+
+		// Unset the filters
+		unset( $merged_filters[$tag] );
+	}
+
+	return true;
+}
+
+/**
+ * Restores filters from the $bp global that were removed using
+ * bp_remove_all_filters()
+ *
+ * @since BuddyPress (1.7)
+ * @global WP_filter $wp_filter
+ * @global array $merged_filters
+ * @param string $tag
+ * @param int $priority
+ * @return bool
+ */
+function bp_restore_all_filters( $tag, $priority = false ) {
+	global $wp_filter, $merged_filters;
+
+	$bp = buddypress();
+
+	// Filters exist
+	if ( isset( $bp->filters->wp_filter[$tag] ) ) {
+
+		// Filters exist in this priority
+		if ( !empty( $priority ) && isset( $bp->filters->wp_filter[$tag][$priority] ) ) {
+
+			// Store filters in a backup
+			$wp_filter[$tag][$priority] = $bp->filters->wp_filter[$tag][$priority];
+
+			// Unset the filters
+			unset( $bp->filters->wp_filter[$tag][$priority] );
+
+		// Priority is empty
+		} else {
+
+			// Store filters in a backup
+			$wp_filter[$tag] = $bp->filters->wp_filter[$tag];
+
+			// Unset the filters
+			unset( $bp->filters->wp_filter[$tag] );
+		}
+	}
+
+	// Check merged filters
+	if ( isset( $bp->filters->merged_filters[$tag] ) ) {
+
+		// Store filters in a backup
+		$merged_filters[$tag] = $bp->filters->merged_filters[$tag];
+
+		// Unset the filters
+		unset( $bp->filters->merged_filters[$tag] );
+	}
+
+	return true;
+}
+
+/**
+ * Force comments_status to 'closed' for BuddyPress post types
+ *
+ * @since BuddyPress (1.7)
+ * @param bool $open True if open, false if closed
+ * @param int $post_id ID of the post to check
+ * @return bool True if open, false if closed
+ */
+function bp_comments_open( $open, $post_id = 0 ) {
+
+	$retval = is_buddypress() ? false : $open;
+
+	// Allow override of the override
+	return apply_filters( 'bp_force_comment_status', $retval, $open, $post_id );
+}
Index: bp-groups/bp-groups-filters.php
--- bp-groups/bp-groups-filters.php
+++ bp-groups/bp-groups-filters.php
@@ -10,6 +10,11 @@
 // Exit if accessed directly
 if ( !defined( 'ABSPATH' ) ) exit;
 
+// Filter bbPress template locations
+
+add_filter( 'bp_groups_get_directory_template', 'bp_add_template_locations' );
+add_filter( 'bp_get_single_group_template',    'bp_add_template_locations' );
+
 /* Apply WordPress defined filters */
 add_filter( 'bp_get_group_description',         'wptexturize' );
 add_filter( 'bp_get_group_description_excerpt', 'wptexturize' );
Index: bp-groups/bp-groups-screens.php
--- bp-groups/bp-groups-screens.php
+++ bp-groups/bp-groups-screens.php
@@ -20,7 +20,7 @@
 
 		do_action( 'groups_directory_groups_setup' );
 
-		bp_core_load_template( apply_filters( 'groups_template_directory_groups', 'groups/index' ) );
+		bp_locate_template( apply_filters( 'groups_template_directory_groups', 'groups/index' ), true );
 	}
 }
 add_action( 'bp_screens', 'groups_directory_groups_setup', 2 );
@@ -38,7 +38,7 @@
 
 	do_action( 'groups_screen_my_groups' );
 
-	bp_core_load_template( apply_filters( 'groups_template_my_groups', 'members/single/home' ) );
+	bp_locate_template( apply_filters( 'groups_template_my_groups', 'members/single/home' ), true );
 }
 
 function groups_screen_group_invites() {
@@ -84,7 +84,7 @@
 
 	do_action( 'groups_screen_group_invites', $group_id );
 
-	bp_core_load_template( apply_filters( 'groups_template_group_invites', 'members/single/home' ) );
+	bp_locate_template( apply_filters( 'groups_template_group_invites', 'members/single/home' ), true );
 }
 
 function groups_screen_group_home() {
@@ -100,7 +100,7 @@
 
 		do_action( 'groups_screen_group_home' );
 
-		bp_core_load_template( apply_filters( 'groups_template_group_home', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_home', 'groups/single/home' ), true );
 	}
 }
 
@@ -148,11 +148,11 @@
 					groups_join_group( $bp->groups->current_group->id, bp_loggedin_user_id() );
 
 				$topic_page = isset( $_GET['topic_page'] ) ? $_GET['topic_page'] : false;
-				
+
 				// Don't allow reply flooding
 				if ( bp_forums_reply_exists( $_POST['reply_text'], $topic_id, bp_loggedin_user_id() ) ) {
 					bp_core_add_message( __( 'It looks like you\'ve already said that!', 'buddypress' ), 'error' );
-				} else {	
+				} else {
 					if ( !$post_id = groups_new_group_forum_post( $_POST['reply_text'], $topic_id, $topic_page ) )
 						bp_core_add_message( __( 'There was an error when replying to that topic', 'buddypress'), 'error' );
 					else
@@ -160,7 +160,7 @@
 				}
 
 				$query_vars = isset( $_SERVER['QUERY_STRING'] ) ? '?' . $_SERVER['QUERY_STRING'] : '';
-				
+
 				$redirect = bp_get_group_permalink( groups_get_current_group() ) . 'forum/topic/' . $topic_slug . '/' . $query_vars;
 
 				if ( !empty( $post_id ) ) {
@@ -273,7 +273,7 @@
 					bp_core_redirect( bp_get_group_permalink( groups_get_current_group() ) . 'forum/topic/' . $topic_slug . '/' );
 				}
 
-				bp_core_load_template( apply_filters( 'groups_template_group_forum_topic_edit', 'groups/single/home' ) );
+				bp_locate_template( apply_filters( 'groups_template_group_forum_topic_edit', 'groups/single/home' ), true );
 			}
 
 			// Delete a post
@@ -326,7 +326,7 @@
 					bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) . 'forum/topic/' . $topic_slug . '/' . $query_vars . '#post-' . $post_id );
 				}
 
-				bp_core_load_template( apply_filters( 'groups_template_group_forum_topic_edit', 'groups/single/home' ) );
+				bp_locate_template( apply_filters( 'groups_template_group_forum_topic_edit', 'groups/single/home' ), true );
 			}
 
 			// Standard topic display
@@ -334,7 +334,7 @@
 				if ( !empty( $user_is_banned ) )
 					bp_core_add_message( __( "You have been banned from this group.", 'buddypress' ) );
 
-				bp_core_load_template( apply_filters( 'groups_template_group_forum_topic', 'groups/single/home' ) );
+				bp_locate_template( apply_filters( 'groups_template_group_forum_topic', 'groups/single/home' ), true );
 			}
 
 		// Forum topic does not exist
@@ -382,7 +382,7 @@
 
 			do_action( 'groups_screen_group_forum', $topic_id, $forum_id );
 
-			bp_core_load_template( apply_filters( 'groups_template_group_forum', 'groups/single/home' ) );
+			bp_locate_template( apply_filters( 'groups_template_group_forum', 'groups/single/home' ), true );
 		}
 	}
 }
@@ -395,7 +395,7 @@
 		groups_update_groupmeta( $bp->groups->current_group->id, 'total_member_count', groups_get_total_member_count( $bp->groups->current_group->id ) );
 
 		do_action( 'groups_screen_group_members', $bp->groups->current_group->id );
-		bp_core_load_template( apply_filters( 'groups_template_group_members', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_members', 'groups/single/home' ) );
 	}
 }
 
@@ -422,7 +422,7 @@
 
 		} elseif ( !bp_action_variable( 0 ) ) {
 			// Show send invite page
-			bp_core_load_template( apply_filters( 'groups_template_group_invite', 'groups/single/home' ) );
+			bp_locate_template( apply_filters( 'groups_template_group_invite', 'groups/single/home' ), true );
 
 		} else {
 			bp_do_404();
@@ -453,7 +453,7 @@
 
 		do_action( 'groups_screen_group_request_membership', $bp->groups->current_group->id );
 
-		bp_core_load_template( apply_filters( 'groups_template_group_request_membership', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_request_membership', 'groups/single/home' ), true );
 	}
 }
 
@@ -465,7 +465,7 @@
 
 	$bp->is_single_item = true;
 
-	bp_core_load_template( apply_filters( 'groups_template_group_home', 'groups/single/home' ) );
+	bp_locate_template( apply_filters( 'groups_template_group_home', 'groups/single/home' ), true );
 }
 add_action( 'bp_screens', 'groups_screen_group_activity_permalink' );
 
@@ -505,7 +505,7 @@
 
 			do_action( 'groups_screen_group_admin_edit_details', $bp->groups->current_group->id );
 
-			bp_core_load_template( apply_filters( 'groups_template_group_admin', 'groups/single/home' ) );
+			bp_locate_template( apply_filters( 'groups_template_group_admin', 'groups/single/home' ), true );
 		}
 	}
 }
@@ -548,7 +548,7 @@
 
 		do_action( 'groups_screen_group_admin_settings', $bp->groups->current_group->id );
 
-		bp_core_load_template( apply_filters( 'groups_template_group_admin_settings', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_admin_settings', 'groups/single/home' ), true );
 	}
 }
 add_action( 'bp_screens', 'groups_screen_group_admin_settings' );
@@ -607,7 +607,7 @@
 
 		do_action( 'groups_screen_group_admin_avatar', $bp->groups->current_group->id );
 
-		bp_core_load_template( apply_filters( 'groups_template_group_admin_avatar', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_admin_avatar', 'groups/single/home' ), true );
 	}
 }
 add_action( 'bp_screens', 'groups_screen_group_admin_avatar' );
@@ -727,7 +727,7 @@
 
 		do_action( 'groups_screen_group_admin_manage_members', $bp->groups->current_group->id );
 
-		bp_core_load_template( apply_filters( 'groups_template_group_admin_manage_members', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_admin_manage_members', 'groups/single/home' ), true );
 	}
 }
 add_action( 'bp_screens', 'groups_screen_group_admin_manage_members' );
@@ -776,7 +776,7 @@
 		}
 
 		do_action( 'groups_screen_group_admin_requests', $bp->groups->current_group->id );
-		bp_core_load_template( apply_filters( 'groups_template_group_admin_requests', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_admin_requests', 'groups/single/home' ), true );
 	}
 }
 add_action( 'bp_screens', 'groups_screen_group_admin_requests' );
@@ -812,7 +812,7 @@
 
 		do_action( 'groups_screen_group_admin_delete_group', $bp->groups->current_group->id );
 
-		bp_core_load_template( apply_filters( 'groups_template_group_admin_delete_group', 'groups/single/home' ) );
+		bp_locate_template( apply_filters( 'groups_template_group_admin_delete_group', 'groups/single/home' ), true );
 	}
 }
 add_action( 'bp_screens', 'groups_screen_group_admin_delete_group' );
@@ -882,4 +882,164 @@
 }
 add_action( 'bp_notification_settings', 'groups_screen_notification_settings' );
 
-?>
+/** Theme Compatability *******************************************************/
+
+/**
+ * The main theme compat class for BuddyPress Groups
+ *
+ * This class sets up the necessary theme compatability actions to safely output
+ * group template parts to the_title and the_content areas of a theme.
+ *
+ * @since BuddyPress (1.7)
+ */
+class BP_Groups_Theme_Compat {
+
+	/**
+	 * Setup the groups component theme compatibility
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function __construct() {
+		add_action( 'bp_screens', array( $this, 'is_group' ) );
+	}
+
+	/**
+	 * Are we looking at something that needs group theme compatability?
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function is_group() {
+
+		// Bail if not looking at a group
+		if ( ! bp_is_groups_component() )
+			return;
+
+		// Group Directory
+		if ( ! bp_current_action() && ! bp_current_item() ) {
+			bp_update_is_directory( true, 'groups' );
+
+			do_action( 'groups_directory_groups_setup' );
+
+			add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
+			add_filter( 'bp_replace_the_content',                    array( $this, 'directory_content'    ) );
+
+		// Creating a group
+		} elseif ( bp_is_current_action( 'create' ) ) {
+			add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'create_dummy_post' ) );
+			add_filter( 'bp_replace_the_content',                    array( $this, 'create_content'    ) );
+
+		// Group admin
+		} elseif ( bp_is_single_item() ) {
+			add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'single_dummy_post' ) );
+			add_filter( 'bp_replace_the_content',                    array( $this, 'single_content'    ) );
+
+		}
+	}
+
+	/** Directory *************************************************************/
+
+	/**
+	 * Update the global $post with directory data
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function directory_dummy_post() {
+
+		// Title based on ability to create groups
+		if ( is_user_logged_in() && bp_user_can_create_groups() ) {
+			$title = __( 'Groups', 'buddypress' ) . '&nbsp;<a class="button" href="' . trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() . '/create' ) . '">' . __( 'Create a Group', 'buddypress' ) . '</a>';
+		} else {
+			$title = __( 'Groups', 'buddypress' );
+		}
+
+		bp_theme_compat_reset_post( array(
+			'ID'             => 0,
+			'post_title'     => $title,
+			'post_author'    => 0,
+			'post_date'      => 0,
+			'post_content'   => '',
+			'post_type'      => 'bp_group',
+			'post_status'    => 'publish',
+			'is_archive'     => true,
+			'comment_status' => 'closed'
+		) );
+	}
+
+	/**
+	 * Filter the_content with the groups index template part
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function directory_content() {
+		bp_buffer_template_part( 'groups/index' );
+	}
+
+	/** Create ****************************************************************/
+
+	/**
+	 * Update the global $post with create screen data
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function create_dummy_post() {
+
+		// Title based on ability to create groups
+		if ( is_user_logged_in() && bp_user_can_create_groups() ) {
+			$title = '<a class="button" href="' . trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() ) . '">' . __( 'Groups', 'buddypress' ) . '</a>&nbsp;' . __( 'Create a Group', 'buddypress' );
+		} else {
+			$title = __( 'Groups', 'buddypress' );
+		}
+
+		bp_theme_compat_reset_post( array(
+			'ID'             => 0,
+			'post_title'     => $title,
+			'post_author'    => 0,
+			'post_date'      => 0,
+			'post_content'   => '',
+			'post_type'      => 'bp_group',
+			'post_status'    => 'publish',
+			'is_archive'     => true,
+			'comment_status' => 'closed'
+		) );
+	}
+
+	/**
+	 * Filter the_content with the create screen template part
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function create_content() {
+		bp_buffer_template_part( 'groups/create' );
+	}
+
+	/** Single ****************************************************************/
+
+	/**
+	 * Update the global $post with single group data
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function single_dummy_post() {
+		bp_theme_compat_reset_post( array(
+			'ID'             => 0,
+			'post_title'     => bp_get_current_group_name(),
+			'post_author'    => 0,
+			'post_date'      => 0,
+			'post_content'   => '',
+			'post_type'      => 'bp_group',
+			'post_status'    => 'publish',
+			'is_archive'     => true,
+			'comment_status' => 'closed'
+		) );
+	}
+
+	/**
+	 * Filter the_content with the single group template part
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function single_content() {
+		bp_buffer_template_part( 'groups/single/home' );
+	}
+}
+new BP_Groups_Theme_Compat();
Index: bp-loader.php
--- bp-loader.php
+++ bp-loader.php
@@ -34,206 +34,155 @@
  */
 class BuddyPress {
 
-	/**
-	 * Note to Plugin and Theme authors:
-	 *
-	 * Do not directly reference the variables below in your code. Their names
-	 * and locations in the BuddyPress class are subject to change at any time.
-	 *
-	 * Most of them have reference functions located in bp-core-functions.php.
-	 * The ones that don't can be accessed via their respective WordPress API's.
-	 *
-	 * Components are encouraged to store their data in the $bp global rather
-	 * than new globals to keep all BuddyPress data in one place.
-	 */
+	/** Magic *****************************************************************/
 
-	/** Version ***************************************************************/
-
 	/**
-	 * @var string BuddyPress version
-	 */
-	public $version = '1.7';
-
-	/**
-	 * @var int Database version of current BuddyPress files
-	 */
-	public $db_version = 6066;
-
-	/**
-	 * @var int Database version raw from database connection
-	 */
-	public $db_version_raw = 0;
-
-	/**
-	 * @var string State of BuddyPress installation
-	 */
-	public $maintenance_mode = '';
-
-	/**
-	 * @var bool Include deprecated BuddyPress files or not
-	 */
-	public $load_deprecated = true;
-
-	/** Root ******************************************************************/
-
-	/**
-	 * @var int The root blog ID
-	 */
-	public $root_blog_id = 1;
-
-	/** Paths *****************************************************************/
-
-	/**
-	 * The absolute path and filename of this file.
+	 * BuddyPress uses many variables, most of which can be filtered to customize
+	 * the way that it works. To prevent unauthorized access, these variables
+	 * are stored in a private array that is magically updated using PHP 5.2+
+	 * methods. This is to prevent third party plugins from tampering with
+	 * essential information indirectly, which would cause issues later.
 	 *
-	 * @since BuddyPress (1.6)
-	 * @var string
+	 * @see BuddyPress::setup_globals()
+	 * @var array
 	 */
-	public $file;
+	private $data;
 
-	/**
-	 * @var string Basename of the BuddyPress plugin directory
-	 */
-	public $basename = '';
+	/** Not Magic *************************************************************/
 
 	/**
-	 * @var string Absolute path to the BuddyPress plugin directory
+	 * @var array Primary BuddyPress navigation
 	 */
-	public $plugin_dir = '';
+	public $bp_nav = array();
 
 	/**
-	 * @var string Absolute path to the BuddyPress themes directory
+	 * @var array Secondary BuddyPress navigation to $bp_nav
 	 */
-	public $themes_dir = '';
+	public $bp_options_nav = array();
 
 	/**
-	 * @var string Absolute path to the BuddyPress language directory
+	 * @var array The unfiltered URI broken down into chunks
+	 * @see bp_core_set_uri_globals()
 	 */
-	public $lang_dir = '';
+	public $unfiltered_uri = array();
 
-	/** URLs ******************************************************************/
-
 	/**
-	 * @var string URL to the BuddyPress plugin directory
+	 * @var array The canonical URI stack
+	 * @see bp_redirect_canonical()
+	 * @see bp_core_new_nav_item()
 	 */
-	public $plugin_url = '';
+	public $canonical_stack = array();
 
 	/**
-	 * @var string URL to the BuddyPress themes directory
+	 * @var array Additional navigation elements (supplemental)
 	 */
-	public $themes_url = '';
+	public $action_variables = array();
 
-	/** Users *****************************************************************/
-
 	/**
-	 * @var object Current user
+	 * @var array Required components (core, members)
 	 */
-	public $current_user = null;
+	public $required_components = array();
 
 	/**
-	 * @var object Displayed user
+	 * @var array Additional active components
 	 */
-	public $displayed_user = null;
+	public $loaded_components = array();
 
-	/** Navigation ************************************************************/
+	/** Option Overload *******************************************************/
 
 	/**
-	 * @var array Primary BuddyPress navigation
+	 * @var array Optional Overloads default options retrieved from get_option()
 	 */
-	public $bp_nav = array();
+	public $options = array();
 
-	/**
-	 * @var array Secondary BuddyPress navigation to $bp_nav
-	 */
-	public $bp_options_nav = array();
+	/** Singleton *************************************************************/
 
-	/** Toolbar ***************************************************************/
-
 	/**
-	 * @var string The primary toolbar ID
+	 * @var BuddyPress The one true BuddyPress
 	 */
-	public $my_account_menu_id = '';
+	private static $instance;
 
-	/** URI's *****************************************************************/
-
 	/**
-	 * @var array The unfiltered URI broken down into chunks
-	 * @see bp_core_set_uri_globals()
+	 * Main BuddyPress Instance
+	 *
+	 * BuddyPress is great
+	 * Please load it only one time
+	 * For this, we thank you
+	 *
+	 * Insures that only one instance of BuddyPress exists in memory at any one
+	 * time. Also prevents needing to define globals all over the place.
+	 *
+	 * @since BuddyPress (1.7)
+	 *
+	 * @staticvar array $instance
+	 * @uses BuddyPress::constants() Setup the constants (mostly deprecated)
+	 * @uses BuddyPress::setup_globals() Setup the globals needed
+	 * @uses BuddyPress::includes() Include the required files
+	 * @uses BuddyPress::setup_actions() Setup the hooks and actions
+	 * @see buddypress()
+	 *
+	 * @return The one true BuddyPress
 	 */
-	public $unfiltered_uri = array();
+	public static function instance() {
+		if ( ! isset( self::$instance ) ) {
+			self::$instance = new BuddyPress;
+			self::$instance->constants();
+			self::$instance->setup_globals();
+			self::$instance->includes();
+			self::$instance->setup_actions();
+		}
+		return self::$instance;
+	}
 
-	/**
-	 * @var int The current offset of the URI
-	 * @see bp_core_set_uri_globals()
-	 */
-	public $unfiltered_uri_offset = 0;
+	/** Magic Methods *********************************************************/
 
 	/**
-	 * @var bool Are status headers already sent?
+	 * A dummy constructor to prevent BuddyPress from being loaded more than once.
+	 *
+	 * @since BuddyPress (1.7)
+	 * @see BuddyPress::instance()
+	 * @see buddypress()
 	 */
-	public $no_status_set = false;
+	private function __construct() { /* Do nothing here */ }
 
 	/**
-	 * @var array The canonical URI stack
-	 * @see bp_redirect_canonical()
-	 * @see bp_core_new_nav_item()
+	 * A dummy magic method to prevent BuddyPress from being cloned
+	 *
+	 * @since BuddyPress (1.7)
 	 */
-	public $canonical_stack = array();
+	public function __clone() { _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'buddypress' ), '1.7' ); }
 
-	/** Components ************************************************************/
-
 	/**
-	 * @var string Name of the current BuddyPress component (primary)
+	 * A dummy magic method to prevent BuddyPress from being unserialized
+	 *
+	 * @since BuddyPress (1.7)
 	 */
-	public $current_component = '';
+	public function __wakeup() { _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'buddypress' ), '1.7' ); }
 
 	/**
-	 * @var string Name of the current BuddyPress item (secondary)
+	 * Magic method for checking the existence of a certain custom field
+	 *
+	 * @since BuddyPress (1.7)
 	 */
-	public $current_item = '';
+	public function __isset( $key ) { return isset( $this->data[$key] ); }
 
 	/**
-	 * @var string Name of the current BuddyPress action (tertiary)
+	 * Magic method for getting BuddyPress varibles
+	 *
+	 * @since BuddyPress (1.7)
 	 */
-	public $current_action = '';
+	public function __get( $key ) { return isset( $this->data[$key] ) ? $this->data[$key] : null; }
 
 	/**
-	 * @var array Additional navigation elements (supplemental)
+	 * Magic method for setting BuddyPress varibles
+	 *
+	 * @since BuddyPress (1.7)
 	 */
-	public $action_variables = array();
+	public function __set( $key, $value ) { $this->data[$key] = $value; }
 
-	/**
-	 * @var bool Displaying custom 2nd level navigation menu (I.E a group)
-	 */
-	public $is_single_item = false;
+	/** Private Methods *******************************************************/
 
-	/** Option Overload *******************************************************/
-
 	/**
-	 * @var array Optional Overloads default options retrieved from get_option()
-	 */
-	public $options = array();
-
-	/** Functions *************************************************************/
-
-	/**
-	 * The main BuddyPress loader
-	 *
-	 * @since BuddyPress (1.6)
-	 *
-	 * @uses BuddyPress::constants() Setup legacy constants
-	 * @uses BuddyPress::setup_globals() Setup globals needed
-	 * @uses BuddyPress::includes() Includ required files
-	 * @uses BuddyPress::setup_actions() Setup hooks and actions
-	 */
-	public function __construct() {
-		$this->constants();
-		$this->setup_globals();
-		$this->includes();
-		$this->setup_actions();
-	}
-
-	/**
 	 * Legacy BuddyPress constants
 	 *
 	 * Try to avoid using these. Their values have been moved into variables
@@ -315,6 +264,59 @@
 	 */
 	private function setup_globals() {
 
+		/** Versions **********************************************************/
+
+		$this->version        = '1.7';
+		$this->db_version     = 6066;
+		$this->db_version_raw = 0;
+
+		/** Loading ***********************************************************/
+
+		$this->maintenance_mode = '';
+		$this->load_deprecated  = true;
+
+		/** Toolbar ***********************************************************/
+
+		/**
+		 * @var string The primary toolbar ID
+		 */
+		$this->my_account_menu_id = '';
+
+		/** URI's *************************************************************/
+
+		/**
+		 * @var int The current offset of the URI
+		 * @see bp_core_set_uri_globals()
+		 */
+		$this->unfiltered_uri_offset = 0;
+
+		/**
+		 * @var bool Are status headers already sent?
+		 */
+		$this->no_status_set = false;
+
+		/** Components ********************************************************/
+
+		/**
+		 * @var string Name of the current BuddyPress component (primary)
+		 */
+		$this->current_component = '';
+
+		/**
+		 * @var string Name of the current BuddyPress item (secondary)
+		 */
+		$this->current_item = '';
+
+		/**
+		 * @var string Name of the current BuddyPress action (tertiary)
+		 */
+		$this->current_action = '';
+
+		/**
+		 * @var bool Displaying custom 2nd level navigation menu (I.E a group)
+		 */
+		$this->is_single_item = false;
+	
 		/** Root **************************************************************/
 
 		// BuddyPress Root blog ID
@@ -335,6 +337,11 @@
 		// Languages
 		$this->lang_dir   = $this->plugin_dir . 'bp-languages';
 
+		/** Theme Compat ******************************************************/
+
+		$this->theme_compat   = new stdClass(); // Base theme compatibility class
+		$this->filters        = new stdClass(); // Used when adding/removing filters
+
 		/** Users *************************************************************/
 
 		$this->current_user       = new stdClass();
@@ -367,7 +374,7 @@
 			$versions['1.2']        = get_site_option(                      'bp-core-db-version' );
 			$versions['1.5-multi']  = get_site_option(                           'bp-db-version' );
 			$versions['1.6-multi']  = get_site_option(                          '_bp_db_version' );
-			$versions['1.5-single'] = get_blog_option( $this->root_blog_id,     'bp-db-version'  );
+			$versions['1.5-single'] = get_blog_option( $this->root_blog_id,      'bp-db-version' );
 
 			// Remove empty array items
 			$versions             = array_filter( $versions );
@@ -411,7 +418,12 @@
 		// Not in maintenance mode
 		if ( empty( $this->maintenance_mode ) ) {
 
+			// Theme compatability
+			require( $this->plugin_dir . 'bp-core/bp-core-template-loader.php'     );
+			require( $this->plugin_dir . 'bp-core/bp-core-theme-compatability.php' );
+
 			// Require all of the BuddyPress core libraries
+			require( $this->plugin_dir . 'bp-core/bp-core-dependency.php' );
 			require( $this->plugin_dir . 'bp-core/bp-core-actions.php'    );
 			require( $this->plugin_dir . 'bp-core/bp-core-caps.php'       );
 			require( $this->plugin_dir . 'bp-core/bp-core-cache.php'      );
@@ -461,12 +473,14 @@
 
 		// Array of BuddyPress core actions
 		$actions = array(
+			'setup_theme',              // Setup the default theme compat
 			'setup_current_user',       // Setup currently logged in user
 			'register_post_types',      // Register post types
 			'register_post_statuses',   // Register post statuses
 			'register_taxonomies',      // Register taxonomies
 			'register_views',           // Register the views
 			'register_theme_directory', // Register the theme directory
+			'register_theme_packages',  // Register bundled theme packages (bp-themes)
 			'load_textdomain',          // Load textdomain
 			'add_rewrite_tags',         // Add rewrite tags
 			'generate_rewrite_rules'    // Generate rewrite rules
@@ -479,11 +493,72 @@
 		// Setup the BuddyPress theme directory
 		register_theme_directory( $this->themes_dir );
 	}
+	
+	/** Public Methods ********************************************************/
+
+	/**
+	 * Register bundled theme packages
+	 *
+	 * Note that since we currently have complete control over bp-themes and
+	 * the bp-theme-compat folders, it's fine to hardcode these here. If at a
+	 * later date we need to automate this, an API will need to be built.
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function register_theme_packages() {
+		bp_register_theme_package( array(
+			'id'      => 'default',
+			'name'    => __( 'BuddyPress Default', 'buddypress' ),
+			'version' => bp_get_version(),
+			'dir'     => trailingslashit( $this->themes_dir . '/bp-theme-compat' ),
+			'url'     => trailingslashit( $this->themes_url . '/bp-theme-compat' )
+		) );
+	}
+	
+	/**
+	 * Setup the default BuddyPress theme compatability location.
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function setup_theme() {
+
+		// Bail if something already has this under control
+		if ( ! empty( $this->theme_compat->theme ) )
+			return;
+
+		// Setup the theme package to use for compatibility
+		bp_setup_theme_compat( bp_get_theme_package_id() );
+	}
 }
 
-// "And now for something completely different"
-$GLOBALS['bp'] = new BuddyPress;
+/**
+ * The main function responsible for returning the one true BuddyPress Instance
+ * to functions everywhere.
+ *
+ * Use this function like you would a global variable, except without needing
+ * to declare the global.
+ *
+ * Example: <?php $bp = buddypress(); ?>
+ *
+ * @return The one true BuddyPress Instance
+ */
+function buddypress() {
+	return buddypress::instance();
+}
 
-endif;
+/**
+ * Hook BuddyPress early onto the 'plugins_loaded' action.
+ *
+ * This gives all other plugins the chance to load before BuddyPress, to get
+ * their actions, filters, and overrides setup without BuddyPress being in the
+ * way.
+ */
+if ( defined( 'BUDDYPRESS_LATE_LOAD' ) ) {
+	add_action( 'plugins_loaded', 'buddypress', (int) BUDDYPRESS_LATE_LOAD );
 
-?>
+// "And now here's something we hope you'll really like!"
+} else {
+	$GLOBALS['bp'] = &buddypress();
+}
+
+endif;
Index: bp-members/bp-members-screens.php
--- bp-members/bp-members-screens.php
+++ bp-members/bp-members-screens.php
@@ -260,4 +260,77 @@
 }
 add_action( 'bp_screens', 'bp_core_screen_activation' );
 
-?>
+/** Theme Compatability *******************************************************/
+
+/**
+ * The main theme compat class for BuddyPress Groups
+ *
+ * This class sets up the necessary theme compatability actions to safely output
+ * group template parts to the_title and the_content areas of a theme.
+ *
+ * @since BuddyPress (1.7)
+ */
+class BP_Members_Theme_Compat {
+
+	/**
+	 * Setup the groups component theme compatibility
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function __construct() {
+		add_action( 'bp_screens', array( $this, 'is_members' ) );
+	}
+
+	/**
+	 * Are we looking at something that needs group theme compatability?
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function is_members() {
+
+		// Bail if not looking at a group
+		if ( ! bp_is_members_component() )
+			return;
+
+		// Group Directory
+		if ( ! bp_current_action() && ! bp_current_item() ) {
+			bp_update_is_directory( true, 'members' );
+
+			do_action( 'members_directory_groups_setup' );
+
+			add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
+			add_filter( 'bp_replace_the_content',                    array( $this, 'directory_content'    ) );
+		}
+	}
+
+	/** Directory *************************************************************/
+
+	/**
+	 * Update the global $post with directory data
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function directory_dummy_post() {
+		bp_theme_compat_reset_post( array(
+			'ID'             => 0,
+			'post_title'     => __( 'Members', 'buddypress' ),
+			'post_author'    => 0,
+			'post_date'      => 0,
+			'post_content'   => '',
+			'post_type'      => 'bp_members',
+			'post_status'    => 'publish',
+			'is_archive'     => true,
+			'comment_status' => 'closed'
+		) );
+	}
+
+	/**
+	 * Filter the_content with the groups index template part
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function directory_content() {
+		bp_buffer_template_part( 'members/index' );
+	}
+}
+new BP_Members_Theme_Compat();
Index: bp-themes/bp-theme-compat/buddypress-functions.php
--- bp-themes/bp-theme-compat/buddypress-functions.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress-functions.php Locally New
@@ -0,0 +1,167 @@
+<?php
+
+/**
+ * Functions of BuddyPress's Default theme
+ *
+ * @package BuddyPress
+ * @subpackage BP_Theme_Compat
+ * @since BuddyPress (1.7)
+ */
+
+// Exit if accessed directly
+if ( !defined( 'ABSPATH' ) ) exit;
+
+/** Theme Setup ***************************************************************/
+
+if ( !class_exists( 'BP_Default' ) ) :
+
+/**
+ * Loads BuddyPress Default Theme functionality
+ *
+ * This is not a real theme by WordPress standards, and is instead used as the
+ * fallback for any WordPress theme that does not have BuddyPress templates in it.
+ *
+ * To make your custom theme BuddyPress compatible and customize the templates, you
+ * can copy these files into your theme without needing to merge anything
+ * together; BuddyPress should safely handle the rest.
+ *
+ * See @link BBP_Theme_Compat() for more.
+ *
+ * @since BuddyPress (1.7)
+ *
+ * @package BuddyPress
+ * @subpackage BBP_Theme_Compat
+ */
+class BP_Default extends BP_Theme_Compat {
+
+	/** Functions *************************************************************/
+
+	/**
+	 * The main BuddyPress (Default) Loader
+	 *
+	 * @since BuddyPress (1.7)
+	 *
+	 * @uses BP_Default::setup_globals()
+	 * @uses BP_Default::setup_actions()
+	 */
+	public function __construct() {
+		$this->setup_globals();
+		$this->setup_actions();
+	}
+
+	/**
+	 * Component global variables
+	 *
+	 * Note that this function is currently commented out in the constructor.
+	 * It will only be used if you copy this file into your current theme and
+	 * uncomment the line above.
+	 *
+	 * You'll want to customize the values in here, so they match whatever your
+	 * needs are.
+	 *
+	 * @since BuddyPress (1.7)
+	 * @access private
+	 */
+	private function setup_globals() {
+		$bbp           = buddypress();
+		$this->id      = 'default';
+		$this->name    = __( 'BuddyPress Default', 'bbpress' );
+		$this->version = bp_get_version();
+		$this->dir     = trailingslashit( $bbp->themes_dir . '/bp-theme-compat' );
+		$this->url     = trailingslashit( $bbp->themes_url . '/bp-theme-compat' );
+	}
+
+	/**
+	 * Setup the theme hooks
+	 *
+	 * @since BuddyPress (1.7)
+	 * @access private
+	 *
+	 * @uses add_filter() To add various filters
+	 * @uses add_action() To add various actions
+	 */
+	private function setup_actions() {
+
+		/** Scripts ***********************************************************/
+
+		add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_styles'   ) ); // Enqueue theme CSS
+		add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_scripts'  ) ); // Enqueue theme JS
+		add_filter( 'bp_enqueue_scripts', array( $this, 'localize_scripts' ) ); // Enqueue theme script localization
+		add_action( 'bp_head',            array( $this, 'head_scripts'     ) ); // Output some extra JS in the <head>
+
+		/** Override **********************************************************/
+
+		do_action_ref_array( 'bp_theme_compat_actions', array( &$this ) );
+	}
+
+	/**
+	 * Load the theme CSS
+	 *
+	 * @since BuddyPress (1.7)
+	 *
+	 * @uses wp_enqueue_style() To enqueue the styles
+	 */
+	public function enqueue_styles() {
+
+		// LTR or RTL
+		$file = is_rtl() ? 'css/buddypress-rtl.css' : 'css/buddypress.css';
+
+		// Check child theme
+		if ( file_exists( trailingslashit( get_stylesheet_directory() ) . $file ) ) {
+			$location = trailingslashit( get_stylesheet_directory_uri() );
+			$handle   = 'bp-child-bbpress';
+
+		// Check parent theme
+		} elseif ( file_exists( trailingslashit( get_template_directory() ) . $file ) ) {
+			$location = trailingslashit( get_template_directory_uri() );
+			$handle   = 'bp-parent-bbpress';
+
+		// BuddyPress Theme Compatibility
+		} else {
+			$location = trailingslashit( $this->url );
+			$handle   = 'bp-default-bbpress';
+		}
+
+		// Enqueue the BuddyPress styling
+		wp_enqueue_style( $handle, $location . $file, array(), $this->version, 'screen' );
+	}
+
+	/**
+	 * Enqueue the required Javascript files
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function enqueue_scripts() {
+
+	}
+
+	/**
+	 * Put some scripts in the header, like AJAX url for wp-lists
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function head_scripts() {
+	?>
+
+		<script type="text/javascript" charset="utf-8">
+			/* <![CDATA[ */
+			var ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
+			/* ]]> */
+		</script>
+
+	<?php
+	}
+
+	/**
+	 * Load localizations for topic script
+	 *
+	 * These localizations require information that may not be loaded even by init.
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function localize_scripts() {
+
+	}
+}
+new BP_Default();
+endif;
Index: bp-themes/bp-theme-compat/buddypress/activity/activity-loop.php
--- bp-themes/bp-theme-compat/buddypress/activity/activity-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/activity/activity-loop.php Locally New
@@ -0,0 +1,53 @@
+<?php do_action( 'bp_before_activity_loop' ); ?>
+
+<?php if ( bp_has_activities( bp_ajax_querystring( 'activity' ) ) ) : ?>
+
+	<?php /* Show pagination if JS is not enabled, since the "Load More" link will do nothing */ ?>
+	<noscript>
+		<div class="pagination">
+			<div class="pag-count"><?php bp_activity_pagination_count(); ?></div>
+			<div class="pagination-links"><?php bp_activity_pagination_links(); ?></div>
+		</div>
+	</noscript>
+
+	<?php if ( empty( $_POST['page'] ) ) : ?>
+
+		<ul id="activity-stream" class="activity-list item-list">
+
+	<?php endif; ?>
+
+	<?php while ( bp_activities() ) : bp_the_activity(); ?>
+
+		<?php bp_get_template_part( 'activity/entry' ); ?>
+
+	<?php endwhile; ?>
+
+	<?php if ( bp_activity_has_more_items() ) : ?>
+
+		<li class="load-more">
+			<a href="#more"><?php _e( 'Load More', 'buddypress' ); ?></a>
+		</li>
+
+	<?php endif; ?>
+
+	<?php if ( empty( $_POST['page'] ) ) : ?>
+
+		</ul>
+
+	<?php endif; ?>
+
+<?php else : ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'Sorry, there was no activity found. Please try a different filter.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_activity_loop' ); ?>
+
+<form action="" name="activity-loop-form" id="activity-loop-form" method="post">
+
+	<?php wp_nonce_field( 'activity_filter', '_wpnonce_activity_filter' ); ?>
+
+</form>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/activity/comment.php
--- bp-themes/bp-theme-compat/buddypress/activity/comment.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/activity/comment.php Locally New
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * BuddyPress - Activity Stream Comment
+ *
+ * This template is used by bp_activity_comments() functions to show
+ * each activity.
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_activity_comment' ); ?>
+
+<li id="acomment-<?php bp_activity_comment_id(); ?>">
+	<div class="acomment-avatar">
+		<a href="<?php bp_activity_comment_user_link(); ?>">
+			<?php bp_activity_avatar( 'type=thumb&user_id=' . bp_get_activity_comment_user_id() ); ?>
+		</a>
+	</div>
+
+	<div class="acomment-meta">
+		<?php
+		/* translators: 1: user profile link, 2: user name, 3: activity permalink, 4: activity timestamp */
+		printf( __( '<a href="%1$s">%2$s</a> replied <a href="%3$s" class="activity-time-since"><span class="time-since">%4$s</span></a>', 'buddypress' ), bp_get_activity_comment_user_link(), bp_get_activity_comment_name(), bp_get_activity_thread_permalink(), bp_get_activity_comment_date_recorded() );
+		?>
+	</div>
+
+	<div class="acomment-content"><?php bp_activity_comment_content(); ?></div>
+
+	<div class="acomment-options">
+
+		<?php if ( is_user_logged_in() && bp_activity_can_comment_reply( bp_activity_current_comment() ) ) : ?>
+
+			<a href="#acomment-<?php bp_activity_comment_id(); ?>" class="acomment-reply bp-primary-action" id="acomment-reply-<?php bp_activity_id(); ?>-from-<?php bp_activity_comment_id(); ?>"><?php _e( 'Reply', 'buddypress' ); ?></a>
+
+		<?php endif; ?>
+
+		<?php if ( bp_activity_user_can_delete() ) : ?>
+
+			<a href="<?php bp_activity_comment_delete_link(); ?>" class="delete acomment-delete confirm bp-secondary-action" rel="nofollow"><?php _e( 'Delete', 'buddypress' ); ?></a>
+
+		<?php endif; ?>
+
+		<?php do_action( 'bp_activity_comment_options' ); ?>
+
+	</div>
+
+	<?php bp_activity_recurse_comments( bp_activity_current_comment() ); ?>
+</li>
+
+<?php do_action( 'bp_after_activity_comment' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/activity/entry.php
--- bp-themes/bp-theme-compat/buddypress/activity/entry.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/activity/entry.php Locally New
@@ -0,0 +1,124 @@
+<?php
+
+/**
+ * BuddyPress - Activity Stream (Single Item)
+ *
+ * This template is used by activity-loop.php and AJAX functions to show
+ * each activity.
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_activity_entry' ); ?>
+
+<li class="<?php bp_activity_css_class(); ?>" id="activity-<?php bp_activity_id(); ?>">
+	<div class="activity-avatar">
+		<a href="<?php bp_activity_user_link(); ?>">
+
+			<?php bp_activity_avatar(); ?>
+
+		</a>
+	</div>
+
+	<div class="activity-content">
+
+		<div class="activity-header">
+
+			<?php bp_activity_action(); ?>
+
+		</div>
+
+		<?php if ( 'activity_comment' == bp_get_activity_type() ) : ?>
+
+			<div class="activity-inreplyto">
+				<strong><?php _e( 'In reply to: ', 'buddypress' ); ?></strong><?php bp_activity_parent_content(); ?> <a href="<?php bp_activity_thread_permalink(); ?>" class="view" title="<?php _e( 'View Thread / Permalink', 'buddypress' ); ?>"><?php _e( 'View', 'buddypress' ); ?></a>
+			</div>
+
+		<?php endif; ?>
+
+		<?php if ( bp_activity_has_content() ) : ?>
+
+			<div class="activity-inner">
+
+				<?php bp_activity_content_body(); ?>
+
+			</div>
+
+		<?php endif; ?>
+
+		<?php do_action( 'bp_activity_entry_content' ); ?>
+
+		<?php if ( is_user_logged_in() ) : ?>
+
+			<div class="activity-meta">
+
+				<?php if ( bp_activity_can_comment() ) : ?>
+
+					<a href="<?php bp_get_activity_comment_link(); ?>" class="button acomment-reply bp-primary-action" id="acomment-comment-<?php bp_activity_id(); ?>"><?php printf( __( 'Comment <span>%s</span>', 'buddypress' ), bp_activity_get_comment_count() ); ?></a>
+
+				<?php endif; ?>
+
+				<?php if ( bp_activity_can_favorite() ) : ?>
+
+					<?php if ( !bp_get_activity_is_favorite() ) : ?>
+
+						<a href="<?php bp_activity_favorite_link(); ?>" class="button fav bp-secondary-action" title="<?php esc_attr_e( 'Mark as Favorite', 'buddypress' ); ?>"><?php _e( 'Favorite', 'buddypress' ); ?></a>
+
+					<?php else : ?>
+
+						<a href="<?php bp_activity_unfavorite_link(); ?>" class="button unfav bp-secondary-action" title="<?php esc_attr_e( 'Remove Favorite', 'buddypress' ); ?>"><?php _e( 'Remove Favorite', 'buddypress' ); ?></a>
+
+					<?php endif; ?>
+
+				<?php endif; ?>
+
+				<?php if ( bp_activity_user_can_delete() ) bp_activity_delete_link(); ?>
+
+				<?php do_action( 'bp_activity_entry_meta' ); ?>
+
+			</div>
+
+		<?php endif; ?>
+
+	</div>
+
+	<?php do_action( 'bp_before_activity_entry_comments' ); ?>
+
+	<?php if ( ( is_user_logged_in() && bp_activity_can_comment() ) || bp_activity_get_comment_count() ) : ?>
+
+		<div class="activity-comments">
+
+			<?php bp_activity_comments(); ?>
+
+			<?php if ( is_user_logged_in() ) : ?>
+
+				<form action="<?php bp_activity_comment_form_action(); ?>" method="post" id="ac-form-<?php bp_activity_id(); ?>" class="ac-form"<?php bp_activity_comment_form_nojs_display(); ?>>
+					<div class="ac-reply-avatar"><?php bp_loggedin_user_avatar( 'width=' . BP_AVATAR_THUMB_WIDTH . '&height=' . BP_AVATAR_THUMB_HEIGHT ); ?></div>
+					<div class="ac-reply-content">
+						<div class="ac-textarea">
+							<textarea id="ac-input-<?php bp_activity_id(); ?>" class="ac-input" name="ac_input_<?php bp_activity_id(); ?>"></textarea>
+						</div>
+						<input type="submit" name="ac_form_submit" value="<?php _e( 'Post', 'buddypress' ); ?>" /> &nbsp; <?php _e( 'or press esc to cancel.', 'buddypress' ); ?>
+						<input type="hidden" name="comment_form_id" value="<?php bp_activity_id(); ?>" />
+					</div>
+
+					<?php do_action( 'bp_activity_entry_comments' ); ?>
+
+					<?php wp_nonce_field( 'new_activity_comment', '_wpnonce_new_activity_comment' ); ?>
+
+				</form>
+
+			<?php endif; ?>
+
+		</div>
+
+	<?php endif; ?>
+
+	<?php do_action( 'bp_after_activity_entry_comments' ); ?>
+
+</li>
+
+<?php do_action( 'bp_after_activity_entry' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/activity/index.php
--- bp-themes/bp-theme-compat/buddypress/activity/index.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/activity/index.php Locally New
@@ -0,0 +1,125 @@
+<?php do_action( 'bp_before_directory_activity' ); ?>
+
+<?php do_action( 'bp_before_directory_activity_content' ); ?>
+
+<?php if ( is_user_logged_in() ) : ?>
+
+	<?php bp_get_template_part( 'activity/post-form' ); ?>
+
+<?php endif; ?>
+
+<?php do_action( 'template_notices' ); ?>
+
+<div class="item-list-tabs activity-type-tabs" role="navigation">
+	<ul>
+		<?php do_action( 'bp_before_activity_type_tab_all' ); ?>
+
+		<li class="selected" id="activity-all"><a href="<?php bp_activity_directory_permalink(); ?>" title="<?php _e( 'The public activity for everyone on this site.', 'buddypress' ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?></a></li>
+
+		<?php if ( is_user_logged_in() ) : ?>
+
+			<?php do_action( 'bp_before_activity_type_tab_friends' ); ?>
+
+			<?php if ( bp_is_active( 'friends' ) ) : ?>
+
+				<?php if ( bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
+
+					<li id="activity-friends"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/' . bp_get_friends_slug() . '/'; ?>" title="<?php _e( 'The activity of my friends only.', 'buddypress' ); ?>"><?php printf( __( 'My Friends <span>%s</span>', 'buddypress' ), bp_get_total_friend_count( bp_loggedin_user_id() ) ); ?></a></li>
+
+				<?php endif; ?>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_before_activity_type_tab_groups' ); ?>
+
+			<?php if ( bp_is_active( 'groups' ) ) : ?>
+
+				<?php if ( bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ) : ?>
+
+					<li id="activity-groups"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/' . bp_get_groups_slug() . '/'; ?>" title="<?php _e( 'The activity of groups I am a member of.', 'buddypress' ); ?>"><?php printf( __( 'My Groups <span>%s</span>', 'buddypress' ), bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
+
+				<?php endif; ?>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_before_activity_type_tab_favorites' ); ?>
+
+			<?php if ( bp_get_total_favorite_count_for_user( bp_loggedin_user_id() ) ) : ?>
+
+				<li id="activity-favorites"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/favorites/'; ?>" title="<?php _e( "The activity I've marked as a favorite.", 'buddypress' ); ?>"><?php printf( __( 'My Favorites <span>%s</span>', 'buddypress' ), bp_get_total_favorite_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_before_activity_type_tab_mentions' ); ?>
+
+			<li id="activity-mentions"><a href="<?php echo bp_loggedin_user_domain() . bp_get_activity_slug() . '/mentions/'; ?>" title="<?php _e( 'Activity that I have been mentioned in.', 'buddypress' ); ?>"><?php _e( 'Mentions', 'buddypress' ); ?><?php if ( bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ) : ?> <strong><?php printf( __( '<span>%s new</span>', 'buddypress' ), bp_get_total_mention_count_for_user( bp_loggedin_user_id() ) ); ?></strong><?php endif; ?></a></li>
+
+		<?php endif; ?>
+
+		<?php do_action( 'bp_activity_type_tabs' ); ?>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<li class="feed"><a href="<?php bp_sitewide_activity_feed_link(); ?>" title="<?php _e( 'RSS Feed', 'buddypress' ); ?>"><?php _e( 'RSS', 'buddypress' ); ?></a></li>
+
+		<?php do_action( 'bp_activity_syndication_options' ); ?>
+
+		<li id="activity-filter-select" class="last">
+			<label for="activity-filter-by"><?php _e( 'Show:', 'buddypress' ); ?></label>
+			<select id="activity-filter-by">
+				<option value="-1"><?php _e( 'Everything', 'buddypress' ); ?></option>
+				<option value="activity_update"><?php _e( 'Updates', 'buddypress' ); ?></option>
+
+				<?php if ( bp_is_active( 'blogs' ) ) : ?>
+
+					<option value="new_blog_post"><?php _e( 'Posts', 'buddypress' ); ?></option>
+					<option value="new_blog_comment"><?php _e( 'Comments', 'buddypress' ); ?></option>
+
+				<?php endif; ?>
+
+				<?php if ( bp_is_active( 'forums' ) ) : ?>
+
+					<option value="new_forum_topic"><?php _e( 'Forum Topics', 'buddypress' ); ?></option>
+					<option value="new_forum_post"><?php _e( 'Forum Replies', 'buddypress' ); ?></option>
+
+				<?php endif; ?>
+
+				<?php if ( bp_is_active( 'groups' ) ) : ?>
+
+					<option value="created_group"><?php _e( 'New Groups', 'buddypress' ); ?></option>
+					<option value="joined_group"><?php _e( 'Group Memberships', 'buddypress' ); ?></option>
+
+				<?php endif; ?>
+
+				<?php if ( bp_is_active( 'friends' ) ) : ?>
+
+					<option value="friendship_accepted,friendship_created"><?php _e( 'Friendships', 'buddypress' ); ?></option>
+
+				<?php endif; ?>
+
+				<option value="new_member"><?php _e( 'New Members', 'buddypress' ); ?></option>
+
+				<?php do_action( 'bp_activity_filter_options' ); ?>
+
+			</select>
+		</li>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<?php do_action( 'bp_before_directory_activity_list' ); ?>
+
+<div class="activity" role="main">
+
+	<?php bp_get_template_part( 'activity/activity-loop' ); ?>
+
+</div><!-- .activity -->
+
+<?php do_action( 'bp_after_directory_activity_list' ); ?>
+
+<?php do_action( 'bp_directory_activity_content' ); ?>
+
+<?php do_action( 'bp_after_directory_activity_content' ); ?>
+
+<?php do_action( 'bp_after_directory_activity' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/activity/post-form.php
--- bp-themes/bp-theme-compat/buddypress/activity/post-form.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/activity/post-form.php Locally New
@@ -0,0 +1,74 @@
+<?php
+
+/**
+ * BuddyPress - Activity Post Form
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<form action="<?php bp_activity_post_form_action(); ?>" method="post" id="whats-new-form" name="whats-new-form" role="complementary">
+
+	<?php do_action( 'bp_before_activity_post_form' ); ?>
+
+	<div id="whats-new-avatar">
+		<a href="<?php echo bp_loggedin_user_domain(); ?>">
+			<?php bp_loggedin_user_avatar( 'width=' . bp_core_avatar_thumb_width() . '&height=' . bp_core_avatar_thumb_height() ); ?>
+		</a>
+	</div>
+
+	<h5><?php if ( bp_is_group() )
+			printf( __( "What's new in %s, %s?", 'buddypress' ), bp_get_group_name(), bp_get_user_firstname() );
+		else
+			printf( __( "What's new, %s?", 'buddypress' ), bp_get_user_firstname() );
+	?></h5>
+
+	<div id="whats-new-content">
+		<div id="whats-new-textarea">
+			<textarea name="whats-new" id="whats-new" cols="50" rows="10"><?php if ( isset( $_GET['r'] ) ) : ?>@<?php echo esc_attr( $_GET['r'] ); ?> <?php endif; ?></textarea>
+		</div>
+
+		<div id="whats-new-options">
+			<div id="whats-new-submit">
+				<input type="submit" name="aw-whats-new-submit" id="aw-whats-new-submit" value="<?php _e( 'Post Update', 'buddypress' ); ?>" />
+			</div>
+
+			<?php if ( bp_is_active( 'groups' ) && !bp_is_my_profile() && !bp_is_group() ) : ?>
+
+				<div id="whats-new-post-in-box">
+
+					<?php _e( 'Post in', 'buddypress' ); ?>:
+
+					<select id="whats-new-post-in" name="whats-new-post-in">
+						<option selected="selected" value="0"><?php _e( 'My Profile', 'buddypress' ); ?></option>
+
+						<?php if ( bp_has_groups( 'user_id=' . bp_loggedin_user_id() . '&type=alphabetical&max=100&per_page=100&populate_extras=0' ) ) :
+							while ( bp_groups() ) : bp_the_group(); ?>
+
+								<option value="<?php bp_group_id(); ?>"><?php bp_group_name(); ?></option>
+
+							<?php endwhile;
+						endif; ?>
+
+					</select>
+				</div>
+				<input type="hidden" id="whats-new-post-object" name="whats-new-post-object" value="groups" />
+
+			<?php elseif ( bp_is_group_home() ) : ?>
+
+				<input type="hidden" id="whats-new-post-object" name="whats-new-post-object" value="groups" />
+				<input type="hidden" id="whats-new-post-in" name="whats-new-post-in" value="<?php bp_group_id(); ?>" />
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_activity_post_form_options' ); ?>
+
+		</div><!-- #whats-new-options -->
+	</div><!-- #whats-new-content -->
+
+	<?php wp_nonce_field( 'post_update', '_wpnonce_post_update' ); ?>
+	<?php do_action( 'bp_after_activity_post_form' ); ?>
+
+</form><!-- #whats-new-form -->
Index: bp-themes/bp-theme-compat/buddypress/blogs/blogs-loop.php
--- bp-themes/bp-theme-compat/buddypress/blogs/blogs-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/blogs/blogs-loop.php Locally New
@@ -0,0 +1,95 @@
+<?php
+
+/**
+ * BuddyPress - Blogs Loop
+ *
+ * Querystring is set via AJAX in _inc/ajax.php - bp_dtheme_object_filter()
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_blogs_loop' ); ?>
+
+<?php if ( bp_has_blogs( bp_ajax_querystring( 'blogs' ) ) ) : ?>
+
+	<div id="pag-top" class="pagination">
+
+		<div class="pag-count" id="blog-dir-count-top">
+			<?php bp_blogs_pagination_count(); ?>
+		</div>
+
+		<div class="pagination-links" id="blog-dir-pag-top">
+			<?php bp_blogs_pagination_links(); ?>
+		</div>
+
+	</div>
+
+	<?php do_action( 'bp_before_directory_blogs_list' ); ?>
+
+	<ul id="blogs-list" class="item-list" role="main">
+
+	<?php while ( bp_blogs() ) : bp_the_blog(); ?>
+
+		<li>
+			<div class="item-avatar">
+				<a href="<?php bp_blog_permalink(); ?>"><?php bp_blog_avatar( 'type=thumb' ); ?></a>
+			</div>
+
+			<div class="item">
+				<div class="item-title"><a href="<?php bp_blog_permalink(); ?>"><?php bp_blog_name(); ?></a></div>
+				<div class="item-meta"><span class="activity"><?php bp_blog_last_active(); ?></span></div>
+
+				<?php do_action( 'bp_directory_blogs_item' ); ?>
+			</div>
+
+			<div class="action">
+
+				<?php do_action( 'bp_directory_blogs_actions' ); ?>
+
+				<div class="meta">
+
+					<?php bp_blog_latest_post(); ?>
+
+				</div>
+
+			</div>
+
+			<div class="clear"></div>
+		</li>
+
+	<?php endwhile; ?>
+
+	</ul>
+
+	<?php do_action( 'bp_after_directory_blogs_list' ); ?>
+
+	<?php bp_blog_hidden_fields(); ?>
+
+	<div id="pag-bottom" class="pagination">
+
+		<div class="pag-count" id="blog-dir-count-bottom">
+
+			<?php bp_blogs_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="blog-dir-pag-bottom">
+
+			<?php bp_blogs_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'Sorry, there were no sites found.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_blogs_loop' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/blogs/create.php
--- bp-themes/bp-theme-compat/buddypress/blogs/create.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/blogs/create.php Locally New
@@ -0,0 +1,21 @@
+<?php do_action( 'bp_before_create_blog_content_template' ); ?>
+
+<?php do_action( 'template_notices' ); ?>
+
+<?php do_action( 'bp_before_create_blog_content' ); ?>
+
+<?php if ( bp_blog_signup_enabled() ) : ?>
+
+	<?php bp_show_blog_signup_form(); ?>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'Site registration is currently disabled', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_create_blog_content' ); ?>
+
+<?php do_action( 'bp_after_create_blog_content_template' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/blogs/index.php
--- bp-themes/bp-theme-compat/buddypress/blogs/index.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/blogs/index.php Locally New
@@ -0,0 +1,62 @@
+<?php do_action( 'bp_before_directory_blogs' ); ?>
+
+<form action="" method="post" id="blogs-directory-form" class="dir-form">
+
+	<?php do_action( 'bp_before_directory_blogs_content' ); ?>
+
+	<div id="blog-dir-search" class="dir-search" role="search">
+
+		<?php bp_directory_blogs_search_form(); ?>
+
+	</div><!-- #blog-dir-search -->
+
+	<div class="item-list-tabs" role="navigation">
+		<ul>
+			<li class="selected" id="blogs-all"><a href="<?php bp_root_domain(); ?>/<?php bp_blogs_root_slug(); ?>"><?php printf( __( 'All Sites <span>%s</span>', 'buddypress' ), bp_get_total_blog_count() ); ?></a></li>
+
+			<?php if ( is_user_logged_in() && bp_get_total_blog_count_for_user( bp_loggedin_user_id() ) ) : ?>
+
+				<li id="blogs-personal"><a href="<?php echo bp_loggedin_user_domain() . bp_get_blogs_slug(); ?>"><?php printf( __( 'My Sites <span>%s</span>', 'buddypress' ), bp_get_total_blog_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_blogs_directory_blog_types' ); ?>
+
+		</ul>
+	</div><!-- .item-list-tabs -->
+
+	<div class="item-list-tabs" id="subnav" role="navigation">
+		<ul>
+
+			<?php do_action( 'bp_blogs_directory_blog_sub_types' ); ?>
+
+			<li id="blogs-order-select" class="last filter">
+
+				<label for="blogs-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+				<select id="blogs-order-by">
+					<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+					<option value="newest"><?php _e( 'Newest', 'buddypress' ); ?></option>
+					<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
+
+					<?php do_action( 'bp_blogs_directory_order_options' ); ?>
+
+				</select>
+			</li>
+		</ul>
+	</div>
+
+	<div id="blogs-dir-list" class="blogs dir-list">
+
+		<?php bp_get_template_part( 'blogs/blogs-loop' ); ?>
+
+	</div><!-- #blogs-dir-list -->
+
+	<?php do_action( 'bp_directory_blogs_content' ); ?>
+
+	<?php wp_nonce_field( 'directory_blogs', '_wpnonce-blogs-filter' ); ?>
+
+	<?php do_action( 'bp_after_directory_blogs_content' ); ?>
+
+</form><!-- #blogs-directory-form -->
+
+<?php do_action( 'bp_after_directory_blogs' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/forums/forums-loop.php
--- bp-themes/bp-theme-compat/buddypress/forums/forums-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/forums/forums-loop.php Locally New
@@ -0,0 +1,127 @@
+<?php
+
+/**
+ * BuddyPress - Forums Loop
+ *
+ * Querystring is set via AJAX in _inc/ajax.php - bp_dtheme_object_filter()
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_forums_loop' ); ?>
+
+<?php if ( bp_has_forum_topics( bp_ajax_querystring( 'forums' ) ) ) : ?>
+
+	<div id="pag-top" class="pagination">
+
+		<div class="pag-count" id="topic-count-top">
+
+			<?php bp_forum_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="topic-pag-top">
+
+			<?php bp_forum_pagination(); ?>
+
+		</div>
+
+	</div>
+
+	<?php do_action( 'bp_before_directory_forums_list' ); ?>
+
+	<table class="forum">
+		<thead>
+			<tr>
+				<th id="th-title"><?php _e( 'Topic', 'buddypress' ); ?></th>
+				<th id="th-postcount"><?php _e( 'Posts', 'buddypress' ); ?></th>
+				<th id="th-freshness"><?php _e( 'Freshness', 'buddypress' ); ?></th>
+
+				<?php do_action( 'bp_directory_forums_extra_cell_head' ); ?>
+
+			</tr>
+		</thead>
+
+		<tbody>
+
+			<?php while ( bp_forum_topics() ) : bp_the_forum_topic(); ?>
+
+			<tr class="<?php bp_the_topic_css_class(); ?>">
+				<td class="td-title">
+					<a class="topic-title" href="<?php bp_the_topic_permalink(); ?>" title="<?php bp_the_topic_title(); ?> - <?php _e( 'Permalink', 'buddypress' ); ?>">
+
+						<?php bp_the_topic_title(); ?>
+
+					</a>
+
+					<p class="topic-meta">
+						<span class="topic-by"><?php /* translators: "started by [poster] in [forum]" */ printf( __( 'Started by %1$s', 'buddypress' ), bp_get_the_topic_poster_avatar( 'height=20&width=20') . bp_get_the_topic_poster_name() ); ?></span>
+
+						<?php if ( !bp_is_group_forum() ) : ?>
+
+							<span class="topic-in">
+
+								<?php
+									$topic_in = '<a href="' . bp_get_the_topic_object_permalink() . '">' . bp_get_the_topic_object_avatar( 'type=thumb&width=20&height=20' ) . '</a>' .
+													'<a href="' . bp_get_the_topic_object_permalink() . '" title="' . bp_get_the_topic_object_name() . '">' . bp_get_the_topic_object_name() .'</a>';
+
+									/* translators: "started by [poster] in [forum]" */
+									printf( __( 'in %1$s', 'buddypress' ), $topic_in );
+								?>
+
+							</span>
+
+						<?php endif; ?>
+
+					</p>
+				</td>
+				<td class="td-postcount">
+					<?php bp_the_topic_total_posts(); ?>
+				</td>
+				<td class="td-freshness">
+					<span class="time-since"><?php bp_the_topic_time_since_last_post(); ?></span>
+					<p class="topic-meta">
+						<span class="freshness-author">
+							<a href="<?php bp_the_topic_permalink(); ?>"><?php bp_the_topic_last_poster_avatar( 'type=thumb&width=20&height=20' ); ?></a>
+							<?php bp_the_topic_last_poster_name(); ?>
+						</span>
+					</p>
+				</td>
+
+				<?php do_action( 'bp_directory_forums_extra_cell' ); ?>
+
+			</tr>
+
+			<?php do_action( 'bp_directory_forums_extra_row' ); ?>
+
+			<?php endwhile; ?>
+
+		</tbody>
+	</table>
+
+	<?php do_action( 'bp_after_directory_forums_list' ); ?>
+
+	<div id="pag-bottom" class="pagination">
+
+		<div class="pag-count" id="topic-count-bottom">
+			<?php bp_forum_pagination_count(); ?>
+		</div>
+
+		<div class="pagination-links" id="topic-pag-bottom">
+			<?php bp_forum_pagination(); ?>
+		</div>
+
+	</div>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'Sorry, there were no forum topics found.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_forums_loop' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/forums/index.php
--- bp-themes/bp-theme-compat/buddypress/forums/index.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/forums/index.php Locally New
@@ -0,0 +1,136 @@
+<?php do_action( 'bp_before_directory_forums' ); ?>
+
+<form action="" method="post" id="forums-search-form" class="dir-form">
+
+	<?php do_action( 'bp_before_directory_forums_content' ); ?>
+
+	<div id="forums-dir-search" class="dir-search" role="search">
+
+		<?php bp_directory_forums_search_form(); ?>
+
+	</div>
+</form>
+
+<?php do_action( 'bp_before_topics' ); ?>
+
+<form action="" method="post" id="forums-directory-form" class="dir-form">
+
+	<div class="item-list-tabs" role="navigation">
+		<ul>
+			<li class="selected" id="forums-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_forums_root_slug() ); ?>"><?php printf( __( 'All Topics <span>%s</span>', 'buddypress' ), bp_get_forum_topic_count() ); ?></a></li>
+
+			<?php if ( is_user_logged_in() && bp_get_forum_topic_count_for_user( bp_loggedin_user_id() ) ) : ?>
+
+				<li id="forums-personal"><a href="<?php echo trailingslashit( bp_loggedin_user_domain() . bp_get_forums_slug() . '/topics' ); ?>"><?php printf( __( 'My Topics <span>%s</span>', 'buddypress' ), bp_get_forum_topic_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_forums_directory_group_types' ); ?>
+
+		</ul>
+	</div>
+
+	<div class="item-list-tabs" id="subnav" role="navigation">
+		<ul>
+
+			<?php do_action( 'bp_forums_directory_group_sub_types' ); ?>
+
+			<li id="forums-order-select" class="last filter">
+
+				<label for="forums-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+				<select id="forums-order-by">
+					<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+					<option value="popular"><?php _e( 'Most Posts', 'buddypress' ); ?></option>
+					<option value="unreplied"><?php _e( 'Unreplied', 'buddypress' ); ?></option>
+
+					<?php do_action( 'bp_forums_directory_order_options' ); ?>
+
+				</select>
+			</li>
+		</ul>
+	</div>
+
+	<div id="forums-dir-list" class="forums dir-list" role="main">
+
+		<?php bp_get_template_part( 'forums/forums-loop' ); ?>
+
+	</div>
+
+	<?php do_action( 'bp_directory_forums_content' ); ?>
+
+	<?php wp_nonce_field( 'directory_forums', '_wpnonce-forums-filter' ); ?>
+
+</form>
+
+<?php do_action( 'bp_after_directory_forums' ); ?>
+
+<?php do_action( 'bp_before_new_topic_form' ); ?>
+
+<div id="new-topic-post">
+
+	<?php if ( is_user_logged_in() ) : ?>
+
+		<?php if ( bp_is_active( 'groups' ) && bp_has_groups( 'user_id=' . bp_loggedin_user_id() . '&type=alphabetical&max=100&per_page=100' ) ) : ?>
+
+			<form action="" method="post" id="forum-topic-form" class="standard-form">
+
+				<?php do_action( 'groups_forum_new_topic_before' ); ?>
+
+				<a name="post-new"></a>
+				<h5><?php _e( 'Create New Topic:', 'buddypress' ); ?></h5>
+
+				<?php do_action( 'template_notices' ); ?>
+
+				<label><?php _e( 'Title:', 'buddypress' ); ?></label>
+				<input type="text" name="topic_title" id="topic_title" value="" maxlength="100" />
+
+				<label><?php _e( 'Content:', 'buddypress' ); ?></label>
+				<textarea name="topic_text" id="topic_text"></textarea>
+
+				<label><?php _e( 'Tags (comma separated):', 'buddypress' ); ?></label>
+				<input type="text" name="topic_tags" id="topic_tags" value="" />
+
+				<label><?php _e( 'Post In Group Forum:', 'buddypress' ); ?></label>
+				<select id="topic_group_id" name="topic_group_id">
+
+					<option value=""><?php /* translators: no option picked in select box */ _e( '----', 'buddypress' ); ?></option>
+
+					<?php while ( bp_groups() ) : bp_the_group(); ?>
+
+						<?php if ( bp_group_is_forum_enabled() && ( bp_current_user_can( 'bp_moderate' ) || 'public' == bp_get_group_status() || bp_group_is_member() ) ) : ?>
+
+							<option value="<?php bp_group_id(); ?>"><?php bp_group_name(); ?></option>
+
+						<?php endif; ?>
+
+					<?php endwhile; ?>
+
+				</select><!-- #topic_group_id -->
+
+				<?php do_action( 'groups_forum_new_topic_after' ); ?>
+
+				<div class="submit">
+					<input type="submit" name="submit_topic" id="submit" value="<?php _e( 'Post Topic', 'buddypress' ); ?>" />
+					<input type="button" name="submit_topic_cancel" id="submit_topic_cancel" value="<?php _e( 'Cancel', 'buddypress' ); ?>" />
+				</div>
+
+				<?php wp_nonce_field( 'bp_forums_new_topic' ); ?>
+
+			</form><!-- #forum-topic-form -->
+
+		<?php elseif ( bp_is_active( 'groups' ) ) : ?>
+
+			<div id="message" class="info">
+
+				<p><?php printf( __( "You are not a member of any groups so you don't have any group forums you can post in. To start posting, first find a group that matches the topic subject you'd like to start. If this group does not exist, why not <a href='%s'>create a new group</a>? Once you have joined or created the group you can post your topic in that group's forum.", 'buddypress' ), site_url( bp_get_groups_root_slug() . '/create/' ) ); ?></p>
+
+			</div>
+
+		<?php endif; ?>
+
+	<?php endif; ?>
+</div><!-- #new-topic-post -->
+
+<?php do_action( 'bp_after_new_topic_form' ); ?>
+
+<?php do_action( 'bp_after_directory_forums_content' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/groups/create.php
--- bp-themes/bp-theme-compat/buddypress/groups/create.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/create.php Locally New
@@ -0,0 +1,306 @@
+<?php do_action( 'bp_before_create_group_page' ); ?>
+
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_create_group_content_template' ); ?>
+
+	<form action="<?php bp_group_creation_form_action(); ?>" method="post" id="create-group-form" class="standard-form" enctype="multipart/form-data">
+
+		<?php do_action( 'bp_before_create_group' ); ?>
+
+		<div class="item-list-tabs no-ajax" id="group-create-tabs" role="navigation">
+			<ul>
+
+				<?php bp_group_creation_tabs(); ?>
+
+			</ul>
+		</div>
+
+		<?php do_action( 'template_notices' ); ?>
+
+		<div class="item-body" id="group-create-body">
+
+			<?php /* Group creation step 1: Basic group details */ ?>
+			<?php if ( bp_is_group_creation_step( 'group-details' ) ) : ?>
+
+				<?php do_action( 'bp_before_group_details_creation_step' ); ?>
+
+				<div>
+					<label for="group-name"><?php _e( 'Group Name (required)', 'buddypress' ); ?></label>
+					<input type="text" name="group-name" id="group-name" aria-required="true" value="<?php bp_new_group_name(); ?>" />
+				</div>
+
+				<div>
+					<label for="group-desc"><?php _e( 'Group Description (required)', 'buddypress' ); ?></label>
+					<textarea name="group-desc" id="group-desc" aria-required="true"><?php bp_new_group_description(); ?></textarea>
+				</div>
+
+				<?php
+				do_action( 'bp_after_group_details_creation_step' );
+				do_action( 'groups_custom_group_fields_editable' ); // @Deprecated
+
+				wp_nonce_field( 'groups_create_save_group-details' ); ?>
+
+			<?php endif; ?>
+
+			<?php /* Group creation step 2: Group settings */ ?>
+			<?php if ( bp_is_group_creation_step( 'group-settings' ) ) : ?>
+
+				<?php do_action( 'bp_before_group_settings_creation_step' ); ?>
+
+				<h4><?php _e( 'Privacy Options', 'buddypress' ); ?></h4>
+
+				<div class="radio">
+					<label><input type="radio" name="group-status" value="public"<?php if ( 'public' == bp_get_new_group_status() || !bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> />
+						<strong><?php _e( 'This is a public group', 'buddypress' ); ?></strong>
+						<ul>
+							<li><?php _e( 'Any site member can join this group.', 'buddypress' ); ?></li>
+							<li><?php _e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
+							<li><?php _e( 'Group content and activity will be visible to any site member.', 'buddypress' ); ?></li>
+						</ul>
+					</label>
+
+					<label><input type="radio" name="group-status" value="private"<?php if ( 'private' == bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> />
+						<strong><?php _e( 'This is a private group', 'buddypress' ); ?></strong>
+						<ul>
+							<li><?php _e( 'Only users who request membership and are accepted can join the group.', 'buddypress' ); ?></li>
+							<li><?php _e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
+							<li><?php _e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
+						</ul>
+					</label>
+
+					<label><input type="radio" name="group-status" value="hidden"<?php if ( 'hidden' == bp_get_new_group_status() ) { ?> checked="checked"<?php } ?> />
+						<strong><?php _e('This is a hidden group', 'buddypress' ); ?></strong>
+						<ul>
+							<li><?php _e( 'Only users who are invited can join the group.', 'buddypress' ); ?></li>
+							<li><?php _e( 'This group will not be listed in the groups directory or search results.', 'buddypress' ); ?></li>
+							<li><?php _e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
+						</ul>
+					</label>
+				</div>
+
+				<h4><?php _e( 'Group Invitations', 'buddypress' ); ?></h4>
+
+				<p><?php _e( 'Which members of this group are allowed to invite others?', 'buddypress' ); ?></p>
+
+				<div class="radio">
+					<label>
+						<input type="radio" name="group-invite-status" value="members"<?php bp_group_show_invite_status_setting( 'members' ); ?> />
+						<strong><?php _e( 'All group members', 'buddypress' ); ?></strong>
+					</label>
+
+					<label>
+						<input type="radio" name="group-invite-status" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> />
+						<strong><?php _e( 'Group admins and mods only', 'buddypress' ); ?></strong>
+					</label>
+
+					<label>
+						<input type="radio" name="group-invite-status" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> />
+						<strong><?php _e( 'Group admins only', 'buddypress' ); ?></strong>
+					</label>
+				</div>
+
+				<?php if ( bp_is_active( 'forums' ) ) : ?>
+
+					<h4><?php _e( 'Group Forums', 'buddypress' ); ?></h4>
+
+					<?php if ( bp_forums_is_installed_correctly() ) : ?>
+
+						<p><?php _e( 'Should this group have a forum?', 'buddypress' ); ?></p>
+
+						<div class="checkbox">
+							<label><input type="checkbox" name="group-show-forum" id="group-show-forum" value="1"<?php checked( bp_get_new_group_enable_forum(), true, true ); ?> /> <?php _e( 'Enable discussion forum', 'buddypress' ); ?></label>
+						</div>
+					<?php elseif ( is_super_admin() ) : ?>
+
+						<p><?php printf( __( '<strong>Attention Site Admin:</strong> Group forums require the <a href="%s">correct setup and configuration</a> of a bbPress installation.', 'buddypress' ), bp_core_do_network_admin() ? network_admin_url( 'settings.php?page=bb-forums-setup' ) :  admin_url( 'admin.php?page=bb-forums-setup' ) ); ?></p>
+
+					<?php endif; ?>
+
+				<?php endif; ?>
+
+				<?php do_action( 'bp_after_group_settings_creation_step' ); ?>
+
+				<?php wp_nonce_field( 'groups_create_save_group-settings' ); ?>
+
+			<?php endif; ?>
+
+			<?php /* Group creation step 3: Avatar Uploads */ ?>
+			<?php if ( bp_is_group_creation_step( 'group-avatar' ) ) : ?>
+
+				<?php do_action( 'bp_before_group_avatar_creation_step' ); ?>
+
+				<?php if ( 'upload-image' == bp_get_avatar_admin_step() ) : ?>
+
+					<div class="left-menu">
+
+						<?php bp_new_group_avatar(); ?>
+
+					</div><!-- .left-menu -->
+
+					<div class="main-column">
+						<p><?php _e( "Upload an image to use as an avatar for this group. The image will be shown on the main group page, and in search results.", 'buddypress' ); ?></p>
+
+						<p>
+							<input type="file" name="file" id="file" />
+							<input type="submit" name="upload" id="upload" value="<?php _e( 'Upload Image', 'buddypress' ); ?>" />
+							<input type="hidden" name="action" id="action" value="bp_avatar_upload" />
+						</p>
+
+						<p><?php _e( 'To skip the avatar upload process, hit the "Next Step" button.', 'buddypress' ); ?></p>
+					</div><!-- .main-column -->
+
+				<?php endif; ?>
+
+				<?php if ( 'crop-image' == bp_get_avatar_admin_step() ) : ?>
+
+					<h4><?php _e( 'Crop Group Avatar', 'buddypress' ); ?></h4>
+
+					<img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php _e( 'Avatar to crop', 'buddypress' ); ?>" />
+
+					<div id="avatar-crop-pane">
+						<img src="<?php bp_avatar_to_crop(); ?>" id="avatar-crop-preview" class="avatar" alt="<?php _e( 'Avatar preview', 'buddypress' ); ?>" />
+					</div>
+
+					<input type="submit" name="avatar-crop-submit" id="avatar-crop-submit" value="<?php _e( 'Crop Image', 'buddypress' ); ?>" />
+
+					<input type="hidden" name="image_src" id="image_src" value="<?php bp_avatar_to_crop_src(); ?>" />
+					<input type="hidden" name="upload" id="upload" />
+					<input type="hidden" id="x" name="x" />
+					<input type="hidden" id="y" name="y" />
+					<input type="hidden" id="w" name="w" />
+					<input type="hidden" id="h" name="h" />
+
+				<?php endif; ?>
+
+				<?php do_action( 'bp_after_group_avatar_creation_step' ); ?>
+
+				<?php wp_nonce_field( 'groups_create_save_group-avatar' ); ?>
+
+			<?php endif; ?>
+
+			<?php /* Group creation step 4: Invite friends to group */ ?>
+			<?php if ( bp_is_group_creation_step( 'group-invites' ) ) : ?>
+
+				<?php do_action( 'bp_before_group_invites_creation_step' ); ?>
+
+				<?php if ( bp_is_active( 'friends' ) && bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
+
+					<div class="left-menu">
+
+						<div id="invite-list">
+							<ul>
+								<?php bp_new_group_invite_friend_list(); ?>
+							</ul>
+
+							<?php wp_nonce_field( 'groups_invite_uninvite_user', '_wpnonce_invite_uninvite_user' ); ?>
+						</div>
+
+					</div><!-- .left-menu -->
+
+					<div class="main-column">
+
+						<div id="message" class="info">
+							<p><?php _e('Select people to invite from your friends list.', 'buddypress' ); ?></p>
+						</div>
+
+						<?php /* The ID 'friend-list' is important for AJAX support. */ ?>
+						<ul id="friend-list" class="item-list" role="main">
+
+						<?php if ( bp_group_has_invites() ) : ?>
+
+							<?php while ( bp_group_invites() ) : bp_group_the_invite(); ?>
+
+								<li id="<?php bp_group_invite_item_id(); ?>">
+
+									<?php bp_group_invite_user_avatar(); ?>
+
+									<h4><?php bp_group_invite_user_link(); ?></h4>
+									<span class="activity"><?php bp_group_invite_user_last_active(); ?></span>
+
+									<div class="action">
+										<a class="remove" href="<?php bp_group_invite_user_remove_invite_url(); ?>" id="<?php bp_group_invite_item_id(); ?>"><?php _e( 'Remove Invite', 'buddypress' ); ?></a>
+									</div>
+								</li>
+
+							<?php endwhile; ?>
+
+							<?php wp_nonce_field( 'groups_send_invites', '_wpnonce_send_invites' ); ?>
+
+						<?php endif; ?>
+
+						</ul>
+
+					</div><!-- .main-column -->
+
+				<?php else : ?>
+
+					<div id="message" class="info">
+						<p><?php _e( 'Once you have built up friend connections you will be able to invite others to your group. You can send invites any time in the future by selecting the "Send Invites" option when viewing your new group.', 'buddypress' ); ?></p>
+					</div>
+
+				<?php endif; ?>
+
+				<?php wp_nonce_field( 'groups_create_save_group-invites' ); ?>
+
+				<?php do_action( 'bp_after_group_invites_creation_step' ); ?>
+
+			<?php endif; ?>
+
+			<?php do_action( 'groups_custom_create_steps' ); // Allow plugins to add custom group creation steps ?>
+
+			<?php do_action( 'bp_before_group_creation_step_buttons' ); ?>
+
+			<?php if ( 'crop-image' != bp_get_avatar_admin_step() ) : ?>
+
+				<div class="submit" id="previous-next">
+
+					<?php /* Previous Button */ ?>
+					<?php if ( !bp_is_first_group_creation_step() ) : ?>
+
+						<input type="button" value="<?php _e( 'Back to Previous Step', 'buddypress' ); ?>" id="group-creation-previous" name="previous" onclick="location.href='<?php bp_group_creation_previous_link(); ?>'" />
+
+					<?php endif; ?>
+
+					<?php /* Next Button */ ?>
+					<?php if ( !bp_is_last_group_creation_step() && !bp_is_first_group_creation_step() ) : ?>
+
+						<input type="submit" value="<?php _e( 'Next Step', 'buddypress' ); ?>" id="group-creation-next" name="save" />
+
+					<?php endif;?>
+
+					<?php /* Create Button */ ?>
+					<?php if ( bp_is_first_group_creation_step() ) : ?>
+
+						<input type="submit" value="<?php _e( 'Create Group and Continue', 'buddypress' ); ?>" id="group-creation-create" name="save" />
+
+					<?php endif; ?>
+
+					<?php /* Finish Button */ ?>
+					<?php if ( bp_is_last_group_creation_step() ) : ?>
+
+						<input type="submit" value="<?php _e( 'Finish', 'buddypress' ); ?>" id="group-creation-finish" name="save" />
+
+					<?php endif; ?>
+				</div>
+
+			<?php endif;?>
+
+			<?php do_action( 'bp_after_group_creation_step_buttons' ); ?>
+
+			<?php /* Don't leave out this hidden field */ ?>
+			<input type="hidden" name="group_id" id="group_id" value="<?php bp_new_group_id(); ?>" />
+
+			<?php do_action( 'bp_directory_groups_content' ); ?>
+
+		</div><!-- .item-body -->
+
+		<?php do_action( 'bp_after_create_group' ); ?>
+
+	</form>
+
+	<?php do_action( 'bp_after_create_group_content_template' ); ?>
+
+</div>
+
+<?php do_action( 'bp_after_create_group_page' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/groups/groups-loop.php
--- bp-themes/bp-theme-compat/buddypress/groups/groups-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/groups-loop.php Locally New
@@ -0,0 +1,100 @@
+<?php
+
+/**
+ * BuddyPress - Groups Loop
+ *
+ * Querystring is set via AJAX in _inc/ajax.php - bp_dtheme_object_filter()
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_groups_loop' ); ?>
+
+<?php if ( bp_has_groups( bp_ajax_querystring( 'groups' ) ) ) : ?>
+
+	<div id="pag-top" class="pagination">
+
+		<div class="pag-count" id="group-dir-count-top">
+
+			<?php bp_groups_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="group-dir-pag-top">
+
+			<?php bp_groups_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+	<?php do_action( 'bp_before_directory_groups_list' ); ?>
+
+	<ul id="groups-list" class="item-list" role="main">
+
+	<?php while ( bp_groups() ) : bp_the_group(); ?>
+
+		<li>
+			<div class="item-avatar">
+				<a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
+			</div>
+
+			<div class="item">
+				<div class="item-title"><a href="<?php bp_group_permalink(); ?>"><?php bp_group_name(); ?></a></div>
+				<div class="item-meta"><span class="activity"><?php printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() ); ?></span></div>
+
+				<div class="item-desc"><?php bp_group_description_excerpt(); ?></div>
+
+				<?php do_action( 'bp_directory_groups_item' ); ?>
+
+			</div>
+
+			<div class="action">
+
+				<?php do_action( 'bp_directory_groups_actions' ); ?>
+
+				<div class="meta">
+
+					<?php bp_group_type(); ?> / <?php bp_group_member_count(); ?>
+
+				</div>
+
+			</div>
+
+			<div class="clear"></div>
+		</li>
+
+	<?php endwhile; ?>
+
+	</ul>
+
+	<?php do_action( 'bp_after_directory_groups_list' ); ?>
+
+	<div id="pag-bottom" class="pagination">
+
+		<div class="pag-count" id="group-dir-count-bottom">
+
+			<?php bp_groups_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="group-dir-pag-bottom">
+
+			<?php bp_groups_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'There were no groups found.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_groups_loop' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/groups/index.php
--- bp-themes/bp-theme-compat/buddypress/groups/index.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/index.php Locally New
@@ -0,0 +1,73 @@
+<?php do_action( 'bp_before_directory_groups_page' ); ?>
+
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_directory_groups' ); ?>
+
+	<form action="" method="post" id="groups-directory-form" class="dir-form">
+
+		<?php do_action( 'bp_before_directory_groups_content' ); ?>
+
+		<div id="group-dir-search" class="dir-search" role="search">
+
+			<?php bp_directory_groups_search_form(); ?>
+
+		</div><!-- #group-dir-search -->
+
+		<?php do_action( 'template_notices' ); ?>
+
+		<div class="item-list-tabs" role="navigation">
+			<ul>
+				<li class="selected" id="groups-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_groups_root_slug() ); ?>"><?php printf( __( 'All Groups <span>%s</span>', 'buddypress' ), bp_get_total_group_count() ); ?></a></li>
+
+				<?php if ( is_user_logged_in() && bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ) : ?>
+
+					<li id="groups-personal"><a href="<?php echo trailingslashit( bp_loggedin_user_domain() . bp_get_groups_slug() . '/my-groups' ); ?>"><?php printf( __( 'My Groups <span>%s</span>', 'buddypress' ), bp_get_total_group_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
+
+				<?php endif; ?>
+
+				<?php do_action( 'bp_groups_directory_group_filter' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<div class="item-list-tabs" id="subnav" role="navigation">
+			<ul>
+
+				<?php do_action( 'bp_groups_directory_group_types' ); ?>
+
+				<li id="groups-order-select" class="last filter">
+
+					<label for="groups-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+					<select id="groups-order-by">
+						<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+						<option value="popular"><?php _e( 'Most Members', 'buddypress' ); ?></option>
+						<option value="newest"><?php _e( 'Newly Created', 'buddypress' ); ?></option>
+						<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
+
+						<?php do_action( 'bp_groups_directory_order_options' ); ?>
+
+					</select>
+				</li>
+			</ul>
+		</div>
+
+		<div id="groups-dir-list" class="groups dir-list">
+
+			<?php bp_get_template_part( 'groups/groups-loop' ); ?>
+
+		</div><!-- #groups-dir-list -->
+
+		<?php do_action( 'bp_directory_groups_content' ); ?>
+
+		<?php wp_nonce_field( 'directory_groups', '_wpnonce-groups-filter' ); ?>
+
+		<?php do_action( 'bp_after_directory_groups_content' ); ?>
+
+	</form><!-- #groups-directory-form -->
+
+	<?php do_action( 'bp_after_directory_groups' ); ?>
+
+</div><!-- #buddypress -->
+
+<?php do_action( 'bp_after_directory_groups_page' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/groups/single/activity.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/activity.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/activity.php Locally New
@@ -0,0 +1,43 @@
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<li class="feed"><a href="<?php bp_group_activity_feed_link(); ?>" title="<?php _e( 'RSS Feed', 'buddypress' ); ?>"><?php _e( 'RSS', 'buddypress' ); ?></a></li>
+
+		<?php do_action( 'bp_group_activity_syndication_options' ); ?>
+
+		<li id="activity-filter-select" class="last">
+			<label for="activity-filter-by"><?php _e( 'Show:', 'buddypress' ); ?></label> 
+			<select id="activity-filter-by">
+				<option value="-1"><?php _e( 'Everything', 'buddypress' ); ?></option>
+				<option value="activity_update"><?php _e( 'Updates', 'buddypress' ); ?></option>
+
+				<?php if ( bp_is_active( 'forums' ) ) : ?>
+					<option value="new_forum_topic"><?php _e( 'Forum Topics', 'buddypress' ); ?></option>
+					<option value="new_forum_post"><?php _e( 'Forum Replies', 'buddypress' ); ?></option>
+				<?php endif; ?>
+
+				<option value="joined_group"><?php _e( 'Group Memberships', 'buddypress' ); ?></option>
+
+				<?php do_action( 'bp_group_activity_filter_options' ); ?>
+			</select>
+		</li>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<?php do_action( 'bp_before_group_activity_post_form' ); ?>
+
+<?php if ( is_user_logged_in() && bp_group_is_member() ) : ?>
+
+	<?php bp_get_template_part( 'activity/post-form' ); ?>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_group_activity_post_form' ); ?>
+<?php do_action( 'bp_before_group_activity_content' ); ?>
+
+<div class="activity single-group" role="main">
+
+	<?php bp_get_template_part( 'activity/activity-loop' ); ?>
+
+</div><!-- .activity.single-group -->
+
+<?php do_action( 'bp_after_group_activity_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/groups/single/admin.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/admin.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/admin.php Locally New
@@ -0,0 +1,373 @@
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<?php bp_group_admin_tabs(); ?>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<form action="<?php bp_group_admin_form_action(); ?>" name="group-settings-form" id="group-settings-form" class="standard-form" method="post" enctype="multipart/form-data" role="main">
+
+<?php do_action( 'bp_before_group_admin_content' ); ?>
+
+<?php /* Edit Group Details */ ?>
+<?php if ( bp_is_group_admin_screen( 'edit-details' ) ) : ?>
+
+	<?php do_action( 'bp_before_group_details_admin' ); ?>
+
+	<label for="group-name"><?php _e( 'Group Name (required)', 'buddypress' ); ?></label>
+	<input type="text" name="group-name" id="group-name" value="<?php bp_group_name(); ?>" aria-required="true" />
+
+	<label for="group-desc"><?php _e( 'Group Description (required)', 'buddypress' ); ?></label>
+	<textarea name="group-desc" id="group-desc" aria-required="true"><?php bp_group_description_editable(); ?></textarea>
+
+	<?php do_action( 'groups_custom_group_fields_editable' ); ?>
+
+	<p>
+		<label for="group-notifiy-members"><?php _e( 'Notify group members of changes via email', 'buddypress' ); ?></label>
+		<input type="radio" name="group-notify-members" value="1" /> <?php _e( 'Yes', 'buddypress' ); ?>&nbsp;
+		<input type="radio" name="group-notify-members" value="0" checked="checked" /> <?php _e( 'No', 'buddypress' ); ?>&nbsp;
+	</p>
+
+	<?php do_action( 'bp_after_group_details_admin' ); ?>
+
+	<p><input type="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="save" name="save" /></p>
+	<?php wp_nonce_field( 'groups_edit_group_details' ); ?>
+
+<?php endif; ?>
+
+<?php /* Manage Group Settings */ ?>
+<?php if ( bp_is_group_admin_screen( 'group-settings' ) ) : ?>
+
+	<?php do_action( 'bp_before_group_settings_admin' ); ?>
+
+	<?php if ( bp_is_active( 'forums' ) ) : ?>
+
+		<?php if ( bp_forums_is_installed_correctly() ) : ?>
+
+			<div class="checkbox">
+				<label><input type="checkbox" name="group-show-forum" id="group-show-forum" value="1"<?php bp_group_show_forum_setting(); ?> /> <?php _e( 'Enable discussion forum', 'buddypress' ); ?></label>
+			</div>
+
+			<hr />
+
+		<?php endif; ?>
+
+	<?php endif; ?>
+
+	<h4><?php _e( 'Privacy Options', 'buddypress' ); ?></h4>
+
+	<div class="radio">
+		<label>
+			<input type="radio" name="group-status" value="public"<?php bp_group_show_status_setting( 'public' ); ?> />
+			<strong><?php _e( 'This is a public group', 'buddypress' ); ?></strong>
+			<ul>
+				<li><?php _e( 'Any site member can join this group.', 'buddypress' ); ?></li>
+				<li><?php _e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
+				<li><?php _e( 'Group content and activity will be visible to any site member.', 'buddypress' ); ?></li>
+			</ul>
+		</label>
+
+		<label>
+			<input type="radio" name="group-status" value="private"<?php bp_group_show_status_setting( 'private' ); ?> />
+			<strong><?php _e( 'This is a private group', 'buddypress' ); ?></strong>
+			<ul>
+				<li><?php _e( 'Only users who request membership and are accepted can join the group.', 'buddypress' ); ?></li>
+				<li><?php _e( 'This group will be listed in the groups directory and in search results.', 'buddypress' ); ?></li>
+				<li><?php _e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
+			</ul>
+		</label>
+
+		<label>
+			<input type="radio" name="group-status" value="hidden"<?php bp_group_show_status_setting( 'hidden' ); ?> />
+			<strong><?php _e( 'This is a hidden group', 'buddypress' ); ?></strong>
+			<ul>
+				<li><?php _e( 'Only users who are invited can join the group.', 'buddypress' ); ?></li>
+				<li><?php _e( 'This group will not be listed in the groups directory or search results.', 'buddypress' ); ?></li>
+				<li><?php _e( 'Group content and activity will only be visible to members of the group.', 'buddypress' ); ?></li>
+			</ul>
+		</label>
+	</div>
+
+	<hr /> 
+	 
+	<h4><?php _e( 'Group Invitations', 'buddypress' ); ?></h4> 
+
+	<p><?php _e( 'Which members of this group are allowed to invite others?', 'buddypress' ); ?></p> 
+
+	<div class="radio"> 
+		<label> 
+			<input type="radio" name="group-invite-status" value="members"<?php bp_group_show_invite_status_setting( 'members' ); ?> /> 
+			<strong><?php _e( 'All group members', 'buddypress' ); ?></strong> 
+		</label> 
+
+		<label> 
+			<input type="radio" name="group-invite-status" value="mods"<?php bp_group_show_invite_status_setting( 'mods' ); ?> /> 
+			<strong><?php _e( 'Group admins and mods only', 'buddypress' ); ?></strong> 
+		</label>
+		
+		<label> 
+			<input type="radio" name="group-invite-status" value="admins"<?php bp_group_show_invite_status_setting( 'admins' ); ?> /> 
+			<strong><?php _e( 'Group admins only', 'buddypress' ); ?></strong> 
+		</label> 
+ 	</div> 
+
+	<hr /> 
+
+	<?php do_action( 'bp_after_group_settings_admin' ); ?>
+
+	<p><input type="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="save" name="save" /></p>
+	<?php wp_nonce_field( 'groups_edit_group_settings' ); ?>
+
+<?php endif; ?>
+
+<?php /* Group Avatar Settings */ ?>
+<?php if ( bp_is_group_admin_screen( 'group-avatar' ) ) : ?>
+
+	<?php if ( 'upload-image' == bp_get_avatar_admin_step() ) : ?>
+
+			<p><?php _e("Upload an image to use as an avatar for this group. The image will be shown on the main group page, and in search results.", 'buddypress' ); ?></p>
+
+			<p>
+				<input type="file" name="file" id="file" />
+				<input type="submit" name="upload" id="upload" value="<?php _e( 'Upload Image', 'buddypress' ); ?>" />
+				<input type="hidden" name="action" id="action" value="bp_avatar_upload" />
+			</p>
+
+			<?php if ( bp_get_group_has_avatar() ) : ?>
+
+				<p><?php _e( "If you'd like to remove the existing avatar but not upload a new one, please use the delete avatar button.", 'buddypress' ); ?></p>
+
+				<?php bp_button( array( 'id' => 'delete_group_avatar', 'component' => 'groups', 'wrapper_id' => 'delete-group-avatar-button', 'link_class' => 'edit', 'link_href' => bp_get_group_avatar_delete_link(), 'link_title' => __( 'Delete Avatar', 'buddypress' ), 'link_text' => __( 'Delete Avatar', 'buddypress' ) ) ); ?>
+
+			<?php endif; ?>
+
+			<?php wp_nonce_field( 'bp_avatar_upload' ); ?>
+
+	<?php endif; ?>
+
+	<?php if ( 'crop-image' == bp_get_avatar_admin_step() ) : ?>
+
+		<h4><?php _e( 'Crop Avatar', 'buddypress' ); ?></h4>
+
+		<img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php _e( 'Avatar to crop', 'buddypress' ); ?>" />
+
+		<div id="avatar-crop-pane">
+			<img src="<?php bp_avatar_to_crop(); ?>" id="avatar-crop-preview" class="avatar" alt="<?php _e( 'Avatar preview', 'buddypress' ); ?>" />
+		</div>
+
+		<input type="submit" name="avatar-crop-submit" id="avatar-crop-submit" value="<?php _e( 'Crop Image', 'buddypress' ); ?>" />
+
+		<input type="hidden" name="image_src" id="image_src" value="<?php bp_avatar_to_crop_src(); ?>" />
+		<input type="hidden" id="x" name="x" />
+		<input type="hidden" id="y" name="y" />
+		<input type="hidden" id="w" name="w" />
+		<input type="hidden" id="h" name="h" />
+
+		<?php wp_nonce_field( 'bp_avatar_cropstore' ); ?>
+
+	<?php endif; ?>
+
+<?php endif; ?>
+
+<?php /* Manage Group Members */ ?>
+<?php if ( bp_is_group_admin_screen( 'manage-members' ) ) : ?>
+
+	<?php do_action( 'bp_before_group_manage_members_admin' ); ?>
+	
+	<div class="bp-widget">
+		<h4><?php _e( 'Administrators', 'buddypress' ); ?></h4>
+
+		<?php if ( bp_has_members( '&include='. bp_group_admin_ids() ) ) : ?>
+		
+		<ul id="admins-list" class="item-list single-line">
+			
+			<?php while ( bp_members() ) : bp_the_member(); ?>
+			<li>
+				<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
+				<h5>
+					<a href="<?php bp_member_permalink(); ?>"> <?php bp_member_name(); ?></a>
+					<?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
+					<span class="small">
+						<a class="button confirm admin-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
+					</span>			
+					<?php endif; ?>
+				</h5>		
+			</li>
+			<?php endwhile; ?>
+		
+		</ul>
+		
+		<?php endif; ?>
+
+	</div>
+	
+	<?php if ( bp_group_has_moderators() ) : ?>
+		<div class="bp-widget">
+			<h4><?php _e( 'Moderators', 'buddypress' ); ?></h4>		
+			
+			<?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
+				<ul id="mods-list" class="item-list single-line">
+				
+					<?php while ( bp_members() ) : bp_the_member(); ?>					
+					<li>
+						<?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
+						<h5>
+							<a href="<?php bp_member_permalink(); ?>"> <?php bp_member_name(); ?></a>
+							<span class="small">
+								<a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
+								<a class="button confirm mod-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
+							</span>		
+						</h5>		
+					</li>	
+					<?php endwhile; ?>			
+				
+				</ul>
+			
+			<?php endif; ?>
+		</div>
+	<?php endif ?>
+
+
+	<div class="bp-widget">
+		<h4><?php _e("Members", "buddypress"); ?></h4>
+
+		<?php if ( bp_group_has_members( 'per_page=15&exclude_banned=false' ) ) : ?>
+
+			<?php if ( bp_group_member_needs_pagination() ) : ?>
+
+				<div class="pagination no-ajax">
+
+					<div id="member-count" class="pag-count">
+						<?php bp_group_member_pagination_count(); ?>
+					</div>
+
+					<div id="member-admin-pagination" class="pagination-links">
+						<?php bp_group_member_admin_pagination(); ?>
+					</div>
+
+				</div>
+
+			<?php endif; ?>
+
+			<ul id="members-list" class="item-list single-line">
+				<?php while ( bp_group_members() ) : bp_group_the_member(); ?>
+
+					<li class="<?php bp_group_member_css_class(); ?>">
+						<?php bp_group_member_avatar_mini(); ?>
+
+						<h5>
+							<?php bp_group_member_link(); ?>
+
+							<?php if ( bp_get_group_member_is_banned() ) _e( '(banned)', 'buddypress' ); ?>
+
+							<span class="small">
+
+							<?php if ( bp_get_group_member_is_banned() ) : ?>
+
+								<a href="<?php bp_group_member_unban_link(); ?>" class="button confirm member-unban" title="<?php _e( 'Unban this member', 'buddypress' ); ?>"><?php _e( 'Remove Ban', 'buddypress' ); ?></a>
+
+							<?php else : ?>
+
+								<a href="<?php bp_group_member_ban_link(); ?>" class="button confirm member-ban" title="<?php _e( 'Kick and ban this member', 'buddypress' ); ?>"><?php _e( 'Kick &amp; Ban', 'buddypress' ); ?></a>
+								<a href="<?php bp_group_member_promote_mod_link(); ?>" class="button confirm member-promote-to-mod" title="<?php _e( 'Promote to Mod', 'buddypress' ); ?>"><?php _e( 'Promote to Mod', 'buddypress' ); ?></a>
+								<a href="<?php bp_group_member_promote_admin_link(); ?>" class="button confirm member-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
+
+							<?php endif; ?>
+
+								<a href="<?php bp_group_member_remove_link(); ?>" class="button confirm" title="<?php _e( 'Remove this member', 'buddypress' ); ?>"><?php _e( 'Remove from group', 'buddypress' ); ?></a>
+
+								<?php do_action( 'bp_group_manage_members_admin_item' ); ?>
+
+							</span>
+						</h5>
+					</li>
+
+				<?php endwhile; ?>
+			</ul>
+
+		<?php else: ?>
+
+			<div id="message" class="info">
+				<p><?php _e( 'This group has no members.', 'buddypress' ); ?></p>
+			</div>
+
+		<?php endif; ?>
+
+	</div>
+
+	<?php do_action( 'bp_after_group_manage_members_admin' ); ?>
+
+<?php endif; ?>
+
+<?php /* Manage Membership Requests */ ?>
+<?php if ( bp_is_group_admin_screen( 'membership-requests' ) ) : ?>
+
+	<?php do_action( 'bp_before_group_membership_requests_admin' ); ?>
+
+	<?php if ( bp_group_has_membership_requests() ) : ?>
+
+		<ul id="request-list" class="item-list">
+			<?php while ( bp_group_membership_requests() ) : bp_group_the_membership_request(); ?>
+
+				<li>
+					<?php bp_group_request_user_avatar_thumb(); ?>
+					<h4><?php bp_group_request_user_link(); ?> <span class="comments"><?php bp_group_request_comment(); ?></span></h4>
+					<span class="activity"><?php bp_group_request_time_since_requested(); ?></span>
+
+					<?php do_action( 'bp_group_membership_requests_admin_item' ); ?>
+
+					<div class="action">
+
+						<?php bp_button( array( 'id' => 'group_membership_accept', 'component' => 'groups', 'wrapper_class' => 'accept', 'link_href' => bp_get_group_request_accept_link(), 'link_title' => __( 'Accept', 'buddypress' ), 'link_text' => __( 'Accept', 'buddypress' ) ) ); ?>
+
+						<?php bp_button( array( 'id' => 'group_membership_reject', 'component' => 'groups', 'wrapper_class' => 'reject', 'link_href' => bp_get_group_request_reject_link(), 'link_title' => __( 'Reject', 'buddypress' ), 'link_text' => __( 'Reject', 'buddypress' ) ) ); ?>
+
+						<?php do_action( 'bp_group_membership_requests_admin_item_action' ); ?>
+
+					</div>
+				</li>
+
+			<?php endwhile; ?>
+		</ul>
+
+	<?php else: ?>
+
+		<div id="message" class="info">
+			<p><?php _e( 'There are no pending membership requests.', 'buddypress' ); ?></p>
+		</div>
+
+	<?php endif; ?>
+
+	<?php do_action( 'bp_after_group_membership_requests_admin' ); ?>
+
+<?php endif; ?>
+
+<?php do_action( 'groups_custom_edit_steps' ) // Allow plugins to add custom group edit screens ?>
+
+<?php /* Delete Group Option */ ?>
+<?php if ( bp_is_group_admin_screen( 'delete-group' ) ) : ?>
+
+	<?php do_action( 'bp_before_group_delete_admin' ); ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'WARNING: Deleting this group will completely remove ALL content associated with it. There is no way back, please be careful with this option.', 'buddypress' ); ?></p>
+	</div>
+
+	<label><input type="checkbox" name="delete-group-understand" id="delete-group-understand" value="1" onclick="if(this.checked) { document.getElementById('delete-group-button').disabled = ''; } else { document.getElementById('delete-group-button').disabled = 'disabled'; }" /> <?php _e( 'I understand the consequences of deleting this group.', 'buddypress' ); ?></label>
+
+	<?php do_action( 'bp_after_group_delete_admin' ); ?>
+
+	<div class="submit">
+		<input type="submit" disabled="disabled" value="<?php _e( 'Delete Group', 'buddypress' ); ?>" id="delete-group-button" name="delete-group-button" />
+	</div>
+
+	<?php wp_nonce_field( 'groups_delete_group' ); ?>
+
+<?php endif; ?>
+
+<?php /* This is important, don't forget it */ ?>
+	<input type="hidden" name="group-id" id="group-id" value="<?php bp_group_id(); ?>" />
+
+<?php do_action( 'bp_after_group_admin_content' ); ?>
+
+</form><!-- #group-settings-form -->
+
Index: bp-themes/bp-theme-compat/buddypress/groups/single/forum.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/forum.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/forum.php Locally New
@@ -0,0 +1,97 @@
+<?php
+
+do_action( 'bp_before_group_forum_content' );
+
+if ( bp_is_group_forum_topic_edit() ) :
+	bp_get_template_part( 'groups/single/forum/edit' );
+
+elseif ( bp_is_group_forum_topic() ) :
+	bp_get_template_part( 'groups/single/forum/topic' );
+
+else : ?>
+
+	<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+		<ul>
+
+			<?php if ( is_user_logged_in() ) : ?>
+
+				<li>
+					<a href="#post-new" class="show-hide-new"><?php _e( 'New Topic', 'buddypress' ); ?></a>
+				</li>
+
+			<?php endif; ?>
+
+			<?php if ( bp_forums_has_directory() ) : ?>
+
+				<li>
+					<a href="<?php bp_forums_directory_permalink(); ?>"><?php _e( 'Forum Directory', 'buddypress' ); ?></a>
+				</li>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_forums_directory_group_sub_types' ); ?>
+
+			<li id="forums-order-select" class="last filter">
+
+				<label for="forums-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+				<select id="forums-order-by">
+					<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+					<option value="popular"><?php _e( 'Most Posts', 'buddypress' ); ?></option>
+					<option value="unreplied"><?php _e( 'Unreplied', 'buddypress' ); ?></option>
+
+					<?php do_action( 'bp_forums_directory_order_options' ); ?>
+
+				</select>
+			</li>
+		</ul>
+	</div>
+
+	<div class="forums single-forum" role="main">
+
+		<?php bp_get_template_part( 'forums/forums-loop' ) ?>
+
+	</div><!-- .forums.single-forum -->
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_group_forum_content' ); ?>
+
+<?php if ( !bp_is_group_forum_topic_edit() && !bp_is_group_forum_topic() ) : ?>
+
+	<?php if ( !bp_group_is_user_banned() && ( ( is_user_logged_in() && 'public' == bp_get_group_status() ) || bp_group_is_member() ) ) : ?>
+
+		<form action="" method="post" id="forum-topic-form" class="standard-form">
+			<div id="new-topic-post">
+
+				<?php do_action( 'bp_before_group_forum_post_new' ); ?>
+
+				<?php if ( bp_groups_auto_join() && !bp_group_is_member() ) : ?>
+					<p><?php _e( 'You will auto join this group when you start a new topic.', 'buddypress' ); ?></p>
+				<?php endif; ?>
+
+				<p id="post-new"></p>
+				<h4><?php _e( 'Post a New Topic:', 'buddypress' ); ?></h4>
+
+				<label><?php _e( 'Title:', 'buddypress' ); ?></label>
+				<input type="text" name="topic_title" id="topic_title" value="" maxlength="100" />
+
+				<label><?php _e( 'Content:', 'buddypress' ); ?></label>
+				<textarea name="topic_text" id="topic_text"></textarea>
+
+				<label><?php _e( 'Tags (comma separated):', 'buddypress' ); ?></label>
+				<input type="text" name="topic_tags" id="topic_tags" value="" />
+
+				<?php do_action( 'bp_after_group_forum_post_new' ); ?>
+
+				<div class="submit">
+					<input type="submit" name="submit_topic" id="submit" value="<?php _e( 'Post Topic', 'buddypress' ); ?>" />
+				</div>
+
+				<?php wp_nonce_field( 'bp_forums_new_topic' ); ?>
+			</div><!-- #new-topic-post -->
+		</form><!-- #forum-topic-form -->
+
+	<?php endif; ?>
+
+<?php endif; ?>
+
Index: bp-themes/bp-theme-compat/buddypress/groups/single/forum/edit.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/forum/edit.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/forum/edit.php Locally New
@@ -0,0 +1,92 @@
+<?php do_action( 'bp_before_group_forum_edit_form' ); ?>
+
+<?php if ( bp_has_forum_topic_posts() ) : ?>
+
+	<form action="<?php bp_forum_topic_action(); ?>" method="post" id="forum-topic-form" class="standard-form">
+
+		<div class="item-list-tabs" id="subnav" role="navigation">
+			<ul>
+				<li>
+					<a href="#post-topic-reply"><?php _e( 'Reply', 'buddypress' ); ?></a>
+				</li>
+
+				<?php if ( bp_forums_has_directory() ) : ?>
+
+					<li>
+						<a href="<?php bp_forums_directory_permalink(); ?>"><?php _e( 'Forum Directory', 'buddypress' ); ?></a>
+					</li>
+
+				<?php endif; ?>
+
+			</ul>
+		</div>
+
+		<div id="topic-meta">
+			<h3><?php _e( 'Edit:', 'buddypress' ); ?> <?php bp_the_topic_title(); ?> (<?php bp_the_topic_total_post_count(); ?>)</h3>
+
+			<?php if ( bp_group_is_admin() || bp_group_is_mod() || bp_get_the_topic_is_mine() ) : ?>
+
+				<div class="last admin-links">
+
+					<?php bp_the_topic_admin_links(); ?>
+
+				</div>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_group_forum_topic_meta' ); ?>
+
+		</div>
+
+		<?php if ( bp_is_edit_topic() ) : ?>
+
+			<div id="edit-topic">
+
+				<?php do_action( 'bp_group_before_edit_forum_topic' ); ?>
+
+				<label for="topic_title"><?php _e( 'Title:', 'buddypress' ); ?></label>
+				<input type="text" name="topic_title" id="topic_title" value="<?php bp_the_topic_title(); ?>" maxlength="100" />
+
+				<label for="topic_text"><?php _e( 'Content:', 'buddypress' ); ?></label>
+				<textarea name="topic_text" id="topic_text"><?php bp_the_topic_text(); ?></textarea>
+
+				<label><?php _e( 'Tags (comma separated):', 'buddypress' ); ?></label>
+				<input type="text" name="topic_tags" id="topic_tags" value="<?php bp_forum_topic_tag_list(); ?>" />
+
+				<?php do_action( 'bp_group_after_edit_forum_topic' ); ?>
+
+				<p class="submit"><input type="submit" name="save_changes" id="save_changes" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" /></p>
+
+				<?php wp_nonce_field( 'bp_forums_edit_topic' ); ?>
+
+			</div>
+
+		<?php else : ?>
+
+			<div id="edit-post">
+
+				<?php do_action( 'bp_group_before_edit_forum_post' ); ?>
+
+				<textarea name="post_text" id="post_text"><?php bp_the_topic_post_edit_text(); ?></textarea>
+
+				<?php do_action( 'bp_group_after_edit_forum_post' ); ?>
+
+				<p class="submit"><input type="submit" name="save_changes" id="save_changes" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" /></p>
+
+				<?php wp_nonce_field( 'bp_forums_edit_post' ); ?>
+
+			</div>
+
+		<?php endif; ?>
+
+	</form><!-- #forum-topic-form -->
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'This topic does not exist.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif;?>
+
+<?php do_action( 'bp_after_group_forum_edit_form' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/groups/single/forum/topic.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/forum/topic.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/forum/topic.php Locally New
@@ -0,0 +1,166 @@
+<?php do_action( 'bp_before_group_forum_topic' ); ?>
+
+<form action="<?php bp_forum_topic_action(); ?>" method="post" id="forum-topic-form" class="standard-form">
+	<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+		<ul>
+			<?php if ( is_user_logged_in() ) : ?>
+	
+				<li>
+					<a href="<?php bp_forum_topic_new_reply_link(); ?>" class="new-reply-link"><?php _e( 'New Reply', 'buddypress' ); ?></a>
+				</li>
+	
+			<?php endif; ?>
+	
+			<?php if ( bp_forums_has_directory() ) : ?>
+	
+				<li>
+					<a href="<?php bp_forums_directory_permalink(); ?>"><?php _e( 'Forum Directory', 'buddypress' ); ?></a>
+				</li>
+	
+			<?php endif; ?>
+	
+		</ul>
+	</div>
+	
+	<div id="topic-meta">
+		<h3><?php bp_the_topic_title(); ?> (<?php bp_the_topic_total_post_count(); ?>)</h3>
+	
+		<?php if ( bp_forum_topic_has_tags() ) : ?>
+	
+			<div class="topic-tags">
+	
+				<?php _e( 'Topic tags:', 'buddypress' ); ?> <?php bp_forum_topic_tag_list(); ?>
+	
+			</div>
+	
+		<?php endif; ?>
+	
+		<?php if ( bp_group_is_admin() || bp_group_is_mod() || bp_get_the_topic_is_mine() ) : ?>
+	
+			<div class="last admin-links">
+	
+				<?php bp_the_topic_admin_links(); ?>
+	
+			</div>
+	
+		<?php endif; ?>
+	
+		<?php do_action( 'bp_group_forum_topic_meta' ); ?>
+	
+	</div>
+
+
+	<?php if ( bp_has_forum_topic_posts() ) : ?>
+
+		<div class="pagination no-ajax">
+
+			<div id="post-count-top" class="pag-count">
+
+				<?php bp_the_topic_pagination_count(); ?>
+
+			</div>
+
+			<div class="pagination-links" id="topic-pag-top">
+
+				<?php bp_the_topic_pagination(); ?>
+
+			</div>
+
+		</div>
+
+		<?php do_action( 'bp_before_group_forum_topic_posts' ); ?>
+
+		<ul id="topic-post-list" class="item-list" role="main">
+			<?php while ( bp_forum_topic_posts() ) : bp_the_forum_topic_post(); ?>
+
+				<li id="post-<?php bp_the_topic_post_id(); ?>" class="<?php bp_the_topic_post_css_class(); ?>">
+					<div class="poster-meta">
+						<a href="<?php bp_the_topic_post_poster_link(); ?>">
+							<?php bp_the_topic_post_poster_avatar( 'width=40&height=40' ); ?>
+						</a>
+						<?php echo sprintf( __( '%1$s said %2$s:', 'buddypress' ), bp_get_the_topic_post_poster_name(), bp_get_the_topic_post_time_since() ); ?>
+					</div>
+
+					<div class="post-content">
+						<?php bp_the_topic_post_content(); ?>
+					</div>
+
+					<div class="admin-links">
+						<?php if ( bp_group_is_admin() || bp_group_is_mod() || bp_get_the_topic_post_is_mine() ) : ?>
+							<?php bp_the_topic_post_admin_links(); ?>
+						<?php endif; ?>
+
+						<?php do_action( 'bp_group_forum_post_meta' ); ?>
+
+						<a href="#post-<?php bp_the_topic_post_id(); ?>" title="<?php _e( 'Permanent link to this post', 'buddypress' ); ?>">#</a>
+					</div>
+				</li>
+
+			<?php endwhile; ?>
+		</ul><!-- #topic-post-list -->
+
+		<?php do_action( 'bp_after_group_forum_topic_posts' ); ?>
+
+		<div class="pagination no-ajax">
+
+			<div id="post-count-bottom" class="pag-count">
+				<?php bp_the_topic_pagination_count(); ?>
+			</div>
+
+			<div class="pagination-links" id="topic-pag-bottom">
+				<?php bp_the_topic_pagination(); ?>
+			</div>
+
+		</div>
+
+	<?php else: ?>
+	
+		<div id="message" class="info">
+			<p><?php _e( 'There are no posts for this topic.', 'buddypress' ); ?></p>
+		</div>
+	
+	<?php endif;?>
+
+	<?php if ( ( is_user_logged_in() && 'public' == bp_get_group_status() ) || bp_group_is_member() ) : ?>
+
+		<?php if ( bp_get_the_topic_is_last_page() ) : ?>
+
+			<?php if ( bp_get_the_topic_is_topic_open() && !bp_group_is_user_banned() ) : ?>
+
+				<div id="post-topic-reply">
+					<p id="post-reply"></p>
+
+					<?php if ( bp_groups_auto_join() && !bp_group_is_member() ) : ?>
+						<p><?php _e( 'You will auto join this group when you reply to this topic.', 'buddypress' ); ?></p>
+					<?php endif; ?>
+
+					<?php do_action( 'groups_forum_new_reply_before' ); ?>
+
+					<h4><?php _e( 'Add a reply:', 'buddypress' ); ?></h4>
+
+					<textarea name="reply_text" id="reply_text"></textarea>
+
+					<div class="submit">
+						<input type="submit" name="submit_reply" id="submit" value="<?php _e( 'Post Reply', 'buddypress' ); ?>" />
+					</div>
+
+					<?php do_action( 'groups_forum_new_reply_after' ); ?>
+
+					<?php wp_nonce_field( 'bp_forums_new_reply' ); ?>
+				</div>
+
+			<?php elseif ( !bp_group_is_user_banned() ) : ?>
+
+				<div id="message" class="info">
+					<p><?php _e( 'This topic is closed, replies are no longer accepted.', 'buddypress' ); ?></p>
+				</div>
+
+			<?php endif; ?>
+
+		<?php endif; ?>
+
+	<?php endif; ?>
+
+</form><!-- #forum-topic-form -->
+
+<?php do_action( 'bp_after_group_forum_topic' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/groups/single/group-header.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/group-header.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/group-header.php Locally New
@@ -0,0 +1,64 @@
+<?php
+
+do_action( 'bp_before_group_header' );
+
+?>
+
+<div id="item-actions">
+
+	<?php if ( bp_group_is_visible() ) : ?>
+
+		<h3><?php _e( 'Group Admins', 'buddypress' ); ?></h3>
+
+		<?php bp_group_list_admins();
+
+		do_action( 'bp_after_group_menu_admins' );
+
+		if ( bp_group_has_moderators() ) :
+			do_action( 'bp_before_group_menu_mods' ); ?>
+
+			<h3><?php _e( 'Group Mods' , 'buddypress' ); ?></h3>
+
+			<?php bp_group_list_mods();
+
+			do_action( 'bp_after_group_menu_mods' );
+
+		endif;
+
+	endif; ?>
+
+</div><!-- #item-actions -->
+
+<div id="item-header-avatar">
+	<a href="<?php bp_group_permalink(); ?>" title="<?php bp_group_name(); ?>">
+
+		<?php bp_group_avatar(); ?>
+
+	</a>
+</div><!-- #item-header-avatar -->
+
+<div id="item-header-content">
+	<h2><a href="<?php bp_group_permalink(); ?>" title="<?php bp_group_name(); ?>"><?php bp_group_name(); ?></a></h2>
+	<span class="highlight"><?php bp_group_type(); ?></span> <span class="activity"><?php printf( __( 'active %s', 'buddypress' ), bp_get_group_last_active() ); ?></span>
+
+	<?php do_action( 'bp_before_group_header_meta' ); ?>
+
+	<div id="item-meta">
+
+		<?php bp_group_description(); ?>
+
+		<div id="item-buttons">
+
+			<?php do_action( 'bp_group_header_actions' ); ?>
+
+		</div><!-- #item-buttons -->
+
+		<?php do_action( 'bp_group_header_meta' ); ?>
+
+	</div>
+</div><!-- #item-header-content -->
+
+<?php
+do_action( 'bp_after_group_header' );
+do_action( 'template_notices' );
+?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/groups/single/home.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/home.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/home.php Locally New
@@ -0,0 +1,75 @@
+<div id="buddypress">
+
+	<?php if ( bp_has_groups() ) : while ( bp_groups() ) : bp_the_group(); ?>
+
+	<?php do_action( 'bp_before_group_home_content' ); ?>
+
+	<div id="item-header" role="complementary">
+
+		<?php bp_get_template_part( 'groups/single/group-header' ); ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_options_nav(); ?>
+
+				<?php do_action( 'bp_group_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body">
+
+		<?php do_action( 'bp_before_group_body' );
+
+		if ( bp_is_group_admin_page() && bp_group_is_visible() ) :
+			bp_get_template_part( 'groups/single/admin' );
+
+		elseif ( bp_is_group_members() && bp_group_is_visible() ) :
+			bp_get_template_part( 'groups/single/members' );
+
+		elseif ( bp_is_group_invites() && bp_group_is_visible() ) :
+			bp_get_template_part( 'groups/single/send-invites' );
+
+		elseif ( bp_is_group_forum() && bp_group_is_visible() && bp_is_active( 'forums' ) && bp_forums_is_installed_correctly() ) :
+			bp_get_template_part( 'groups/single/forum' );
+
+		elseif ( bp_is_group_membership_request() ) :
+			bp_get_template_part( 'groups/single/request-membership' );
+
+		elseif ( bp_group_is_visible() && bp_is_active( 'activity' ) ) :
+			bp_get_template_part( 'groups/single/activity' );
+
+		elseif ( bp_group_is_visible() ) :
+			bp_get_template_part( 'groups/single/members' );
+
+		// The group is not visible, show the status message
+		elseif ( !bp_group_is_visible() ) :
+
+			do_action( 'bp_before_group_status_message' ); ?>
+
+			<div id="message" class="info">
+				<p><?php bp_group_status_message(); ?></p>
+			</div>
+
+			<?php do_action( 'bp_after_group_status_message' );
+
+		// If nothing sticks, just load a group front template if one exists.
+		else :
+			bp_get_template_part( 'groups/single/front' );
+
+		endif;
+
+		do_action( 'bp_after_group_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_group_home_content' ); ?>
+
+	<?php endwhile; endif; ?>
+
+</div><!-- #buddypress -->
Index: bp-themes/bp-theme-compat/buddypress/groups/single/members.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/members.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/members.php Locally New
@@ -0,0 +1,90 @@
+<?php if ( bp_group_has_members( 'exclude_admins_mods=0' ) ) : ?>
+
+	<?php do_action( 'bp_before_group_members_content' ); ?>
+
+	<div class="item-list-tabs" id="subnav" role="navigation">
+		<ul>
+
+			<?php do_action( 'bp_members_directory_member_sub_types' ); ?>
+
+		</ul>
+	</div>
+
+	<div id="pag-top" class="pagination no-ajax">
+
+		<div class="pag-count" id="member-count-top">
+
+			<?php bp_members_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="member-pag-top">
+
+			<?php bp_members_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+	<?php do_action( 'bp_before_group_members_list' ); ?>
+
+	<ul id="member-list" class="item-list" role="main">
+
+		<?php while ( bp_group_members() ) : bp_group_the_member(); ?>
+
+			<li>
+				<a href="<?php bp_group_member_domain(); ?>">
+
+					<?php bp_group_member_avatar_thumb(); ?>
+
+				</a>
+
+				<h5><?php bp_group_member_link(); ?></h5>
+				<span class="activity"><?php bp_group_member_joined_since(); ?></span>
+
+				<?php do_action( 'bp_group_members_list_item' ); ?>
+
+				<?php if ( bp_is_active( 'friends' ) ) : ?>
+
+					<div class="action">
+
+						<?php bp_add_friend_button( bp_get_group_member_id(), bp_get_group_member_is_friend() ); ?>
+
+						<?php do_action( 'bp_group_members_list_item_action' ); ?>
+
+					</div>
+
+				<?php endif; ?>
+			</li>
+
+		<?php endwhile; ?>
+
+	</ul>
+
+	<?php do_action( 'bp_after_group_members_list' ); ?>
+
+	<div id="pag-bottom" class="pagination no-ajax">
+
+		<div class="pag-count" id="member-count-bottom">
+
+			<?php bp_members_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="member-pag-bottom">
+
+			<?php bp_members_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+	<?php do_action( 'bp_after_group_members_content' ); ?>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'This group has no members.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
Index: bp-themes/bp-theme-compat/buddypress/groups/single/plugins.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/plugins.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/plugins.php Locally New
@@ -0,0 +1,36 @@
+<div id="buddypress">
+
+	<?php if ( bp_has_groups() ) : while ( bp_groups() ) : bp_the_group(); ?>
+
+		<?php do_action( 'bp_before_group_plugin_template' ); ?>
+
+		<div id="item-header">
+
+			<?php bp_get_template_part( 'groups/single/group-header' ); ?>
+
+		</div><!-- #item-header -->
+
+		<div id="item-nav">
+			<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+				<ul>
+					<?php bp_get_options_nav(); ?>
+
+					<?php do_action( 'bp_group_plugin_options_nav' ); ?>
+				</ul>
+			</div>
+		</div><!-- #item-nav -->
+
+		<div id="item-body">
+
+			<?php do_action( 'bp_before_group_body' ); ?>
+
+			<?php do_action( 'bp_template_content' ); ?>
+
+			<?php do_action( 'bp_after_group_body' ); ?>
+		</div><!-- #item-body -->
+
+		<?php do_action( 'bp_after_group_plugin_template' ); ?>
+
+	<?php endwhile; endif; ?>
+
+</div><!-- #buddypress -->
Index: bp-themes/bp-theme-compat/buddypress/groups/single/request-membership.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/request-membership.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/request-membership.php Locally New
@@ -0,0 +1,18 @@
+<?php do_action( 'bp_before_group_request_membership_content' ); ?>
+
+<?php if ( !bp_group_has_requested_membership() ) : ?>
+	<p><?php printf( __( "You are requesting to become a member of the group '%s'.", "buddypress" ), bp_get_group_name( false ) ); ?></p>
+
+	<form action="<?php bp_group_form_action('request-membership' ); ?>" method="post" name="request-membership-form" id="request-membership-form" class="standard-form">
+		<label for="group-request-membership-comments"><?php _e( 'Comments (optional)', 'buddypress' ); ?></label>
+		<textarea name="group-request-membership-comments" id="group-request-membership-comments"></textarea>
+
+		<?php do_action( 'bp_group_request_membership_content' ); ?>
+
+		<p><input type="submit" name="group-request-send" id="group-request-send" value="<?php _e( 'Send Request', 'buddypress' ); ?>" />
+
+		<?php wp_nonce_field( 'groups_request_membership' ); ?>
+	</form><!-- #request-membership-form -->
+<?php endif; ?>
+
+<?php do_action( 'bp_after_group_request_membership_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/groups/single/send-invites.php
--- bp-themes/bp-theme-compat/buddypress/groups/single/send-invites.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/groups/single/send-invites.php Locally New
@@ -0,0 +1,78 @@
+<?php do_action( 'bp_before_group_send_invites_content' ); ?>
+
+<?php if ( bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
+
+	<form action="<?php bp_group_send_invite_form_action(); ?>" method="post" id="send-invite-form" class="standard-form" role="main">
+
+		<div class="left-menu">
+
+			<div id="invite-list">
+				<ul>
+					<?php bp_new_group_invite_friend_list(); ?>
+				</ul>
+
+				<?php wp_nonce_field( 'groups_invite_uninvite_user', '_wpnonce_invite_uninvite_user' ); ?>
+			</div>
+
+		</div><!-- .left-menu -->
+
+		<div class="main-column">
+
+			<div id="message" class="info">
+				<p><?php _e('Select people to invite from your friends list.', 'buddypress' ); ?></p>
+			</div>
+
+			<?php do_action( 'bp_before_group_send_invites_list' ); ?>
+
+			<?php /* The ID 'friend-list' is important for AJAX support. */ ?>
+			<ul id="friend-list" class="item-list">
+			<?php if ( bp_group_has_invites() ) : ?>
+
+				<?php while ( bp_group_invites() ) : bp_group_the_invite(); ?>
+
+					<li id="<?php bp_group_invite_item_id(); ?>">
+						<?php bp_group_invite_user_avatar(); ?>
+
+						<h4><?php bp_group_invite_user_link(); ?></h4>
+						<span class="activity"><?php bp_group_invite_user_last_active(); ?></span>
+
+						<?php do_action( 'bp_group_send_invites_item' ); ?>
+
+						<div class="action">
+							<a class="button remove" href="<?php bp_group_invite_user_remove_invite_url(); ?>" id="<?php bp_group_invite_item_id(); ?>"><?php _e( 'Remove Invite', 'buddypress' ); ?></a>
+
+							<?php do_action( 'bp_group_send_invites_item_action' ); ?>
+						</div>
+					</li>
+
+				<?php endwhile; ?>
+
+			<?php endif; ?>
+			</ul><!-- #friend-list -->
+
+			<?php do_action( 'bp_after_group_send_invites_list' ); ?>
+
+		</div><!-- .main-column -->
+
+		<div class="clear"></div>
+
+		<div class="submit">
+			<input type="submit" name="submit" id="submit" value="<?php _e( 'Send Invites', 'buddypress' ); ?>" />
+		</div>
+
+		<?php wp_nonce_field( 'groups_send_invites', '_wpnonce_send_invites' ); ?>
+
+		<?php /* This is important, don't forget it */ ?>
+		<input type="hidden" name="group_id" id="group_id" value="<?php bp_group_id(); ?>" />
+
+	</form><!-- #send-invite-form -->
+
+<?php else : ?>
+
+	<div id="message" class="info" role="main">
+		<p><?php _e( 'Once you have built up friend connections you will be able to invite others to your group. You can send invites any time in the future by selecting the "Send Invites" option when viewing your new group.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_group_send_invites_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/index.php
--- bp-themes/bp-theme-compat/buddypress/members/index.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/index.php Locally New
@@ -0,0 +1,75 @@
+<?php do_action( 'bp_before_directory_members_page' ); ?>
+
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_directory_members' ); ?>
+
+	<form action="" method="post" id="members-directory-form" class="dir-form">
+
+		<?php do_action( 'bp_before_directory_members_content' ); ?>
+
+		<div id="members-dir-search" class="dir-search" role="search">
+
+			<?php bp_directory_members_search_form(); ?>
+
+		</div><!-- #members-dir-search -->
+
+		<div class="item-list-tabs" role="navigation">
+			<ul>
+				<li class="selected" id="members-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?></a></li>
+
+				<?php if ( is_user_logged_in() && bp_is_active( 'friends' ) && bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
+
+					<li id="members-personal"><a href="<?php echo bp_loggedin_user_domain() . bp_get_friends_slug() . '/my-friends/' ?>"><?php printf( __( 'My Friends <span>%s</span>', 'buddypress' ), bp_get_total_friend_count( bp_loggedin_user_id() ) ); ?></a></li>
+
+				<?php endif; ?>
+
+				<?php do_action( 'bp_members_directory_member_types' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<div class="item-list-tabs" id="subnav" role="navigation">
+			<ul>
+
+				<?php do_action( 'bp_members_directory_member_sub_types' ); ?>
+
+				<li id="members-order-select" class="last filter">
+
+					<label for="members-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+					<select id="members-order-by">
+						<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+						<option value="newest"><?php _e( 'Newest Registered', 'buddypress' ); ?></option>
+
+						<?php if ( bp_is_active( 'xprofile' ) ) : ?>
+
+							<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
+
+						<?php endif; ?>
+
+						<?php do_action( 'bp_members_directory_order_options' ); ?>
+
+					</select>
+				</li>
+			</ul>
+		</div>
+
+		<div id="members-dir-list" class="members dir-list">
+
+			<?php bp_get_template_part( 'members/members-loop' ); ?>
+
+		</div><!-- #members-dir-list -->
+
+		<?php do_action( 'bp_directory_members_content' ); ?>
+
+		<?php wp_nonce_field( 'directory_members', '_wpnonce-member-filter' ); ?>
+
+		<?php do_action( 'bp_after_directory_members_content' ); ?>
+
+	</form><!-- #members-directory-form -->
+
+	<?php do_action( 'bp_after_directory_members' ); ?>
+
+</div><!-- #buddypress -->
+
+<?php do_action( 'bp_after_directory_members_page' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/members-loop.php
--- bp-themes/bp-theme-compat/buddypress/members/members-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/members-loop.php Locally New
@@ -0,0 +1,113 @@
+<?php
+
+/**
+ * BuddyPress - Members Loop
+ *
+ * Querystring is set via AJAX in _inc/ajax.php - bp_dtheme_object_filter()
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_members_loop' ); ?>
+
+<?php if ( bp_has_members( bp_ajax_querystring( 'members' ) ) ) : ?>
+
+	<div id="pag-top" class="pagination">
+
+		<div class="pag-count" id="member-dir-count-top">
+
+			<?php bp_members_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="member-dir-pag-top">
+
+			<?php bp_members_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+	<?php do_action( 'bp_before_directory_members_list' ); ?>
+
+	<ul id="members-list" class="item-list" role="main">
+
+	<?php while ( bp_members() ) : bp_the_member(); ?>
+
+		<li>
+			<div class="item-avatar">
+				<a href="<?php bp_member_permalink(); ?>"><?php bp_member_avatar(); ?></a>
+			</div>
+
+			<div class="item">
+				<div class="item-title">
+					<a href="<?php bp_member_permalink(); ?>"><?php bp_member_name(); ?></a>
+
+					<?php if ( bp_get_member_latest_update() ) : ?>
+
+						<span class="update"> <?php bp_member_latest_update(); ?></span>
+
+					<?php endif; ?>
+
+				</div>
+
+				<div class="item-meta"><span class="activity"><?php bp_member_last_active(); ?></span></div>
+
+				<?php do_action( 'bp_directory_members_item' ); ?>
+
+				<?php
+				 /***
+				  * If you want to show specific profile fields here you can,
+				  * but it'll add an extra query for each member in the loop
+				  * (only one regardless of the number of fields you show):
+				  *
+				  * bp_member_profile_data( 'field=the field name' );
+				  */
+				?>
+			</div>
+
+			<div class="action">
+
+				<?php do_action( 'bp_directory_members_actions' ); ?>
+
+			</div>
+
+			<div class="clear"></div>
+		</li>
+
+	<?php endwhile; ?>
+
+	</ul>
+
+	<?php do_action( 'bp_after_directory_members_list' ); ?>
+
+	<?php bp_member_hidden_fields(); ?>
+
+	<div id="pag-bottom" class="pagination">
+
+		<div class="pag-count" id="member-dir-count-bottom">
+
+			<?php bp_members_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="member-dir-pag-bottom">
+
+			<?php bp_members_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( "Sorry, no members were found.", 'buddypress' ); ?></p>
+	</div>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_members_loop' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/activity.php
--- bp-themes/bp-theme-compat/buddypress/members/single/activity.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/activity.php Locally New
@@ -0,0 +1,77 @@
+<?php
+
+/**
+ * BuddyPress - Users Activity
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+
+		<?php bp_get_options_nav(); ?>
+
+		<li id="activity-filter-select" class="last">
+			<label for="activity-filter-by"><?php _e( 'Show:', 'buddypress' ); ?></label>
+			<select id="activity-filter-by">
+				<option value="-1"><?php _e( 'Everything', 'buddypress' ); ?></option>
+				<option value="activity_update"><?php _e( 'Updates', 'buddypress' ); ?></option>
+
+				<?php
+				if ( !bp_is_current_action( 'groups' ) ) :
+					if ( bp_is_active( 'blogs' ) ) : ?>
+
+						<option value="new_blog_post"><?php _e( 'Posts', 'buddypress' ); ?></option>
+						<option value="new_blog_comment"><?php _e( 'Comments', 'buddypress' ); ?></option>
+
+					<?php
+					endif;
+
+					if ( bp_is_active( 'friends' ) ) : ?>
+
+						<option value="friendship_accepted,friendship_created"><?php _e( 'Friendships', 'buddypress' ); ?></option>
+
+					<?php endif;
+
+				endif;
+
+				if ( bp_is_active( 'forums' ) ) : ?>
+
+					<option value="new_forum_topic"><?php _e( 'Forum Topics', 'buddypress' ); ?></option>
+					<option value="new_forum_post"><?php _e( 'Forum Replies', 'buddypress' ); ?></option>
+
+				<?php endif;
+
+				if ( bp_is_active( 'groups' ) ) : ?>
+
+					<option value="created_group"><?php _e( 'New Groups', 'buddypress' ); ?></option>
+					<option value="joined_group"><?php _e( 'Group Memberships', 'buddypress' ); ?></option>
+
+				<?php endif;
+
+				do_action( 'bp_member_activity_filter_options' ); ?>
+
+			</select>
+		</li>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<?php do_action( 'bp_before_member_activity_post_form' ); ?>
+
+<?php
+if ( is_user_logged_in() && bp_is_my_profile() && ( !bp_current_action() || bp_is_current_action( 'just-me' ) ) )
+	bp_get_template_part( 'activity/post-form' );
+
+do_action( 'bp_after_member_activity_post_form' );
+do_action( 'bp_before_member_activity_content' ); ?>
+
+<div class="activity" role="main">
+
+	<?php bp_get_template_part( 'activity/activity-loop' ) ?>
+
+</div><!-- .activity -->
+
+<?php do_action( 'bp_after_member_activity_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/activity/permalink.php
--- bp-themes/bp-theme-compat/buddypress/members/single/activity/permalink.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/activity/permalink.php Locally New
@@ -0,0 +1,17 @@
+<div id="buddypress">
+	<?php do_action( 'template_notices' ); ?>
+
+	<div class="activity no-ajax" role="main">
+		<?php if ( bp_has_activities( 'display_comments=threaded&show_hidden=true&include=' . bp_current_action() ) ) : ?>
+
+			<ul id="activity-stream" class="activity-list item-list">
+			<?php while ( bp_activities() ) : bp_the_activity(); ?>
+
+				<?php bp_get_template_part( 'activity/entry' ); ?>
+
+			<?php endwhile; ?>
+			</ul>
+
+		<?php endif; ?>
+	</div>
+</div>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/blogs.php
--- bp-themes/bp-theme-compat/buddypress/members/single/blogs.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/blogs.php Locally New
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * BuddyPress - Users Blogs
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs" id="subnav" role="navigation">
+	<ul>
+
+		<?php bp_get_options_nav(); ?>
+
+		<li id="blogs-order-select" class="last filter">
+
+			<label for="blogs-all"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+			<select id="blogs-all">
+				<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+				<option value="newest"><?php _e( 'Newest', 'buddypress' ); ?></option>
+				<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
+
+				<?php do_action( 'bp_member_blog_order_options' ); ?>
+
+			</select>
+		</li>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<?php do_action( 'bp_before_member_blogs_content' ); ?>
+
+<div class="blogs myblogs" role="main">
+
+	<?php bp_get_template_part( 'blogs/blogs-loop' ) ?>
+
+</div><!-- .blogs.myblogs -->
+
+<?php do_action( 'bp_after_member_blogs_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/forums.php
--- bp-themes/bp-theme-compat/buddypress/members/single/forums.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/forums.php Locally New
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * BuddyPress - Users Forums
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<?php bp_get_options_nav(); ?>
+
+		<li id="forums-order-select" class="last filter">
+
+			<label for="forums-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+			<select id="forums-order-by">
+				<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+				<option value="popular"><?php _e( 'Most Posts', 'buddypress' ); ?></option>
+				<option value="unreplied"><?php _e( 'Unreplied', 'buddypress' ); ?></option>
+
+				<?php do_action( 'bp_forums_directory_order_options' ); ?>
+
+			</select>
+		</li>
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<?php
+
+if ( bp_is_current_action( 'favorites' ) ) :
+	bp_get_template_part( 'members/single/forums/topics' );
+
+else :
+	do_action( 'bp_before_member_forums_content' ); ?>
+
+	<div class="forums myforums">
+
+		<?php bp_get_template_part( 'forums/forums-loop' ) ?>
+
+	</div>
+
+	<?php do_action( 'bp_after_member_forums_content' ); ?>
+
+<?php endif; ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/forums/topics.php
--- bp-themes/bp-theme-compat/buddypress/members/single/forums/topics.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/forums/topics.php Locally New
@@ -0,0 +1,7 @@
+<?php
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/friends.php
--- bp-themes/bp-theme-compat/buddypress/members/single/friends.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/friends.php Locally New
@@ -0,0 +1,52 @@
+<?php
+
+/**
+ * BuddyPress - Users Friends
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<?php if ( bp_is_my_profile() ) bp_get_options_nav(); ?>
+
+		<?php if ( !bp_is_current_action( 'requests' ) ) : ?>
+
+			<li id="members-order-select" class="last filter">
+
+				<label for="members-friends"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+				<select id="members-friends">
+					<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+					<option value="newest"><?php _e( 'Newest Registered', 'buddypress' ); ?></option>
+					<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
+
+					<?php do_action( 'bp_member_blog_order_options' ); ?>
+
+				</select>
+			</li>
+
+		<?php endif; ?>
+
+	</ul>
+</div>
+
+<?php
+
+if ( bp_is_current_action( 'requests' ) ) :
+	 bp_get_template_part( 'members/single/friends/requests' );
+
+else :
+	do_action( 'bp_before_member_friends_content' ); ?>
+
+	<div class="members friends">
+
+		<?php bp_get_template_part( 'members/members-loop' ) ?>
+
+	</div><!-- .members.friends -->
+
+	<?php do_action( 'bp_after_member_friends_content' ); ?>
+
+<?php endif; ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/friends/requests.php
--- bp-themes/bp-theme-compat/buddypress/members/single/friends/requests.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/friends/requests.php Locally New
@@ -0,0 +1,73 @@
+<?php do_action( 'bp_before_member_friend_requests_content' ); ?>
+
+<?php if ( bp_has_members( 'type=alphabetical&include=' . bp_get_friendship_requests() ) ) : ?>
+
+	<div id="pag-top" class="pagination no-ajax">
+
+		<div class="pag-count" id="member-dir-count-top">
+
+			<?php bp_members_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="member-dir-pag-top">
+
+			<?php bp_members_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+	<ul id="friend-list" class="item-list" role="main">
+		<?php while ( bp_members() ) : bp_the_member(); ?>
+
+			<li id="friendship-<?php bp_friend_friendship_id(); ?>">
+				<div class="item-avatar">
+					<a href="<?php bp_member_link(); ?>"><?php bp_member_avatar(); ?></a>
+				</div>
+
+				<div class="item">
+					<div class="item-title"><a href="<?php bp_member_link(); ?>"><?php bp_member_name(); ?></a></div>
+					<div class="item-meta"><span class="activity"><?php bp_member_last_active(); ?></span></div>
+				</div>
+
+				<?php do_action( 'bp_friend_requests_item' ); ?>
+
+				<div class="action">
+					<a class="button accept" href="<?php bp_friend_accept_request_link(); ?>"><?php _e( 'Accept', 'buddypress' ); ?></a> &nbsp;
+					<a class="button reject" href="<?php bp_friend_reject_request_link(); ?>"><?php _e( 'Reject', 'buddypress' ); ?></a>
+
+					<?php do_action( 'bp_friend_requests_item_action' ); ?>
+				</div>
+			</li>
+
+		<?php endwhile; ?>
+	</ul>
+
+	<?php do_action( 'bp_friend_requests_content' ); ?>
+
+	<div id="pag-bottom" class="pagination no-ajax">
+
+		<div class="pag-count" id="member-dir-count-bottom">
+
+			<?php bp_members_pagination_count(); ?>
+
+		</div>
+
+		<div class="pagination-links" id="member-dir-pag-bottom">
+
+			<?php bp_members_pagination_links(); ?>
+
+		</div>
+
+	</div>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'You have no pending friendship requests.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif;?>
+
+<?php do_action( 'bp_after_member_friend_requests_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/groups.php
--- bp-themes/bp-theme-compat/buddypress/members/single/groups.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/groups.php Locally New
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * BuddyPress - Users Groups
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<?php if ( bp_is_my_profile() ) bp_get_options_nav(); ?>
+
+		<?php if ( !bp_is_current_action( 'invites' ) ) : ?>
+
+			<li id="groups-order-select" class="last filter">
+
+				<label for="groups-sort-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+				<select id="groups-sort-by">
+					<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+					<option value="popular"><?php _e( 'Most Members', 'buddypress' ); ?></option>
+					<option value="newest"><?php _e( 'Newly Created', 'buddypress' ); ?></option>
+					<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
+
+					<?php do_action( 'bp_member_group_order_options' ); ?>
+
+				</select>
+			</li>
+
+		<?php endif; ?>
+
+	</ul>
+</div><!-- .item-list-tabs -->
+
+<?php
+
+if ( bp_is_current_action( 'invites' ) ) :
+	bp_get_template_part( 'members/single/groups/invites' );
+
+else :
+	do_action( 'bp_before_member_groups_content' ); ?>
+
+	<div class="groups mygroups">
+
+		<?php bp_get_template_part( 'groups/groups-loop' ); ?>
+
+	</div>
+
+	<?php do_action( 'bp_after_member_groups_content' ); ?>
+
+<?php endif; ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/groups/invites.php
--- bp-themes/bp-theme-compat/buddypress/members/single/groups/invites.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/groups/invites.php Locally New
@@ -0,0 +1,42 @@
+<?php do_action( 'bp_before_group_invites_content' ); ?>
+
+<?php if ( bp_has_groups( 'type=invites&user_id=' . bp_loggedin_user_id() ) ) : ?>
+
+	<ul id="group-list" class="invites item-list" role="main">
+
+		<?php while ( bp_groups() ) : bp_the_group(); ?>
+
+			<li>
+				<div class="item-avatar">
+					<a href="<?php bp_group_permalink(); ?>"><?php bp_group_avatar( 'type=thumb&width=50&height=50' ); ?></a>
+				</div>
+
+				<h4><a href="<?php bp_group_permalink(); ?>"><?php bp_group_name(); ?></a><span class="small"> - <?php printf( __( '%s members', 'buddypress' ), bp_group_total_members( false ) ); ?></span></h4>
+
+				<p class="desc">
+					<?php bp_group_description_excerpt(); ?>
+				</p>
+
+				<?php do_action( 'bp_group_invites_item' ); ?>
+
+				<div class="action">
+					<a class="button accept" href="<?php bp_group_accept_invite_link(); ?>"><?php _e( 'Accept', 'buddypress' ); ?></a> &nbsp;
+					<a class="button reject confirm" href="<?php bp_group_reject_invite_link(); ?>"><?php _e( 'Reject', 'buddypress' ); ?></a>
+
+					<?php do_action( 'bp_group_invites_item_action' ); ?>
+
+				</div>
+			</li>
+
+		<?php endwhile; ?>
+	</ul>
+
+<?php else: ?>
+
+	<div id="message" class="info" role="main">
+		<p><?php _e( 'You have no outstanding group invites.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif;?>
+
+<?php do_action( 'bp_after_group_invites_content' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/home.php
--- bp-themes/bp-theme-compat/buddypress/members/single/home.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/home.php Locally New
@@ -0,0 +1,63 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_member_home_content' ); ?>
+
+	<div id="item-header" role="complementary">
+
+		<?php bp_get_template_part( 'members/single/member-header' ) ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_displayed_user_nav(); ?>
+
+				<?php do_action( 'bp_member_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body">
+
+		<?php do_action( 'bp_before_member_body' );
+
+		if ( bp_is_user_activity() || !bp_current_component() ) :
+			bp_get_template_part( 'members/single/activity' );
+
+		elseif ( bp_is_user_blogs() ) :
+			bp_get_template_part( 'members/single/blogs'    );
+
+		elseif ( bp_is_user_friends() ) :
+			bp_get_template_part( 'members/single/friends'  );
+
+		elseif ( bp_is_user_groups() ) :
+			bp_get_template_part( 'members/single/groups'   );
+
+		elseif ( bp_is_user_messages() ) :
+			bp_get_template_part( 'members/single/messages' );
+
+		elseif ( bp_is_user_profile() ) :
+			bp_get_template_part( 'members/single/profile'  );
+
+		elseif ( bp_is_user_forums() ) :
+			bp_get_template_part( 'members/single/forums'   );
+
+		elseif ( bp_is_user_settings() ) :
+			bp_get_template_part( 'members/single/settings' );
+
+		// If nothing sticks, load a generic template
+		else :
+			bp_get_template_part( 'members/single/plugins'  );
+
+		endif;
+
+		do_action( 'bp_after_member_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_member_home_content' ); ?>
+
+</div><!-- #buddypress -->
Index: bp-themes/bp-theme-compat/buddypress/members/single/member-header.php
--- bp-themes/bp-theme-compat/buddypress/members/single/member-header.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/member-header.php Locally New
@@ -0,0 +1,66 @@
+<?php
+
+/**
+ * BuddyPress - Users Header
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php do_action( 'bp_before_member_header' ); ?>
+
+<div id="item-header-avatar">
+	<a href="<?php bp_displayed_user_link(); ?>">
+
+		<?php bp_displayed_user_avatar( 'type=full' ); ?>
+
+	</a>
+</div><!-- #item-header-avatar -->
+
+<div id="item-header-content">
+
+	<h2>
+		<a href="<?php bp_displayed_user_link(); ?>"><?php bp_displayed_user_fullname(); ?></a>
+	</h2>
+
+	<span class="user-nicename">@<?php bp_displayed_user_username(); ?></span>
+	<span class="activity"><?php bp_last_activity( bp_displayed_user_id() ); ?></span>
+
+	<?php do_action( 'bp_before_member_header_meta' ); ?>
+
+	<div id="item-meta">
+
+		<?php if ( bp_is_active( 'activity' ) ) : ?>
+
+			<div id="latest-update">
+
+				<?php bp_activity_latest_update( bp_displayed_user_id() ); ?>
+
+			</div>
+
+		<?php endif; ?>
+
+		<div id="item-buttons">
+
+			<?php do_action( 'bp_member_header_actions' ); ?>
+
+		</div><!-- #item-buttons -->
+
+		<?php
+		/***
+		 * If you'd like to show specific profile fields here use:
+		 * bp_member_profile_data( 'field=About Me' ); -- Pass the name of the field
+		 */
+		 do_action( 'bp_profile_header_meta' );
+
+		 ?>
+
+	</div><!-- #item-meta -->
+
+</div><!-- #item-header-content -->
+
+<?php do_action( 'bp_after_member_header' ); ?>
+
+<?php do_action( 'template_notices' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/messages.php
--- bp-themes/bp-theme-compat/buddypress/members/single/messages.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/messages.php Locally New
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * BuddyPress - Users Messages
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+
+		<?php bp_get_options_nav(); ?>
+
+	</ul>
+	
+	<?php if ( bp_is_messages_inbox() || bp_is_messages_sentbox() ) : ?>
+
+		<div class="message-search"><?php bp_message_search_form(); ?></div>
+
+	<?php endif; ?>
+
+</div><!-- .item-list-tabs -->
+
+<?php
+
+	if ( bp_is_current_action( 'compose' ) ) :
+		bp_get_template_part( 'members/single/messages/compose' );
+
+	elseif ( bp_is_current_action( 'view' ) ) :
+		bp_get_template_part( 'members/single/messages/single' );
+
+	else :
+		do_action( 'bp_before_member_messages_content' ); ?>
+
+	<div class="messages" role="main">
+
+		<?php
+			if ( bp_is_current_action( 'notices' ) )
+				bp_get_template_part( 'members/single/messages/notices-loop' );
+			else
+				bp_get_template_part( 'members/single/messages/messages-loop' );
+		?>
+
+	</div><!-- .messages -->
+
+	<?php do_action( 'bp_after_member_messages_content' ); ?>
+
+<?php endif; ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/messages/compose.php
--- bp-themes/bp-theme-compat/buddypress/members/single/messages/compose.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/messages/compose.php Locally New
@@ -0,0 +1,37 @@
+<form action="<?php bp_messages_form_action('compose' ); ?>" method="post" id="send_message_form" class="standard-form" role="main">
+
+	<?php do_action( 'bp_before_messages_compose_content' ); ?>
+
+	<label for="send-to-input"><?php _e("Send To (Username or Friend's Name)", 'buddypress' ); ?></label>
+	<ul class="first acfb-holder">
+		<li>
+			<?php bp_message_get_recipient_tabs(); ?>
+			<input type="text" name="send-to-input" class="send-to-input" id="send-to-input" />
+		</li>
+	</ul>
+
+	<?php if ( bp_current_user_can( 'bp_moderate' ) ) : ?>
+		<input type="checkbox" id="send-notice" name="send-notice" value="1" /> <?php _e( "This is a notice to all users.", "buddypress" ); ?>
+	<?php endif; ?>
+
+	<label for="subject"><?php _e( 'Subject', 'buddypress' ); ?></label>
+	<input type="text" name="subject" id="subject" value="<?php bp_messages_subject_value(); ?>" />
+
+	<label for="content"><?php _e( 'Message', 'buddypress' ); ?></label>
+	<textarea name="content" id="message_content" rows="15" cols="40"><?php bp_messages_content_value(); ?></textarea>
+
+	<input type="hidden" name="send_to_usernames" id="send-to-usernames" value="<?php bp_message_get_recipient_usernames(); ?>" class="<?php bp_message_get_recipient_usernames(); ?>" />
+
+	<?php do_action( 'bp_after_messages_compose_content' ); ?>
+
+	<div class="submit">
+		<input type="submit" value="<?php _e( "Send Message", 'buddypress' ); ?>" name="send" id="send" />
+	</div>
+
+	<?php wp_nonce_field( 'messages_send_message' ); ?>
+</form>
+
+<script type="text/javascript">
+	document.getElementById("send-to-input").focus();
+</script>
+
Index: bp-themes/bp-theme-compat/buddypress/members/single/messages/messages-loop.php
--- bp-themes/bp-theme-compat/buddypress/members/single/messages/messages-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/messages/messages-loop.php Locally New
@@ -0,0 +1,74 @@
+<?php do_action( 'bp_before_member_messages_loop' ); ?>
+
+<?php if ( bp_has_message_threads( bp_ajax_querystring( 'messages' ) ) ) : ?>
+
+	<div class="pagination no-ajax" id="user-pag">
+
+		<div class="pag-count" id="messages-dir-count">
+			<?php bp_messages_pagination_count(); ?>
+		</div>
+
+		<div class="pagination-links" id="messages-dir-pag">
+			<?php bp_messages_pagination(); ?>
+		</div>
+
+	</div><!-- .pagination -->
+
+	<?php do_action( 'bp_after_member_messages_pagination' ); ?>
+
+	<?php do_action( 'bp_before_member_messages_threads'   ); ?>
+
+	<table id="message-threads" class="messages-notices">
+		<?php while ( bp_message_threads() ) : bp_message_thread(); ?>
+
+			<tr id="m-<?php bp_message_thread_id(); ?>" class="<?php bp_message_css_class(); ?><?php if ( bp_message_thread_has_unread() ) : ?> unread"<?php else: ?> read"<?php endif; ?>>
+				<td width="1%" class="thread-count">
+					<span class="unread-count"><?php bp_message_thread_unread_count(); ?></span>
+				</td>
+				<td width="1%" class="thread-avatar"><?php bp_message_thread_avatar(); ?></td>
+
+				<?php if ( 'sentbox' != bp_current_action() ) : ?>
+					<td width="30%" class="thread-from">
+						<?php _e( 'From:', 'buddypress' ); ?> <?php bp_message_thread_from(); ?><br />
+						<span class="activity"><?php bp_message_thread_last_post_date(); ?></span>
+					</td>
+				<?php else: ?>
+					<td width="30%" class="thread-from">
+						<?php _e( 'To:', 'buddypress' ); ?> <?php bp_message_thread_to(); ?><br />
+						<span class="activity"><?php bp_message_thread_last_post_date(); ?></span>
+					</td>
+				<?php endif; ?>
+
+				<td width="50%" class="thread-info">
+					<p><a href="<?php bp_message_thread_view_link(); ?>" title="<?php _e( "View Message", "buddypress" ); ?>"><?php bp_message_thread_subject(); ?></a></p>
+					<p class="thread-excerpt"><?php bp_message_thread_excerpt(); ?></p>
+				</td>
+
+				<?php do_action( 'bp_messages_inbox_list_item' ); ?>
+
+				<td width="13%" class="thread-options">
+					<input type="checkbox" name="message_ids[]" value="<?php bp_message_thread_id(); ?>" />
+					<a class="button confirm" href="<?php bp_message_thread_delete_link(); ?>" title="<?php _e( "Delete Message", "buddypress" ); ?>"><?php _e( 'Delete', 'buddypress' ); ?></a> &nbsp;
+				</td>
+			</tr>
+
+		<?php endwhile; ?>
+	</table><!-- #message-threads -->
+
+	<div class="messages-options-nav">
+		<?php bp_messages_options(); ?>
+	</div><!-- .messages-options-nav -->
+
+	<?php do_action( 'bp_after_member_messages_threads' ); ?>
+
+	<?php do_action( 'bp_after_member_messages_options' ); ?>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'Sorry, no messages were found.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif;?>
+
+<?php do_action( 'bp_after_member_messages_loop' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/messages/notices-loop.php
--- bp-themes/bp-theme-compat/buddypress/members/single/messages/notices-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/messages/notices-loop.php Locally New
@@ -0,0 +1,59 @@
+<?php do_action( 'bp_before_notices_loop' ); ?>
+
+<?php if ( bp_has_message_threads() ) : ?>
+
+	<div class="pagination no-ajax" id="user-pag">
+
+		<div class="pag-count" id="messages-dir-count">
+			<?php bp_messages_pagination_count(); ?>
+		</div>
+
+		<div class="pagination-links" id="messages-dir-pag">
+			<?php bp_messages_pagination(); ?>
+		</div>
+
+	</div><!-- .pagination -->
+
+	<?php do_action( 'bp_after_notices_pagination' ); ?>
+	<?php do_action( 'bp_before_notices' ); ?>
+
+	<table id="message-threads" class="messages-notices">
+		<?php while ( bp_message_threads() ) : bp_message_thread(); ?>
+			<tr id="notice-<?php bp_message_notice_id(); ?>" class="<?php bp_message_css_class(); ?>">
+				<td width="1%"></td>
+				<td width="38%">
+					<strong><?php bp_message_notice_subject(); ?></strong>
+					<?php bp_message_notice_text(); ?>
+				</td>
+				<td width="21%">
+
+					<?php if ( bp_messages_is_active_notice() ) : ?>
+
+						<strong><?php bp_messages_is_active_notice(); ?></strong>
+
+					<?php endif; ?>
+
+					<span class="activity"><?php _e( 'Sent:', 'buddypress' ); ?> <?php bp_message_notice_post_date(); ?></span>
+				</td>
+
+				<?php do_action( 'bp_notices_list_item' ); ?>
+
+				<td width="10%">
+					<a class="button" href="<?php bp_message_activate_deactivate_link(); ?>" class="confirm"><?php bp_message_activate_deactivate_text(); ?></a>
+					<a class="button" href="<?php bp_message_notice_delete_link(); ?>" class="confirm" title="<?php _e( "Delete Message", "buddypress" ); ?>">x</a>
+				</td>
+			</tr>
+		<?php endwhile; ?>
+	</table><!-- #message-threads -->
+
+	<?php do_action( 'bp_after_notices' ); ?>
+
+<?php else: ?>
+
+	<div id="message" class="info">
+		<p><?php _e( 'Sorry, no notices were found.', 'buddypress' ); ?></p>
+	</div>
+
+<?php endif;?>
+
+<?php do_action( 'bp_after_notices_loop' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/messages/single.php
--- bp-themes/bp-theme-compat/buddypress/members/single/messages/single.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/messages/single.php Locally New
@@ -0,0 +1,110 @@
+<div id="message-thread" role="main">
+
+	<?php do_action( 'bp_before_message_thread_content' ); ?>
+
+	<?php if ( bp_thread_has_messages() ) : ?>
+
+		<h3 id="message-subject"><?php bp_the_thread_subject(); ?></h3>
+
+		<p id="message-recipients">
+			<span class="highlight">
+
+				<?php if ( !bp_get_the_thread_recipients() ) : ?>
+
+					<?php _e( 'You are alone in this conversation.', 'buddypress' ); ?>
+
+				<?php else : ?>
+
+					<?php printf( __( 'Conversation between %s and you.', 'buddypress' ), bp_get_the_thread_recipients() ); ?>
+
+				<?php endif; ?>
+
+			</span>
+
+			<a class="button confirm" href="<?php bp_the_thread_delete_link(); ?>" title="<?php _e( "Delete Message", "buddypress" ); ?>"><?php _e( 'Delete', 'buddypress' ); ?></a> &nbsp;
+		</p>
+
+		<?php do_action( 'bp_before_message_thread_list' ); ?>
+
+		<?php while ( bp_thread_messages() ) : bp_thread_the_message(); ?>
+
+			<div class="message-box <?php bp_the_thread_message_alt_class(); ?>">
+
+				<div class="message-metadata">
+
+					<?php do_action( 'bp_before_message_meta' ); ?>
+
+					<?php bp_the_thread_message_sender_avatar( 'type=thumb&width=30&height=30' ); ?>
+					<strong><a href="<?php bp_the_thread_message_sender_link(); ?>" title="<?php bp_the_thread_message_sender_name(); ?>"><?php bp_the_thread_message_sender_name(); ?></a> <span class="activity"><?php bp_the_thread_message_time_since(); ?></span></strong>
+
+					<?php do_action( 'bp_after_message_meta' ); ?>
+
+				</div><!-- .message-metadata -->
+
+				<?php do_action( 'bp_before_message_content' ); ?>
+
+				<div class="message-content">
+
+					<?php bp_the_thread_message_content(); ?>
+
+				</div><!-- .message-content -->
+
+				<?php do_action( 'bp_after_message_content' ); ?>
+
+				<div class="clear"></div>
+
+			</div><!-- .message-box -->
+
+		<?php endwhile; ?>
+
+		<?php do_action( 'bp_after_message_thread_list' ); ?>
+
+		<?php do_action( 'bp_before_message_thread_reply' ); ?>
+
+		<form id="send-reply" action="<?php bp_messages_form_action(); ?>" method="post" class="standard-form">
+
+			<div class="message-box">
+
+				<div class="message-metadata">
+
+					<?php do_action( 'bp_before_message_meta' ); ?>
+
+					<div class="avatar-box">
+						<?php bp_loggedin_user_avatar( 'type=thumb&height=30&width=30' ); ?>
+
+						<strong><?php _e( 'Send a Reply', 'buddypress' ); ?></strong>
+					</div>
+
+					<?php do_action( 'bp_after_message_meta' ); ?>
+
+				</div><!-- .message-metadata -->
+
+				<div class="message-content">
+
+					<?php do_action( 'bp_before_message_reply_box' ); ?>
+
+					<textarea name="content" id="message_content" rows="15" cols="40"></textarea>
+
+					<?php do_action( 'bp_after_message_reply_box' ); ?>
+
+					<div class="submit">
+						<input type="submit" name="send" value="<?php _e( 'Send Reply', 'buddypress' ); ?>" id="send_reply_button"/>
+					</div>
+
+					<input type="hidden" id="thread_id" name="thread_id" value="<?php bp_the_thread_id(); ?>" />
+					<input type="hidden" id="messages_order" name="messages_order" value="<?php bp_thread_messages_order(); ?>" />
+					<?php wp_nonce_field( 'messages_send_message', 'send_message_nonce' ); ?>
+
+				</div><!-- .message-content -->
+
+			</div><!-- .message-box -->
+
+		</form><!-- #send-reply -->
+
+		<?php do_action( 'bp_after_message_thread_reply' ); ?>
+
+	<?php endif; ?>
+
+	<?php do_action( 'bp_after_message_thread_content' ); ?>
+
+</div>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/plugins.php
--- bp-themes/bp-theme-compat/buddypress/members/single/plugins.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/plugins.php Locally New
@@ -0,0 +1,47 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_member_plugin_template' ); ?>
+
+	<div id="item-header">
+
+		<?php bp_get_template_part( 'members/single/member-header' ) ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_displayed_user_nav(); ?>
+
+				<?php do_action( 'bp_member_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body" role="main">
+
+		<?php do_action( 'bp_before_member_body' ); ?>
+
+		<div class="item-list-tabs no-ajax" id="subnav">
+			<ul>
+
+				<?php bp_get_options_nav(); ?>
+
+				<?php do_action( 'bp_member_plugin_options_nav' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<h3><?php do_action( 'bp_template_title' ); ?></h3>
+
+		<?php do_action( 'bp_template_content' ); ?>
+
+		<?php do_action( 'bp_after_member_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_member_plugin_template' ); ?>
+
+</div><!-- #buddypress -->
Index: bp-themes/bp-theme-compat/buddypress/members/single/profile.php
--- bp-themes/bp-theme-compat/buddypress/members/single/profile.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/profile.php Locally New
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * BuddyPress - Users Profile
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<?php if ( bp_is_my_profile() ) : ?>
+
+	<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+		<ul>
+
+			<?php bp_get_options_nav(); ?>
+
+		</ul>
+	</div><!-- .item-list-tabs -->
+
+<?php endif; ?>
+
+<?php do_action( 'bp_before_profile_content' ); ?>
+
+<div class="profile" role="main">
+
+	<?php
+		// Profile Edit
+		if ( bp_is_current_action( 'edit' ) )
+			bp_get_template_part( 'members/single/profile/edit' );
+
+		// Change Avatar
+		elseif ( bp_is_current_action( 'change-avatar' ) )
+			bp_get_template_part( 'members/single/profile/change-avatar' );
+
+		// Display XProfile
+		elseif ( bp_is_active( 'xprofile' ) )
+			bp_get_template_part( 'members/single/profile/profile-loop' );
+
+		// Display WordPress profile (fallback)
+		else
+			bp_get_template_part( 'members/single/profile/profile-wp' )
+	?>
+
+</div><!-- .profile -->
+
+<?php do_action( 'bp_after_profile_content' ); ?>
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/profile/change-avatar.php
--- bp-themes/bp-theme-compat/buddypress/members/single/profile/change-avatar.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/profile/change-avatar.php Locally New
@@ -0,0 +1,59 @@
+<h4><?php _e( 'Change Avatar', 'buddypress' ); ?></h4>
+
+<?php do_action( 'bp_before_profile_avatar_upload_content' ); ?>
+
+<?php if ( !(int)bp_get_option( 'bp-disable-avatar-uploads' ) ) : ?>
+
+	<p><?php _e( 'Your avatar will be used on your profile and throughout the site. If there is a <a href="http://gravatar.com">Gravatar</a> associated with your account email we will use that, or you can upload an image from your computer.', 'buddypress' ); ?></p>
+
+	<form action="" method="post" id="avatar-upload-form" class="standard-form" enctype="multipart/form-data">
+
+		<?php if ( 'upload-image' == bp_get_avatar_admin_step() ) : ?>
+
+			<?php wp_nonce_field( 'bp_avatar_upload' ); ?>
+			<p><?php _e( 'Click below to select a JPG, GIF or PNG format photo from your computer and then click \'Upload Image\' to proceed.', 'buddypress' ); ?></p>
+
+			<p id="avatar-upload">
+				<input type="file" name="file" id="file" />
+				<input type="submit" name="upload" id="upload" value="<?php _e( 'Upload Image', 'buddypress' ); ?>" />
+				<input type="hidden" name="action" id="action" value="bp_avatar_upload" />
+			</p>
+
+			<?php if ( bp_get_user_has_avatar() ) : ?>
+				<p><?php _e( "If you'd like to delete your current avatar but not upload a new one, please use the delete avatar button.", 'buddypress' ); ?></p>
+				<p><a class="button edit" href="<?php bp_avatar_delete_link(); ?>" title="<?php _e( 'Delete Avatar', 'buddypress' ); ?>"><?php _e( 'Delete My Avatar', 'buddypress' ); ?></a></p>
+			<?php endif; ?>
+
+		<?php endif; ?>
+
+		<?php if ( 'crop-image' == bp_get_avatar_admin_step() ) : ?>
+
+			<h5><?php _e( 'Crop Your New Avatar', 'buddypress' ); ?></h5>
+
+			<img src="<?php bp_avatar_to_crop(); ?>" id="avatar-to-crop" class="avatar" alt="<?php _e( 'Avatar to crop', 'buddypress' ); ?>" />
+
+			<div id="avatar-crop-pane">
+				<img src="<?php bp_avatar_to_crop(); ?>" id="avatar-crop-preview" class="avatar" alt="<?php _e( 'Avatar preview', 'buddypress' ); ?>" />
+			</div>
+
+			<input type="submit" name="avatar-crop-submit" id="avatar-crop-submit" value="<?php _e( 'Crop Image', 'buddypress' ); ?>" />
+
+			<input type="hidden" name="image_src" id="image_src" value="<?php bp_avatar_to_crop_src(); ?>" />
+			<input type="hidden" id="x" name="x" />
+			<input type="hidden" id="y" name="y" />
+			<input type="hidden" id="w" name="w" />
+			<input type="hidden" id="h" name="h" />
+
+			<?php wp_nonce_field( 'bp_avatar_cropstore' ); ?>
+
+		<?php endif; ?>
+
+	</form>
+
+<?php else : ?>
+
+	<p><?php _e( 'Your avatar will be used on your profile and throughout the site. To change your avatar, please create an account with <a href="http://gravatar.com">Gravatar</a> using the same email address as you used to register with this site.', 'buddypress' ); ?></p>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_profile_avatar_upload_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/profile/edit.php
--- bp-themes/bp-theme-compat/buddypress/members/single/profile/edit.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/profile/edit.php Locally New
@@ -0,0 +1,157 @@
+<?php do_action( 'bp_before_profile_edit_content' );
+
+if ( bp_has_profile( 'profile_group_id=' . bp_get_current_profile_group_id() ) ) :
+	while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
+
+<form action="<?php bp_the_profile_group_edit_form_action(); ?>" method="post" id="profile-edit-form" class="standard-form <?php bp_the_profile_group_slug(); ?>">
+
+	<?php do_action( 'bp_before_profile_field_content' ); ?>
+
+		<h4><?php printf( __( "Editing '%s' Profile Group", "buddypress" ), bp_get_the_profile_group_name() ); ?></h4>
+
+		<ul class="button-nav">
+
+			<?php bp_profile_group_tabs(); ?>
+
+		</ul>
+
+		<div class="clear"></div>
+
+		<?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>
+
+			<div<?php bp_field_css_class( 'editfield' ); ?>>
+
+				<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
+
+					<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+					<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>/>
+
+				<?php endif; ?>
+
+				<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
+
+					<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+					<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>><?php bp_the_profile_field_edit_value(); ?></textarea>
+
+				<?php endif; ?>
+
+				<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
+
+					<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+					<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>>
+						<?php bp_the_profile_field_options(); ?>
+					</select>
+
+				<?php endif; ?>
+
+				<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
+
+					<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+					<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>>
+
+						<?php bp_the_profile_field_options(); ?>
+
+					</select>
+
+					<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
+
+						<a class="clear-value" href="javascript:clear( '<?php bp_the_profile_field_input_name(); ?>' );"><?php _e( 'Clear', 'buddypress' ); ?></a>
+
+					<?php endif; ?>
+
+				<?php endif; ?>
+
+				<?php if ( 'radio' == bp_get_the_profile_field_type() ) : ?>
+
+					<div class="radio">
+						<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
+
+						<?php bp_the_profile_field_options(); ?>
+
+						<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
+
+							<a class="clear-value" href="javascript:clear( '<?php bp_the_profile_field_input_name(); ?>' );"><?php _e( 'Clear', 'buddypress' ); ?></a>
+
+						<?php endif; ?>
+					</div>
+
+				<?php endif; ?>
+
+				<?php if ( 'checkbox' == bp_get_the_profile_field_type() ) : ?>
+
+					<div class="checkbox">
+						<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
+
+						<?php bp_the_profile_field_options(); ?>
+					</div>
+
+				<?php endif; ?>
+
+				<?php if ( 'datebox' == bp_get_the_profile_field_type() ) : ?>
+
+					<div class="datebox">
+						<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+
+						<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>>
+
+							<?php bp_the_profile_field_options( 'type=day' ); ?>
+
+						</select>
+
+						<select name="<?php bp_the_profile_field_input_name(); ?>_month" id="<?php bp_the_profile_field_input_name(); ?>_month" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>>
+
+							<?php bp_the_profile_field_options( 'type=month' ); ?>
+
+						</select>
+
+						<select name="<?php bp_the_profile_field_input_name(); ?>_year" id="<?php bp_the_profile_field_input_name(); ?>_year" <?php if ( bp_get_the_profile_field_is_required() ) : ?>aria-required="true"<?php endif; ?>>
+
+							<?php bp_the_profile_field_options( 'type=year' ); ?>
+
+						</select>
+					</div>
+
+				<?php endif; ?>
+
+				<?php if ( bp_current_user_can( 'bp_xprofile_change_field_visibility' ) ) : ?>
+					<p class="field-visibility-settings-toggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
+						<?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?> <a href="#" class="visibility-toggle-link"><?php _e( 'Change', 'buddypress' ); ?></a>
+					</p>
+
+					<div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>">
+						<fieldset>
+							<legend><?php _e( 'Who can see this field?', 'buddypress' ) ?></legend>
+
+							<?php bp_profile_visibility_radio_buttons() ?>
+
+						</fieldset>
+						<a class="field-visibility-settings-close" href="#"><?php _e( 'Close', 'buddypress' ) ?></a>
+					</div>
+				<?php else : ?>
+					<div class="field-visibility-settings-notoggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
+						<?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?>
+					</div>
+				<?php endif ?>
+
+				<?php do_action( 'bp_custom_profile_edit_fields' ); ?>
+
+				<p class="description"><?php bp_the_profile_field_description(); ?></p>
+			</div>
+
+		<?php endwhile; ?>
+
+	<?php do_action( 'bp_after_profile_field_content' ); ?>
+
+	<div class="submit">
+		<input type="submit" name="profile-group-edit-submit" id="profile-group-edit-submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?> " />
+	</div>
+
+	<input type="hidden" name="field_ids" id="field_ids" value="<?php bp_the_profile_group_field_ids(); ?>" />
+
+	<?php wp_nonce_field( 'bp_xprofile_edit' ); ?>
+
+</form>
+
+<?php endwhile; endif; ?>
+
+<?php do_action( 'bp_after_profile_edit_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/profile/profile-loop.php
--- bp-themes/bp-theme-compat/buddypress/members/single/profile/profile-loop.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/profile/profile-loop.php Locally New
@@ -0,0 +1,48 @@
+<?php do_action( 'bp_before_profile_loop_content' ); ?>
+
+<?php if ( bp_has_profile() ) : ?>
+
+	<?php while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
+
+		<?php if ( bp_profile_group_has_fields() ) : ?>
+
+			<?php do_action( 'bp_before_profile_field_content' ); ?>
+
+			<div class="bp-widget <?php bp_the_profile_group_slug(); ?>">
+
+				<h4><?php bp_the_profile_group_name(); ?></h4>
+
+				<table class="profile-fields">
+
+					<?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>
+
+						<?php if ( bp_field_has_data() ) : ?>
+
+							<tr<?php bp_field_css_class(); ?>>
+
+								<td class="label"><?php bp_the_profile_field_name(); ?></td>
+
+								<td class="data"><?php bp_the_profile_field_value(); ?></td>
+
+							</tr>
+
+						<?php endif; ?>
+
+						<?php do_action( 'bp_profile_field_item' ); ?>
+
+					<?php endwhile; ?>
+
+				</table>
+			</div>
+
+			<?php do_action( 'bp_after_profile_field_content' ); ?>
+
+		<?php endif; ?>
+
+	<?php endwhile; ?>
+
+	<?php do_action( 'bp_profile_field_buttons' ); ?>
+
+<?php endif; ?>
+
+<?php do_action( 'bp_after_profile_loop_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/profile/profile-wp.php
--- bp-themes/bp-theme-compat/buddypress/members/single/profile/profile-wp.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/profile/profile-wp.php Locally New
@@ -0,0 +1,73 @@
+<?php do_action( 'bp_before_profile_loop_content' ); ?>
+
+<?php $ud = get_userdata( bp_displayed_user_id() ); ?>
+
+<?php do_action( 'bp_before_profile_field_content' ); ?>
+
+	<div class="bp-widget wp-profile">
+		<h4><?php bp_is_my_profile() ? _e( 'My Profile', 'buddypress' ) : printf( __( "%s's Profile", 'buddypress' ), bp_get_displayed_user_fullname() ); ?></h4>
+
+		<table class="wp-profile-fields">
+
+			<?php if ( $ud->display_name ) : ?>
+
+				<tr id="wp_displayname">
+					<td class="label"><?php _e( 'Name', 'buddypress' ); ?></td>
+					<td class="data"><?php echo $ud->display_name; ?></td>
+				</tr>
+
+			<?php endif; ?>
+
+			<?php if ( $ud->user_description ) : ?>
+
+				<tr id="wp_desc">
+					<td class="label"><?php _e( 'About Me', 'buddypress' ); ?></td>
+					<td class="data"><?php echo $ud->user_description; ?></td>
+				</tr>
+
+			<?php endif; ?>
+
+			<?php if ( $ud->user_url ) : ?>
+
+				<tr id="wp_website">
+					<td class="label"><?php _e( 'Website', 'buddypress' ); ?></td>
+					<td class="data"><?php echo make_clickable( $ud->user_url ); ?></td>
+				</tr>
+
+			<?php endif; ?>
+
+			<?php if ( $ud->jabber ) : ?>
+
+				<tr id="wp_jabber">
+					<td class="label"><?php _e( 'Jabber', 'buddypress' ); ?></td>
+					<td class="data"><?php echo $ud->jabber; ?></td>
+				</tr>
+
+			<?php endif; ?>
+
+			<?php if ( $ud->aim ) : ?>
+
+				<tr id="wp_aim">
+					<td class="label"><?php _e( 'AOL Messenger', 'buddypress' ); ?></td>
+					<td class="data"><?php echo $ud->aim; ?></td>
+				</tr>
+
+			<?php endif; ?>
+
+			<?php if ( $ud->yim ) : ?>
+
+				<tr id="wp_yim">
+					<td class="label"><?php _e( 'Yahoo Messenger', 'buddypress' ); ?></td>
+					<td class="data"><?php echo $ud->yim; ?></td>
+				</tr>
+
+			<?php endif; ?>
+
+		</table>
+	</div>
+
+<?php do_action( 'bp_after_profile_field_content' ); ?>
+
+<?php do_action( 'bp_profile_field_buttons' ); ?>
+
+<?php do_action( 'bp_after_profile_loop_content' ); ?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/settings.php
--- bp-themes/bp-theme-compat/buddypress/members/single/settings.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/settings.php Locally New
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * BuddyPress - Users Settings
+ *
+ * @package BuddyPress
+ * @subpackage bp-default
+ */
+
+?>
+
+<div class="item-list-tabs no-ajax" id="subnav" role="navigation">
+	<ul>
+		<?php if ( bp_is_my_profile() ) : ?>
+		
+			<?php bp_get_options_nav(); ?>
+		
+		<?php endif; ?>
+	</ul>
+</div>
+
+<?php
+
+if ( bp_is_current_action( 'notifications' ) ) :
+	 bp_get_template_part( 'members/single/settings/notifications' );
+
+elseif ( bp_is_current_action( 'delete-account' ) ) :
+	 bp_get_template_part( 'members/single/settings/delete-account' );
+
+elseif ( bp_is_current_action( 'general' ) ) :
+	bp_get_template_part( 'members/single/settings/general' );
+
+else :
+	bp_get_template_part( 'members/single/plugins' );
+
+endif;
+
+?>
Index: bp-themes/bp-theme-compat/buddypress/members/single/settings/capabilities.php
--- bp-themes/bp-theme-compat/buddypress/members/single/settings/capabilities.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/settings/capabilities.php Locally New
@@ -0,0 +1,64 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_member_settings_template' ); ?>
+
+	<div id="item-header">
+
+		<?php bp_get_template_part( 'members/single/member-header' ) ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_displayed_user_nav(); ?>
+
+				<?php do_action( 'bp_member_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body" role="main">
+
+		<?php do_action( 'bp_before_member_body' ); ?>
+
+		<div class="item-list-tabs no-ajax" id="subnav">
+			<ul>
+
+				<?php bp_get_options_nav(); ?>
+
+				<?php do_action( 'bp_member_plugin_options_nav' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<h3><?php _e( 'Capabilities', 'buddypress' ); ?></h3>
+
+		<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/capabilities/'; ?>" name="account-capabilities-form" id="account-capabilities-form" class="standard-form" method="post">
+
+			<?php do_action( 'bp_members_capabilities_account_before_submit' ); ?>
+
+			<label>
+				<input type="checkbox" name="user-spammer" id="user-spammer" value="1" <?php checked( bp_is_user_spammer( bp_displayed_user_id() ) ); ?> />
+				 <?php _e( 'This user is a spammer.', 'buddypress' ); ?>
+			</label>
+
+			<div class="submit">
+				<input type="submit" value="<?php _e( 'Save', 'buddypress' ); ?>" id="capabilities-submit" name="capabilities-submit" />
+			</div>
+
+			<?php do_action( 'bp_members_capabilities_account_after_submit' ); ?>
+
+			<?php wp_nonce_field( 'capabilities' ); ?>
+
+		</form>
+
+		<?php do_action( 'bp_after_member_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_member_settings_template' ); ?>
+
+</div><!-- #buddypress -->
Index: bp-themes/bp-theme-compat/buddypress/members/single/settings/delete-account.php
--- bp-themes/bp-theme-compat/buddypress/members/single/settings/delete-account.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/settings/delete-account.php Locally New
@@ -0,0 +1,78 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_member_settings_template' ); ?>
+
+	<div id="item-header">
+
+		<?php bp_get_template_part( 'members/single/member-header' ) ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_displayed_user_nav(); ?>
+
+				<?php do_action( 'bp_member_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body" role="main">
+
+		<?php do_action( 'bp_before_member_body' ); ?>
+
+		<div class="item-list-tabs no-ajax" id="subnav">
+			<ul>
+
+				<?php bp_get_options_nav(); ?>
+
+				<?php do_action( 'bp_member_plugin_options_nav' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<h3><?php _e( 'Delete Account', 'buddypress' ); ?></h3>
+
+		<div id="message" class="info">
+
+			<?php if ( bp_is_my_profile() ) : ?>
+
+				<p><?php _e( 'Deleting your account will delete all of the content you have created. It will be completely irrecoverable.', 'buddypress' ); ?></p>
+
+			<?php else : ?>
+
+				<p><?php _e( 'Deleting this account will delete all of the content it has created. It will be completely irrecoverable.', 'buddypress' ); ?></p>
+
+			<?php endif; ?>
+
+		</div>
+
+		<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/delete-account'; ?>" name="account-delete-form" id="account-delete-form" class="standard-form" method="post">
+
+			<?php do_action( 'bp_members_delete_account_before_submit' ); ?>
+
+			<label>
+				<input type="checkbox" name="delete-account-understand" id="delete-account-understand" value="1" onclick="if(this.checked) { document.getElementById('delete-account-button').disabled = ''; } else { document.getElementById('delete-account-button').disabled = 'disabled'; }" />
+				 <?php _e( 'I understand the consequences.', 'buddypress' ); ?>
+			</label>
+
+			<div class="submit">
+				<input type="submit" disabled="disabled" value="<?php _e( 'Delete Account', 'buddypress' ); ?>" id="delete-account-button" name="delete-account-button" />
+			</div>
+
+			<?php do_action( 'bp_members_delete_account_after_submit' ); ?>
+
+			<?php wp_nonce_field( 'delete-account' ); ?>
+
+		</form>
+
+		<?php do_action( 'bp_after_member_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_member_settings_template' ); ?>
+
+</div><!-- #buddypress -->
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/settings/general.php
--- bp-themes/bp-theme-compat/buddypress/members/single/settings/general.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/settings/general.php Locally New
@@ -0,0 +1,75 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_member_settings_template' ); ?>
+
+	<div id="item-header">
+
+		<?php bp_get_template_part( 'members/single/member-header' ) ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_displayed_user_nav(); ?>
+
+				<?php do_action( 'bp_member_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body" role="main">
+
+		<?php do_action( 'bp_before_member_body' ); ?>
+
+		<div class="item-list-tabs no-ajax" id="subnav">
+			<ul>
+
+				<?php bp_get_options_nav(); ?>
+
+				<?php do_action( 'bp_member_plugin_options_nav' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<h3><?php _e( 'General Settings', 'buddypress' ); ?></h3>
+
+		<?php do_action( 'bp_template_content' ); ?>
+
+		<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/general'; ?>" method="post" class="standard-form" id="settings-form">
+
+			<?php if ( !is_super_admin() ) : ?>
+
+				<label for="pwd"><?php _e( 'Current Password <span>(required to update email or change current password)</span>', 'buddypress' ); ?></label>
+				<input type="password" name="pwd" id="pwd" size="16" value="" class="settings-input small" /> &nbsp;<a href="<?php echo site_url( add_query_arg( array( 'action' => 'lostpassword' ), 'wp-login.php' ), 'login' ); ?>" title="<?php _e( 'Password Lost and Found', 'buddypress' ); ?>"><?php _e( 'Lost your password?', 'buddypress' ); ?></a>
+
+			<?php endif; ?>
+
+			<label for="email"><?php _e( 'Account Email', 'buddypress' ); ?></label>
+			<input type="text" name="email" id="email" value="<?php echo bp_get_displayed_user_email(); ?>" class="settings-input" />
+
+			<label for="pass1"><?php _e( 'Change Password <span>(leave blank for no change)</span>', 'buddypress' ); ?></label>
+			<input type="password" name="pass1" id="pass1" size="16" value="" class="settings-input small" /> &nbsp;<?php _e( 'New Password', 'buddypress' ); ?><br />
+			<input type="password" name="pass2" id="pass2" size="16" value="" class="settings-input small" /> &nbsp;<?php _e( 'Repeat New Password', 'buddypress' ); ?>
+
+			<?php do_action( 'bp_core_general_settings_before_submit' ); ?>
+
+			<div class="submit">
+				<input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="submit" class="auto" />
+			</div>
+
+			<?php do_action( 'bp_core_general_settings_after_submit' ); ?>
+
+			<?php wp_nonce_field( 'bp_settings_general' ); ?>
+
+		</form>
+
+		<?php do_action( 'bp_after_member_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_member_settings_template' ); ?>
+
+</div><!-- #buddypress -->
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/members/single/settings/notifications.php
--- bp-themes/bp-theme-compat/buddypress/members/single/settings/notifications.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/members/single/settings/notifications.php Locally New
@@ -0,0 +1,64 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_member_settings_template' ); ?>
+
+	<div id="item-header">
+
+		<?php bp_get_template_part( 'members/single/member-header' ) ?>
+
+	</div><!-- #item-header -->
+
+	<div id="item-nav">
+		<div class="item-list-tabs no-ajax" id="object-nav" role="navigation">
+			<ul>
+
+				<?php bp_get_displayed_user_nav(); ?>
+
+				<?php do_action( 'bp_member_options_nav' ); ?>
+
+			</ul>
+		</div>
+	</div><!-- #item-nav -->
+
+	<div id="item-body" role="main">
+
+		<?php do_action( 'bp_before_member_body' ); ?>
+
+		<div class="item-list-tabs no-ajax" id="subnav">
+			<ul>
+
+				<?php bp_get_options_nav(); ?>
+
+				<?php do_action( 'bp_member_plugin_options_nav' ); ?>
+
+			</ul>
+		</div><!-- .item-list-tabs -->
+
+		<h3><?php _e( 'Email Notification', 'buddypress' ); ?></h3>
+
+		<?php do_action( 'bp_template_content' ); ?>
+
+		<form action="<?php echo bp_displayed_user_domain() . bp_get_settings_slug() . '/notifications'; ?>" method="post" class="standard-form" id="settings-form">
+			<p><?php _e( 'Send a notification by email when:', 'buddypress' ); ?></p>
+
+			<?php do_action( 'bp_notification_settings' ); ?>
+
+			<?php do_action( 'bp_members_notification_settings_before_submit' ); ?>
+
+			<div class="submit">
+				<input type="submit" name="submit" value="<?php _e( 'Save Changes', 'buddypress' ); ?>" id="submit" class="auto" />
+			</div>
+
+			<?php do_action( 'bp_members_notification_settings_after_submit' ); ?>
+
+			<?php wp_nonce_field('bp_settings_notifications' ); ?>
+
+		</form>
+
+		<?php do_action( 'bp_after_member_body' ); ?>
+
+	</div><!-- #item-body -->
+
+	<?php do_action( 'bp_after_member_settings_template' ); ?>
+
+</div><!-- #buddypress -->
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/registration/activate.php
--- bp-themes/bp-theme-compat/buddypress/registration/activate.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/registration/activate.php Locally New
@@ -0,0 +1,46 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_activation_page' ); ?>
+
+	<div class="page" id="activate-page">
+
+		<?php if ( bp_account_was_activated() ) : ?>
+
+			<h2 class="widgettitle"><?php _e( 'Account Activated', 'buddypress' ); ?></h2>
+
+			<?php do_action( 'bp_before_activate_content' ); ?>
+
+			<?php if ( isset( $_GET['e'] ) ) : ?>
+				<p><?php _e( 'Your account was activated successfully! Your account details have been sent to you in a separate email.', 'buddypress' ); ?></p>
+			<?php else : ?>
+				<p><?php _e( 'Your account was activated successfully! You can now log in with the username and password you provided when you signed up.', 'buddypress' ); ?></p>
+			<?php endif; ?>
+
+		<?php else : ?>
+
+			<h3><?php _e( 'Activate your Account', 'buddypress' ); ?></h3>
+
+			<?php do_action( 'bp_before_activate_content' ); ?>
+
+			<p><?php _e( 'Please provide a valid activation key.', 'buddypress' ); ?></p>
+
+			<form action="" method="get" class="standard-form" id="activation-form">
+
+				<label for="key"><?php _e( 'Activation Key:', 'buddypress' ); ?></label>
+				<input type="text" name="key" id="key" value="" />
+
+				<p class="submit">
+					<input type="submit" name="submit" value="<?php _e( 'Activate', 'buddypress' ); ?>" />
+				</p>
+
+			</form>
+
+		<?php endif; ?>
+
+		<?php do_action( 'bp_after_activate_content' ); ?>
+
+	</div><!-- .page -->
+
+	<?php do_action( 'bp_after_activation_page' ); ?>
+
+</div><!-- #buddypress -->
\ No newline at end of file
Index: bp-themes/bp-theme-compat/buddypress/registration/register.php
--- bp-themes/bp-theme-compat/buddypress/registration/register.php No Base Revision
+++ bp-themes/bp-theme-compat/buddypress/registration/register.php Locally New
@@ -0,0 +1,272 @@
+<div id="buddypress">
+
+	<?php do_action( 'bp_before_register_page' ); ?>
+
+	<div class="page" id="register-page">
+
+		<form action="" name="signup_form" id="signup_form" class="standard-form" method="post" enctype="multipart/form-data">
+
+		<?php if ( 'registration-disabled' == bp_get_current_signup_step() ) : ?>
+			<?php do_action( 'template_notices' ); ?>
+			<?php do_action( 'bp_before_registration_disabled' ); ?>
+
+				<p><?php _e( 'User registration is currently not allowed.', 'buddypress' ); ?></p>
+
+			<?php do_action( 'bp_after_registration_disabled' ); ?>
+		<?php endif; // registration-disabled signup setp ?>
+
+		<?php if ( 'request-details' == bp_get_current_signup_step() ) : ?>
+
+			<h2><?php _e( 'Create an Account', 'buddypress' ); ?></h2>
+
+			<?php do_action( 'template_notices' ); ?>
+
+			<p><?php _e( 'Registering for this site is easy, just fill in the fields below and we\'ll get a new account set up for you in no time.', 'buddypress' ); ?></p>
+
+			<?php do_action( 'bp_before_account_details_fields' ); ?>
+
+			<div class="register-section" id="basic-details-section">
+
+				<?php /***** Basic Account Details ******/ ?>
+
+				<h4><?php _e( 'Account Details', 'buddypress' ); ?></h4>
+
+				<label for="signup_username"><?php _e( 'Username', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
+				<?php do_action( 'bp_signup_username_errors' ); ?>
+				<input type="text" name="signup_username" id="signup_username" value="<?php bp_signup_username_value(); ?>" />
+
+				<label for="signup_email"><?php _e( 'Email Address', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
+				<?php do_action( 'bp_signup_email_errors' ); ?>
+				<input type="text" name="signup_email" id="signup_email" value="<?php bp_signup_email_value(); ?>" />
+
+				<label for="signup_password"><?php _e( 'Choose a Password', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
+				<?php do_action( 'bp_signup_password_errors' ); ?>
+				<input type="password" name="signup_password" id="signup_password" value="" />
+
+				<label for="signup_password_confirm"><?php _e( 'Confirm Password', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
+				<?php do_action( 'bp_signup_password_confirm_errors' ); ?>
+				<input type="password" name="signup_password_confirm" id="signup_password_confirm" value="" />
+
+			</div><!-- #basic-details-section -->
+
+			<?php do_action( 'bp_after_account_details_fields' ); ?>
+
+			<?php /***** Extra Profile Details ******/ ?>
+
+			<?php if ( bp_is_active( 'xprofile' ) ) : ?>
+
+				<?php do_action( 'bp_before_signup_profile_fields' ); ?>
+
+				<div class="register-section" id="profile-details-section">
+
+					<h4><?php _e( 'Profile Details', 'buddypress' ); ?></h4>
+
+					<?php /* Use the profile field loop to render input fields for the 'base' profile field group */ ?>
+					<?php if ( bp_is_active( 'xprofile' ) ) : if ( bp_has_profile( 'profile_group_id=1' ) ) : while ( bp_profile_groups() ) : bp_the_profile_group(); ?>
+
+					<?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>
+
+						<div class="editfield">
+
+							<?php if ( 'textbox' == bp_get_the_profile_field_type() ) : ?>
+
+								<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+								<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+								<input type="text" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" value="<?php bp_the_profile_field_edit_value(); ?>" />
+
+							<?php endif; ?>
+
+							<?php if ( 'textarea' == bp_get_the_profile_field_type() ) : ?>
+
+								<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+								<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+								<textarea rows="5" cols="40" name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_edit_value(); ?></textarea>
+
+							<?php endif; ?>
+
+							<?php if ( 'selectbox' == bp_get_the_profile_field_type() ) : ?>
+
+								<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+								<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+								<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>">
+									<?php bp_the_profile_field_options(); ?>
+								</select>
+
+							<?php endif; ?>
+
+							<?php if ( 'multiselectbox' == bp_get_the_profile_field_type() ) : ?>
+
+								<label for="<?php bp_the_profile_field_input_name(); ?>"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+								<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+								<select name="<?php bp_the_profile_field_input_name(); ?>" id="<?php bp_the_profile_field_input_name(); ?>" multiple="multiple">
+									<?php bp_the_profile_field_options(); ?>
+								</select>
+
+							<?php endif; ?>
+
+							<?php if ( 'radio' == bp_get_the_profile_field_type() ) : ?>
+
+								<div class="radio">
+									<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
+
+									<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+									<?php bp_the_profile_field_options(); ?>
+
+									<?php if ( !bp_get_the_profile_field_is_required() ) : ?>
+										<a class="clear-value" href="javascript:clear( '<?php bp_the_profile_field_input_name(); ?>' );"><?php _e( 'Clear', 'buddypress' ); ?></a>
+									<?php endif; ?>
+								</div>
+
+							<?php endif; ?>
+
+							<?php if ( 'checkbox' == bp_get_the_profile_field_type() ) : ?>
+
+								<div class="checkbox">
+									<span class="label"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></span>
+
+									<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+									<?php bp_the_profile_field_options(); ?>
+								</div>
+
+							<?php endif; ?>
+
+							<?php if ( 'datebox' == bp_get_the_profile_field_type() ) : ?>
+
+								<div class="datebox">
+									<label for="<?php bp_the_profile_field_input_name(); ?>_day"><?php bp_the_profile_field_name(); ?> <?php if ( bp_get_the_profile_field_is_required() ) : ?><?php _e( '(required)', 'buddypress' ); ?><?php endif; ?></label>
+									<?php do_action( 'bp_' . bp_get_the_profile_field_input_name() . '_errors' ); ?>
+
+									<select name="<?php bp_the_profile_field_input_name(); ?>_day" id="<?php bp_the_profile_field_input_name(); ?>_day">
+										<?php bp_the_profile_field_options( 'type=day' ); ?>
+									</select>
+
+									<select name="<?php bp_the_profile_field_input_name(); ?>_month" id="<?php bp_the_profile_field_input_name(); ?>_month">
+										<?php bp_the_profile_field_options( 'type=month' ); ?>
+									</select>
+
+									<select name="<?php bp_the_profile_field_input_name(); ?>_year" id="<?php bp_the_profile_field_input_name(); ?>_year">
+										<?php bp_the_profile_field_options( 'type=year' ); ?>
+									</select>
+								</div>
+
+							<?php endif; ?>
+
+							<?php if ( bp_current_user_can( 'bp_xprofile_change_field_visibility' ) ) : ?>
+								<p class="field-visibility-settings-toggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
+									<?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?> <a href="#" class="visibility-toggle-link">Change</a>
+								</p>
+
+								<div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>">
+									<fieldset>
+										<legend><?php _e( 'Who can see this field?', 'buddypress' ) ?></legend>
+
+										<?php bp_profile_visibility_radio_buttons() ?>
+
+									</fieldset>
+									<a class="field-visibility-settings-close" href="#"><?php _e( 'Close', 'buddypress' ) ?></a>
+
+								</div>
+							<?php else : ?>
+								<p class="field-visibility-settings-notoggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
+									<?php printf( __( 'This field can be seen by: <span class="current-visibility-level">%s</span>', 'buddypress' ), bp_get_the_profile_field_visibility_level_label() ) ?>
+								</p>			
+							<?php endif ?>
+
+
+							<?php do_action( 'bp_custom_profile_edit_fields' ); ?>
+
+							<p class="description"><?php bp_the_profile_field_description(); ?></p>
+
+						</div>
+
+					<?php endwhile; ?>
+
+					<input type="hidden" name="signup_profile_field_ids" id="signup_profile_field_ids" value="<?php bp_the_profile_group_field_ids(); ?>" />
+
+					<?php endwhile; endif; endif; ?>
+
+				</div><!-- #profile-details-section -->
+
+				<?php do_action( 'bp_after_signup_profile_fields' ); ?>
+
+			<?php endif; ?>
+
+			<?php if ( bp_get_blog_signup_allowed() ) : ?>
+
+				<?php do_action( 'bp_before_blog_details_fields' ); ?>
+
+				<?php /***** Blog Creation Details ******/ ?>
+
+				<div class="register-section" id="blog-details-section">
+
+					<h4><?php _e( 'Blog Details', 'buddypress' ); ?></h4>
+
+					<p><input type="checkbox" name="signup_with_blog" id="signup_with_blog" value="1"<?php if ( (int) bp_get_signup_with_blog_value() ) : ?> checked="checked"<?php endif; ?> /> <?php _e( 'Yes, I\'d like to create a new site', 'buddypress' ); ?></p>
+
+					<div id="blog-details"<?php if ( (int) bp_get_signup_with_blog_value() ) : ?>class="show"<?php endif; ?>>
+
+						<label for="signup_blog_url"><?php _e( 'Blog URL', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
+						<?php do_action( 'bp_signup_blog_url_errors' ); ?>
+
+						<?php if ( is_subdomain_install() ) : ?>
+							http:// <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" /> .<?php bp_blogs_subdomain_base(); ?>
+						<?php else : ?>
+							<?php echo site_url(); ?>/ <input type="text" name="signup_blog_url" id="signup_blog_url" value="<?php bp_signup_blog_url_value(); ?>" />
+						<?php endif; ?>
+
+						<label for="signup_blog_title"><?php _e( 'Site Title', 'buddypress' ); ?> <?php _e( '(required)', 'buddypress' ); ?></label>
+						<?php do_action( 'bp_signup_blog_title_errors' ); ?>
+						<input type="text" name="signup_blog_title" id="signup_blog_title" value="<?php bp_signup_blog_title_value(); ?>" />
+
+						<span class="label"><?php _e( 'I would like my site to appear in search engines, and in public listings around this network.', 'buddypress' ); ?>:</span>
+						<?php do_action( 'bp_signup_blog_privacy_errors' ); ?>
+
+						<label><input type="radio" name="signup_blog_privacy" id="signup_blog_privacy_public" value="public"<?php if ( 'public' == bp_get_signup_blog_privacy_value() || !bp_get_signup_blog_privacy_value() ) : ?> checked="checked"<?php endif; ?> /> <?php _e( 'Yes', 'buddypress' ); ?></label>
+						<label><input type="radio" name="signup_blog_privacy" id="signup_blog_privacy_private" value="private"<?php if ( 'private' == bp_get_signup_blog_privacy_value() ) : ?> checked="checked"<?php endif; ?> /> <?php _e( 'No', 'buddypress' ); ?></label>
+
+					</div>
+
+				</div><!-- #blog-details-section -->
+
+				<?php do_action( 'bp_after_blog_details_fields' ); ?>
+
+			<?php endif; ?>
+
+			<?php do_action( 'bp_before_registration_submit_buttons' ); ?>
+
+			<div class="submit">
+				<input type="submit" name="signup_submit" id="signup_submit" value="<?php _e( 'Complete Sign Up', 'buddypress' ); ?>" />
+			</div>
+
+			<?php do_action( 'bp_after_registration_submit_buttons' ); ?>
+
+			<?php wp_nonce_field( 'bp_new_signup' ); ?>
+
+		<?php endif; // request-details signup step ?>
+
+		<?php if ( 'completed-confirmation' == bp_get_current_signup_step() ) : ?>
+
+			<h2><?php _e( 'Sign Up Complete!', 'buddypress' ); ?></h2>
+
+			<?php do_action( 'template_notices' ); ?>
+			<?php do_action( 'bp_before_registration_confirmed' ); ?>
+
+			<?php if ( bp_registration_needs_activation() ) : ?>
+				<p><?php _e( 'You have successfully created your account! To begin using this site you will need to activate your account via the email we have just sent to your address.', 'buddypress' ); ?></p>
+			<?php else : ?>
+				<p><?php _e( 'You have successfully created your account! Please log in using the username and password you have just created.', 'buddypress' ); ?></p>
+			<?php endif; ?>
+
+			<?php do_action( 'bp_after_registration_confirmed' ); ?>
+
+		<?php endif; // completed-confirmation signup step ?>
+
+		<?php do_action( 'bp_custom_signup_steps' ); ?>
+
+		</form>
+
+	</div>
+
+	<?php do_action( 'bp_after_register_page' ); ?>
+
+</div><!-- #buddypress -->
Index: bp-themes/bp-theme-compat/css/buddypress.css
--- bp-themes/bp-theme-compat/css/buddypress.css No Base Revision
+++ bp-themes/bp-theme-compat/css/buddypress.css Locally New
@@ -0,0 +1,1356 @@
+/*--------------------------------------------------------------
+Hello, this is the BuddyPress Default theme stylesheet.
+
+----------------------------------------------------------------
+>>> TABLE OF CONTENTS:
+----------------------------------------------------------------
+4.0 - Navigation
+	4.1 - Pagination
+5.0 - WordPress
+	5.1 - Alignments
+	5.2 - Comments
+	5.3 - Gallery
+	5.4 - Images
+	5.5 - Posts
+6.0 - BuddyPress
+	6.1 - Activity
+		6.1.1 - Activity Listing
+		6.1.2 - Activity Comments
+	6.2 - Toolbar
+	6.3 - Directories - Members, Groups, Blogs, Forums
+	6.4 - Error / Success Messages
+	6.5 - Forms
+	6.6 - Ajax Loading
+	6.7 - Topics and Tables - Forums and General
+	6.8 - Headers, Lists and Tabs - Activity, Groups, Blogs, Forums
+	6.9 - Private Messaging Threads
+	6.10 - Extended Profiles
+--------------------------------------------------------------*/
+
+/*--------------------------------------------------------------
+4.1 - Pagination
+--------------------------------------------------------------*/
+#buddypress div.pagination {
+	background: #f4f4f4;
+	border: none;
+	color: #888;
+	font-size: 11px;
+	margin: -20px 0 20px 0;
+	position: relative;
+	display: block;
+	float: left;
+	width: 100%;
+	padding: 10px 0;
+}
+#buddypress div.pagination .pag-count {
+	float: left;
+	margin-left: 10px;
+}
+#buddypress div.pagination .pagination-links {
+	float: right;
+	margin-right: 10px;
+}
+#buddypress div.pagination .pagination-links span,
+#buddypress div.pagination .pagination-links a {
+	font-size: 12px;
+	padding: 0 5px;
+}
+#buddypress div.pagination .pagination-links a:hover {
+	font-weight: bold;
+}
+#buddypress noscript div.pagination {
+	margin-bottom: 15px;
+}
+#buddypress div#pag-bottom {
+	margin-top: -1px;
+}
+#buddypress #nav-above {
+	display: none;
+}
+#buddypress .paged #nav-above {
+	display: block;
+}
+
+/*--------------------------------------------------------------
+5.4 - Images
+--------------------------------------------------------------*/
+#buddypress img.wp-smiley {
+	border: none !important;
+	clear: none !important;
+	float: none !important;
+	margin: 0 !important;
+	padding: 0 !important;
+}
+
+/*--------------------------------------------------------------
+6.0 - BuddyPress
+--------------------------------------------------------------*/
+/*--------------------------------------------------------------
+6.1 - Activity
+--------------------------------------------------------------*/
+#buddypress #activity-stream {
+	margin-top: -5px;
+}
+#buddypress #item-body form#whats-new-form {
+	border-bottom: 1px solid #ddd;
+	margin: 20px 0 10px;
+	padding-bottom: 20px;
+}
+#buddypress .home-page form#whats-new-form {
+	border-bottom: none;
+	padding-bottom: 0;
+}
+#buddypress form#whats-new-form h5 {
+	font-weight: normal;
+	font-size: 12px;
+	color: #888;
+	margin: 0;
+	margin-left: 76px;
+	padding: 0 0 3px 0;
+}
+#buddypress form#whats-new-form #whats-new-avatar {
+	float: left;
+}
+#buddypress form#whats-new-form #whats-new-content {
+	margin-left: 54px;
+	padding-left: 22px;
+}
+#buddypress form#whats-new-form textarea {
+	background: #fff;
+	border: 1px inset #ccc;
+	-moz-border-radius: 3px;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	color: #555;
+	font-family: inherit;
+	font-size: 14px;
+	height: 20px;
+	padding: 6px;
+	width: 98%;
+}
+body.no-js #buddypress form#whats-new-form textarea {
+	height: 50px;
+}
+#buddypress form#whats-new-form #whats-new-options select {
+	max-width: 200px;
+	margin-top: 12px;
+}
+#buddypress form#whats-new-form #whats-new-submit {
+	float: right;
+	margin-top: 12px;
+}
+#buddypress #whats-new-options {
+	overflow: auto;
+	height: 0;
+}
+body.no-js #buddypress #whats-new-options {
+	height: auto;
+}
+#buddypress #whats-new:focus {
+	border-color: rgba(31, 179, 221, 0.9) !important;
+	outline-color: rgba(31, 179, 221, 0.9);
+	box-shadow: 0 0 7px         rgba(31, 179, 221, 0.7);
+	-moz-box-shadow: 0 0 7px    rgba(31, 179, 221, 0.7);
+	-webkit-box-shadow: 0 0 7px rgba(31, 179, 221, 0.7);
+}
+
+/*--------------------------------------------------------------
+6.1.1 - Activity Listing
+--------------------------------------------------------------*/
+#buddypress ul.activity-list li {
+	overflow: hidden;
+	padding: 15px 0 0;
+}
+#buddypress .activity-list .activity-avatar {
+	float: left;
+}
+#buddypress ul.activity-list > li:first-child {
+	padding-top: 5px;
+}
+#buddypress ul.item-list.activity-list li.has-comments {
+	padding-bottom: 15px;
+}
+body.activity-permalink #buddypress ul.activity-list li.has-comments {
+	padding-bottom: 0;
+}
+#buddypress .activity-list li.mini {
+	font-size: 11px;
+	min-height: 35px;
+	padding: 15px 0 0 0;
+	position: relative;
+}
+#buddypress .activity-list li.mini .activity-avatar img.avatar,
+#buddypress .activity-list li.mini .activity-avatar img.FB_profile_pic {
+	height: 20px;
+	margin-left: 30px;
+	width: 20px;
+}
+#buddypress .activity-permalink .activity-list li.mini .activity-avatar img.avatar,
+#buddypress .activity-permalink .activity-list li.mini .activity-avatar img.FB_profile_pic {
+	height: auto;
+	margin-left: 0;
+	width: auto;
+}
+body.activity-permalink #buddypress .activity-list > li:first-child {
+	padding-top: 0;
+}
+#buddypress .activity-list li .activity-content {
+	position: relative;
+}
+#buddypress .activity-list li.mini .activity-content p {
+	margin: 0;
+}
+#buddypress .activity-list li.mini .activity-comments {
+	clear: both;
+	font-size: 12px;
+}
+body.activity-permalink #buddypress li.mini .activity-meta {
+	margin-top: 4px;
+}
+#buddypress .activity-list li .activity-inreplyto {
+	color: #888;
+	font-size: 11px;
+	margin-left: 5px;
+	margin-top: 5px;
+	padding-left: 25px;
+}
+#buddypress .activity-list li .activity-inreplyto > p {
+	margin: 0;
+	display: inline;
+}
+#buddypress .activity-list li .activity-inreplyto blockquote,
+#buddypress .activity-list li .activity-inreplyto div.activity-inner {
+	background: none;
+	border: none;
+	display: inline;
+	margin: 0;
+	overflow: hidden;
+	padding: 0;
+}
+#buddypress .activity-list .activity-content {
+	margin-left: 70px;
+	margin-bottom: 15px;
+}
+body.activity-permalink #buddypress .activity-list li .activity-content {
+	background: #fff;
+	border-bottom: 1px solid #ddd;
+	border-right: 1px solid #ddd;
+	border-radius: 4px;
+	font-size: 16px;
+	line-height: 150%;
+	min-height: 35px;
+	margin-left: 185px;
+	margin-right: 0;
+	padding: 15px;
+}
+body.activity-permalink #buddypress .activity-list li .activity-header > p {
+	height: 35px;
+	margin-bottom: 0;
+	margin-left: -35px;
+	padding: 5px 0 0 35px;
+}
+#buddypress .activity-list .activity-content .activity-header,
+#buddypress .activity-list .activity-content .comment-header {
+	color: #888;
+	font-size: 11px;
+	line-height: 220%;
+}
+#buddypress .activity-header {
+	margin-right: 20px;
+}
+#buddypress .activity-header a,
+#buddypress .comment-meta a,
+#buddypress .acomment-meta a {
+	text-decoration: none;
+}
+#buddypress .activity-list .activity-content .activity-header img.avatar {
+	float: none !important;
+	margin: 0 5px -8px 0 !important;
+}
+#buddypress a.bp-secondary-action,
+#buddypress span.highlight {
+	font-size: 11px;
+	padding: 0;
+	margin-right: 5px;
+	text-decoration: none;
+}
+#buddypress .activity-list .activity-content .activity-inner,
+#buddypress .activity-list .activity-content blockquote {
+	margin: 10px 10px 5px 0;
+	overflow: hidden;
+}
+#buddypress .activity-list li.new_forum_post .activity-content .activity-inner,
+#buddypress .activity-list li.new_forum_topic .activity-content .activity-inner {
+	border-left: 2px solid #EAEAEA;
+	margin-left: 5px;
+	padding-left: 10px;
+}
+body.activity-permalink #buddypress .activity-content .activity-inner,
+body.activity-permalink #buddypress .activity-content blockquote {
+	margin-left: 0;
+	margin-top: 5px;
+}
+#buddypress .activity-inner > p {
+	word-wrap: break-word;
+}
+#buddypress .activity-inner > .activity-inner {
+	margin: 0 !important;
+}
+#buddypress .activity-inner > blockquote {
+	margin: 0 !important;
+}
+#buddypress .activity-list .activity-content img.thumbnail {
+	border: 2px solid #eee;
+	float: left;
+	margin: 0 10px 5px 0;
+}
+#buddypress .activity-read-more {
+	margin-left: 1em;
+	white-space: nowrap;
+}
+#buddypress .activity-list li.load-more {
+	background: #f0f0f0 !important;
+	border-right: 1px solid #ddd;
+	border-bottom: 1px solid #ddd;
+	-moz-border-radius: 4px;
+	-webkit-border-radius: 4px;
+	border-radius: 4px;
+	font-size: 1.2em;
+	margin: 15px 0 !important;
+	padding: 10px 15px !important;
+	text-align: center;
+}
+#buddypress .activity-list li.load-more a {
+	color: #4D4D4D;
+}
+
+
+/*--------------------------------------------------------------
+6.1.2 - Activity Comments
+--------------------------------------------------------------*/
+#buddypress div.activity-meta {
+	margin: 18px 0;
+}
+body.activity-permalink #buddypress div.activity-meta {
+	margin-bottom: 6px;
+}
+#buddypress div.activity-meta a {
+	font: normal 11px/20px Arial, Tahoma, Verdana, sans-serif;
+	padding: 4px 8px;
+}
+#buddypress a.activity-time-since {
+	color: #aaa;
+	text-decoration: none;
+}
+#buddypress a.activity-time-since:hover {
+	color: #888;
+	text-decoration: underline;
+}
+#buddypress a.bp-primary-action,
+#buddypress #reply-title small a {
+	font-size: 11px;
+	margin-right: 5px;
+	text-decoration: none;
+}
+#buddypress a.bp-primary-action span,
+#buddypress #reply-title small a span {
+	background: #999;
+	border-radius: 3px;
+	color: #fff;
+	font-size: 90%;
+	margin-left: 2px;
+	padding: 0 5px;
+}
+#buddypress a.bp-primary-action:hover span,
+#buddypress #reply-title small a:hover span {
+	background: #555;
+	color: #fff;
+}
+#buddypress div.activity-comments {
+	margin: 0 0 0 70px;
+	overflow: hidden; /* IE fix */
+	position: relative;
+	width: auto;
+	clear: both;
+}
+body.activity-permalink #buddypress div.activity-comments {
+	background: none;
+	margin-left: 185px;
+	width: auto;
+}
+#buddypress div.activity-comments > ul {
+	background: #f5f5f5;
+	border-radius: 4px;
+	padding: 0 0 0 10px;
+}
+#buddypress div.activity-comments ul,
+#buddypress div.activity-comments ul li {
+	border: none;
+	list-style: none;
+}
+#buddypress div.activity-comments ul {
+	clear: both;
+}
+#buddypress div.activity-comments ul li {
+	border-top: 2px solid #fff;
+	padding: 10px 0 0;
+}
+body.activity-permalink #buddypress .activity-list li.mini .activity-comments {
+	clear: none;
+	margin-top: 0;
+}
+body.activity-permalink #buddypress div.activity-comments ul li {
+	border-width: 1px;
+	padding: 10px 0 0 0;
+}
+#buddypress div.activity-comments > ul > li:first-child {
+	border-top: none;
+}
+#buddypress div.activity-comments ul li:last-child {
+	margin-bottom: 0;
+}
+#buddypress div.activity-comments ul li > ul {
+	margin-left: 30px;
+	margin-top: 0;
+	padding-left: 10px;
+}
+body.activity-permalink #buddypress div.activity-comments ul li > ul {
+	margin-top: 10px;
+}
+body.activity-permalink #buddypress div.activity-comments > ul {
+	padding: 0 10px 0 15px;
+}
+#buddypress div.activity-comments div.acomment-avatar img {
+	border-width: 2px !important;
+	float: left;
+	height: 25px;
+	margin-right: 10px;
+	width: 25px;
+}
+#buddypress div.activity-comments div.acomment-content {
+	font-size: 11px;
+	margin: 5px 0 0 40px;
+}
+#buddypress div.acomment-content .time-since,
+#buddypress div.acomment-content .activity-delete-link,
+#buddypress div.acomment-content .comment-header {
+	display: none;
+}
+body.activity-permalink #buddypress div.activity-comments div.acomment-content {
+	font-size: 14px;
+}
+#buddypress div.activity-comments div.acomment-meta {
+	color: #888;
+	font-size: 11px;
+}
+#buddypress div.activity-comments form.ac-form {
+	background: #fafafa;
+	border: 1px solid #ddd;
+	border-radius: 4px;
+	display: none;
+	margin: 0 0 15px 33px;
+	padding: 8px;
+}
+#buddypress div.activity-comments li form.ac-form {
+	margin-right: 15px;
+	clear: both;
+}
+#buddypress div.activity-comments form.root {
+	margin-left: 0;
+}
+#buddypress div.activity-comments div#message {
+	margin-top: 15px;
+	margin-bottom: 0;
+}
+#buddypress div.activity-comments form .ac-textarea {
+	background: #fff;
+	border: 1px inset #ccc;
+	border-radius: 3px;
+	margin-bottom: 10px;
+	padding: 8px;
+}
+#buddypress div.activity-comments form textarea {
+	border: none;
+	color: #555;
+	font-family: inherit;
+	font-size: 11px;
+	height: 60px;
+	padding: 0;
+	width: 100%;
+}
+#buddypress div.activity-comments form input {
+	margin-top: 5px;
+}
+#buddypress div.activity-comments form div.ac-reply-avatar {
+	float: left;
+}
+#buddypress div.ac-reply-avatar img {
+	border: 2px solid #fff !important;
+}
+#buddypress div.activity-comments form div.ac-reply-content {
+	color: #888;
+	font-size: 11px;
+	margin-left: 50px;
+	padding-left: 15px;
+}
+#buddypress .acomment-options {
+	float: left;
+	margin: 5px 0 5px 40px;
+}
+#buddypress .acomment-options a {
+	color: #999;
+}
+#buddypress .acomment-options a:hover {
+	color: inherit;
+}
+
+/*--------------------------------------------------------------
+6.3 - Directories - Members, Groups, Blogs, Forums
+--------------------------------------------------------------*/
+#buddypress div.dir-search {
+	float: right;
+	margin: -39px 0 0 0;
+}
+#buddypress div.dir-search input[type=text] {
+	font-size: 12px;
+	padding: 1px 3px;
+}
+
+/*--------------------------------------------------------------
+6.4 - Errors / Success Messages
+--------------------------------------------------------------*/
+#buddypress div#message {
+	margin: 0 0 15px;
+}
+#buddypress #message.info {
+	margin-bottom: 0;
+}
+#buddypress div#message.updated {
+	clear: both;
+}
+#buddypress div#message p {
+	font-size: 12px;
+	display: block;
+	padding: 10px 15px;
+}
+#buddypress div#message.error p {
+	background-color: #db1717;
+	border-color: #a71a1a;
+	clear: left;
+	color: #fff;
+}
+#buddypress div#message.updated p {
+	background-color: #8ff57a;
+	border-color: #80cf70;
+	color: #1a6a00;
+}
+#buddypress .standard-form#signup_form div div.error {
+	background: #e41717;
+	-moz-border-radius: 3px;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	color: #fff;
+	margin: 0 0 10px 0;
+	padding: 6px;
+	width: 90%;
+}
+#buddypress div.accept,
+#buddypress div.reject {
+	float: left;
+	margin-left: 10px;
+}
+#buddypress ul.button-nav li {
+	float: left;
+	margin: 0 10px 10px 0;
+}
+#buddypress ul.button-nav li.current a {
+	font-weight: bold;
+}
+
+
+/*--------------------------------------------------------------
+6.5 - Forms
+--------------------------------------------------------------*/
+#buddypress .standard-form textarea,
+#buddypress .standard-form input[type=text],
+#buddypress .standard-form select,
+#buddypress .standard-form input[type=password],
+#buddypress .dir-search input[type=text] {
+	border: 1px inset #ccc;
+	border-radius: 3px;
+	color: #888;
+	font: inherit;
+	font-size: 14px;
+	padding: 6px;
+}
+#buddypress .standard-form select {
+	padding: 3px;
+}
+#buddypress .standard-form input[type=password] {
+	margin-bottom: 5px;
+}
+#buddypress .standard-form label,
+#buddypress .standard-form span.label {
+	display: block;
+	font-weight: bold;
+	margin: 15px 0 5px 0;
+}
+#buddypress .standard-form div.checkbox label,
+#buddypress .standard-form div.radio label {
+	color: #888;
+	font-size: 14px;
+	font-weight: normal;
+	margin: 5px 0 0 0;
+}
+#buddypress .standard-form#sidebar-login-form label {
+	margin-top: 5px;
+}
+#buddypress .standard-form input[type=text] {
+	width: 75%;
+}
+#buddypress .standard-form#sidebar-login-form input[type=text],
+#buddypress .standard-form#sidebar-login-form input[type=password] {
+	padding: 4px;
+	width: 95%;
+}
+#buddypress .standard-form #basic-details-section input[type=password],
+#buddypress .standard-form #blog-details-section input#signup_blog_url {
+	width: 35%;
+}
+#buddypress .standard-form#signup_form input[type=text],
+#buddypress .standard-form#signup_form textarea,
+#buddypress .form-allowed-tags,
+#buddypress #commentform input[type=text],
+#buddypress #commentform textarea {
+	width: 90%;
+}
+#buddypress .standard-form#signup_form div.submit {
+	float: right;
+}
+#buddypress div#signup-avatar img {
+	margin: 0 15px 10px 0;
+}
+#buddypress .standard-form textarea {
+	width: 75%;
+	height: 120px;
+}
+#buddypress .standard-form textarea#message_content {
+	height: 200px;
+}
+#buddypress .standard-form#send-reply textarea {
+	width: 97.5%;
+}
+#buddypress .standard-form p.description {
+	color: #888;
+	font-size: 11px;
+	margin: 5px 0;
+}
+#buddypress .standard-form div.submit {
+	clear: both;
+	padding: 15px 0 0 0;
+}
+#buddypress .standard-form p.submit {
+	margin-bottom: 0;
+	padding: 15px 0 0 0;
+}
+#buddypress .standard-form div.submit input {
+	margin-right: 15px;
+}
+#buddypress .standard-form div.radio ul {
+	margin: 10px 0 15px 38px;
+	list-style: disc;
+}
+#buddypress .standard-form div.radio ul li {
+	margin-bottom: 5px;
+}
+#buddypress .standard-form a.clear-value {
+	display: block;
+	margin-top: 5px;
+	outline: none;
+}
+#buddypress .standard-form #basic-details-section,
+#buddypress .standard-form #blog-details-section,
+#buddypress .standard-form #profile-details-section {
+	float: left;
+	width: 48%;
+}
+#buddypress .standard-form #profile-details-section {
+	float: right;
+}
+#buddypress .standard-form #blog-details-section {
+	clear: left;
+}
+#buddypress .standard-form input:focus,
+#buddypress .standard-form textarea:focus,
+#buddypress .standard-form select:focus {
+	background: #fafafa;
+	color: #555;
+}
+#buddypress form#send-invite-form {
+	margin-top: 20px;
+}
+#buddypress div#invite-list {
+	background: #f5f5f5;
+	border: 1px solid #e4e4e4;
+	border-radius: 3px;
+	height: 400px;
+	margin: 0 0 10px;
+	overflow: auto;
+	padding: 5px;
+	width: 160px;
+}
+#buddypress button,
+#buddypress a.button,
+#buddypress input[type=submit],
+#buddypress input[type=button],
+#buddypress input[type=reset],
+#buddypress ul.button-nav li a,
+#buddypress div.generic-button a,
+#buddypress .comment-reply-link {
+	background: #fff; /* Old browsers */
+	background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%); /* FF3.6+ */
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
+	background: -webkit-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */
+	background: -o-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Opera11.10+ */
+	background: -ms-linear-gradient(top, #ffffff 0%,#ededed 100%); /* IE10+ */
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
+	background: linear-gradient(top, #ffffff 0%,#ededed 100%); /* W3C */
+	border: 1px solid #ccc;
+	-moz-border-radius: 3px;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	color: #777;
+	cursor: pointer;
+	font: normal 12px/20px Arial, Tahoma, Verdana, sans-serif;
+	outline: none;
+	padding: 4px 10px;
+	text-align: center;
+	text-decoration: none;
+	line-height: 14px;
+}
+#buddypress button:hover,
+#buddypress a.button:hover,
+#buddypress a.button:focus,
+#buddypress input[type=submit]:hover,
+#buddypress input[type=button]:hover,
+#buddypress input[type=reset]:hover,
+#buddypress ul.button-nav li a:hover,
+#buddypress ul.button-nav li.current a,
+#buddypress div.generic-button a:hover,
+#buddypress .comment-reply-link:hover {
+	background: #ededed;
+	background: -moz-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); /* FF3.6+ */
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e0e0e0)); /* Chrome,Safari4+ */
+	background: -webkit-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* Chrome10+,Safari5.1+ */
+	background: -o-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* Opera11.10+ */
+	background: -ms-linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* IE10+ */
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e0e0e0',GradientType=0 ); /* IE6-9 */
+	background: linear-gradient(top, #ffffff 0%,#e0e0e0 100%); /* W3C */
+	border: 1px solid #bbb;
+	color: #555;
+	outline: none;
+	text-decoration: none;
+}
+
+/*--------------------------------------------------------------
+6.6 - Ajax Loading
+--------------------------------------------------------------*/
+#buddypress a.loading,
+#buddypress input.loading {
+    padding-right: 25px;
+}
+#buddypress a.loading:hover,
+#buddypress input.loading:hover {
+    padding-right: 25px;
+    color: #777;
+}
+#buddypress input[type="submit"].pending,
+#buddypress input[type="button"].pending,
+#buddypress input[type="reset"].pending,
+#buddypress input[type="submit"].disabled,
+#buddypress input[type="button"].disabled,
+#buddypress input[type="reset"].disabled,
+#buddypress button.pending,
+#buddypress button.disabled,
+#buddypress div.pending a,
+#buddypress a.disabled {
+    border-color: #eee;
+    color: #bbb;
+    cursor: default;
+}
+#buddypress input[type="submit"]:hover.pending,
+#buddypress input[type="button"]:hover.pending,
+#buddypress input[type="reset"]:hover.pending,
+#buddypress input[type="submit"]:hover.disabled,
+#buddypress input[type="button"]:hover.disabled,
+#buddypress input[type="reset"]:hover.disabled,
+#buddypress button.pending:hover,
+#buddypress button.disabled:hover,
+#buddypress div.pending a:hover,
+#buddypress a.disabled:hover {
+	background: -moz-linear-gradient(top, #ffffff 0%, #ededed 100%); /* FF3.6+ */
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
+	background: -webkit-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Chrome10+,Safari5.1+ */
+	background: -o-linear-gradient(top, #ffffff 0%,#ededed 100%); /* Opera11.10+ */
+	background: -ms-linear-gradient(top, #ffffff 0%,#ededed 100%); /* IE10+ */
+	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
+	background: linear-gradient(top, #ffffff 0%,#ededed 100%); /* W3C */
+    border-color: #eee;
+    color: #bbb;
+}
+
+/*--------------------------------------------------------------
+6.7 - Forums, Tables and Topics
+--------------------------------------------------------------*/
+#buddypress ul#topic-post-list {
+	margin: 0px -19px 15px;
+	width: auto;
+}
+#buddypress ul#topic-post-list li {
+	padding: 15px;
+	position: relative;
+}
+#buddypress ul#topic-post-list li.alt {
+	background: #f5f5f5;
+}
+#buddypress ul#topic-post-list li div.poster-meta {
+	color: #888;
+	margin-bottom: 10px;
+}
+#buddypress ul#topic-post-list li div.post-content {
+	margin-left: 54px;
+}
+#buddypress div.topic-tags {
+	font-size: 11px;
+}
+#buddypress div.admin-links {
+	color: #888;
+	font-size: 11px;
+	position: absolute;
+	top: 15px;
+	right: 25px;
+}
+#buddypress div#topic-meta {
+	margin: -10px -19px;
+	padding: 5px 19px 30px;
+	position: relative;
+}
+#buddypress div#topic-meta div.admin-links {
+	right: 19px;
+	top: -36px;
+}
+#buddypress div#topic-meta h3 {
+	font-size: 20px;
+	margin: 5px 0;
+}
+#buddypress div#new-topic-post {
+	display: none;
+	margin: 20px 0 0 0;
+	padding: 1px 0 0 0;
+}
+#buddypress table {
+	width: 100%;
+}
+#buddypress table thead tr {
+	background: #eaeaea;
+}
+#buddypress table#message-threads {
+	margin: 0 -19px;
+	width: auto;
+}
+#buddypress table.profile-fields {
+	margin-bottom: 20px;
+}
+#buddypress table.profile-fields:last-child {
+	margin-bottom: 0;
+}
+#buddypress table.profile-fields p {
+	margin: 0;
+}
+#buddypress table.profile-fields p:last-child {
+	margin-top: 0;
+}
+#buddypress table tr td,
+#buddypress table tr th {
+	padding: 8px;
+	vertical-align: middle;
+}
+#buddypress table tr td.label {
+	border-right: 1px solid #eaeaea;
+	font-weight: bold;
+	width: 25%;
+}
+#buddypress table tr td.thread-info p {
+	margin: 0;
+}
+#buddypress table tr td.thread-info p.thread-excerpt {
+	color: #888;
+	font-size: 11px;
+	margin-top: 3px;
+}
+#buddypress table.forum td {
+	text-align: center;
+}
+#buddypress table tr.alt td {
+	background: #f5f5f5;
+}
+#buddypress table.notification-settings {
+	margin-bottom: 20px;
+	text-align: left;
+}
+#buddypress #groups-notification-settings {
+	margin-bottom: 0;
+}
+#buddypress table.notification-settings th.icon,
+#buddypress table.notification-settings td:first-child {
+	display: none;
+}
+#buddypress table.notification-settings th.title {
+	width: 80%;
+}
+#buddypress table.notification-settings .yes,
+#buddypress table.notification-settings .no {
+	text-align: center;
+	width: 40px;
+}
+#buddypress table.forum {
+	margin: 0 -19px;
+	width: auto;
+}
+#buddypress table.forum tr.sticky td {
+	font-size: 1.2em;
+	background: #fff9db;
+	border-top: 1px solid #ffe8c4;
+	border-bottom: 1px solid #ffe8c4;
+}
+#buddypress table.forum tr.closed td.td-title {
+	padding-left: 35px;
+}
+#buddypress table.forum td p.topic-text {
+	color: #888;
+	font-size: 13px;
+}
+#buddypress table.forum tr > td:first-child,
+#buddypress table.forum tr > th:first-child {
+	padding-left: 15px;
+}
+#buddypress table.forum tr > td:last-child,
+#buddypress table.forum tr > th:last-child {
+	padding-right: 15px;
+}
+#buddypress table.forum tr th#th-title,
+#buddypress table.forum tr th#th-poster,
+#buddypress table.forum tr th#th-group,
+#buddypress table.forum td.td-poster,
+#buddypress table.forum td.td-group,
+#buddypress table.forum td.td-title {
+	text-align: left;
+}
+#buddypress table.forum tr td.td-title a.topic-title {
+	font-size: 1.2em;
+}
+#buddypress table.forum td.td-freshness {
+	white-space: nowrap;
+}
+#buddypress table.forum td.td-freshness span.time-since {
+	font-size: 0.9em;
+	color: #888;
+}
+#buddypress table.forum td img.avatar {
+	float: none;
+	margin: 0 5px -8px 0;
+}
+#buddypress table.forum td.td-poster,
+#buddypress table.forum td.td-group {
+	min-width: 140px;
+}
+#buddypress table.forum th#th-title {
+	width: 80%;
+}
+#buddypress table.forum th#th-freshness {
+	width: 25%;
+}
+#buddypress table.forum th#th-postcount {
+	width: 15%;
+}
+#buddypress table.forum p.topic-meta {
+	font-size: 0.9em;
+	margin: 5px 0 0 0;
+}
+
+/*-------------------------------------------------------------------------
+6.8 - Headers, Lists and Tabs - Activity, Groups, Blogs, Forums, Profiles
+-------------------------------------------------------------------------*/
+#buddypress .item-body {
+	margin: 20px 0;
+}
+#buddypress span.activity {
+	display: inline-block;
+	font-size: 11px;
+	opacity: 0.8;
+	padding: 1px 8px;
+}
+#buddypress span.user-nicename {
+	color: #777;
+	display: inline-block;
+	font-size: 16px;
+	font-weight: bold;
+}
+#buddypress span.activity,
+#buddypress div#message p {
+	border: 1px solid #e1ca82;
+	-moz-border-radius: 3px;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	font-weight: normal;
+	margin-top: 3px;
+	text-decoration: none;
+	background: #ffeaa6;
+	background-image: -webkit-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
+	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255, 255, 255, .5)), color-stop(100%,rgba(255, 255, 255, 0))); /* Chrome,Safari4+ */
+	background-image: -moz-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
+	background-image: -ms-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
+	background-image: -o-linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
+	background-image: linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));
+}
+#buddypress div#item-header {
+	overflow: hidden;
+}
+#buddypress div#item-header div#item-header-content {
+	float: left;
+	margin-left: 0;
+}
+#buddypress div#item-header h2 {
+	font-size: 28px;
+	line-height: 120%;
+	margin: 0 0 15px 0;
+}
+#buddypress div#item-header h2 a {
+	color: #777;
+	text-decoration: none;
+}
+#buddypress div#item-header img.avatar {
+	float: left;
+	margin: 0 15px 19px 0;
+}
+#buddypress div#item-header h2 {
+	margin-bottom: 5px;
+}
+#buddypress div#item-header span.activity,
+#buddypress div#item-header h2 span.highlight {
+	font-size: 11px;
+	font-weight: normal;
+	line-height: 170%;
+	margin-bottom: 7px;
+	vertical-align: middle;
+}
+#buddypress div#item-header h2 span.highlight {
+	font-size: 16px;
+}
+#buddypress div#item-header h2 span.highlight span {
+	background: #a1dcfa;
+	-moz-border-radius: 3px;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	color: #fff;
+	cursor: pointer;
+	font-weight: bold;
+	font-size: 11px;
+	margin-bottom: 2px;
+	padding: 1px 4px;
+	position: relative;
+	right: -2px;
+	top: -2px;
+	vertical-align: middle;
+}
+#buddypress div#item-header div#item-meta {
+	font-size: 14px;
+	color: #aaa;
+	overflow: hidden;
+	margin: 15px 0 5px 0;
+	padding-bottom: 10px;
+}
+#buddypress div#item-header div#item-actions {
+	float: right;
+	margin: 0 0 15px 15px;
+	text-align: right;
+	width: 20%;
+}
+#buddypress div#item-header div#item-actions h3 {
+	font-size: 12px;
+	margin: 0 0 5px 0;
+}
+#buddypress div#item-header ul {
+	margin-bottom: 15px;
+	overflow: hidden;
+}
+#buddypress div#item-header ul h5,
+#buddypress div#item-header ul span,
+#buddypress div#item-header ul hr {
+	display: none;
+}
+#buddypress div#item-header ul li {
+	float: right;
+}
+#buddypress div#item-header ul img.avatar,
+#buddypress div#item-header ul.avatars img.avatar {
+	height: 30px;
+	margin: 2px;
+	width: 30px;
+}
+#buddypress div#item-header div.generic-button,
+#buddypress div#item-header a.button {
+	float: left;
+	margin: 10px 10px 0 0;
+}
+#buddypress div#item-header div#message.info {
+	line-height: 80%;
+}
+#buddypress ul.item-list {
+	width: 100%;
+	list-style: none;
+}
+#buddypress ul.item-list li {
+	border-bottom: 1px solid #eaeaea;
+	padding: 15px 0;
+	position: relative;
+	list-style: none;
+}
+#buddypress ul.item-list.activity-list li {
+	padding-bottom: 0;
+}
+#buddypress ul.single-line li {
+	border: none;
+}
+#buddypress ul.item-list li img.avatar {
+	float: left;
+	margin: 0 10px 0 0;
+}
+#buddypress ul.item-list li div.item-title,
+#buddypress ul.item-list li h4 {
+	font-weight: normal;
+	font-size: 14px;
+	margin: 0;
+	width: 75%;
+}
+#buddypress ul.item-list li div.item-title span {
+	color: #999;
+	font-size: 12px;
+}
+#buddypress ul.item-list li div.item-desc {
+	color: #888;
+	font-size: 11px;
+	margin: 10px 0 0 64px;
+	width: 50%;
+}
+#buddypress ul.item-list li div.action {
+	position: absolute;
+	top: 15px;
+	right: 0;
+	text-align: right;
+}
+#buddypress ul.item-list li div.meta {
+	color: #888;
+	font-size: 11px;
+	margin-top: 10px;
+}
+#buddypress ul.item-list li h5 span.small {
+	float: right;
+	font-size: 11px;
+	font-weight: normal;
+}
+#buddypress div.item-list-tabs {
+	background: #e6e6e6;
+	clear: left;
+	overflow: hidden;
+}
+#buddypress div.item-list-tabs ul li a {
+	text-decoration: none;
+	height: 20px;
+}
+#buddypress div.item-list-tabs ul {
+	width: 100%;
+}
+#buddypress div.item-list-tabs ul li {
+	float: left;
+	margin: 5px 0 0 5px;
+	list-style: none;
+}
+#buddypress div.item-list-tabs#subnav ul li {
+	margin-top: 0;
+}
+#buddypress div.item-list-tabs ul li.last {
+	float: right;
+	margin: 7px 10px 0 0;
+}
+#buddypress div.item-list-tabs#subnav ul li.last {
+	margin-top: 4px;
+}
+#buddypress div.item-list-tabs ul li.last select {
+	max-width: 175px;
+}
+#buddypress div.item-list-tabs ul li a,
+#buddypress div.item-list-tabs ul li span {
+	display: block;
+	padding: 5px 10px 10px;
+	text-decoration: none;
+}
+#buddypress div.item-list-tabs ul li a span {
+	background: #1fb3dd;
+	border-radius: 3px;
+	color: #fff;
+	display: inline;
+	font-size: 90%;
+	margin-left: 2px;
+	padding: 1px 6px;
+}
+#buddypress div.item-list-tabs ul li.selected a,
+#buddypress div.item-list-tabs ul li.current a {
+	background-color: #fff;
+	border-top-left-radius: 3px;
+	border-top-right-radius: 3px;
+	color: #555;
+	font-weight: bold;
+}
+#buddypress div.item-list-tabs ul li.selected a span,
+#buddypress div.item-list-tabs ul li.current a span,
+#buddypress div.item-list-tabs ul li a:hover span {
+	background-color: #999;
+}
+#buddypress div.item-list-tabs ul li.selected a span,
+#buddypress div.item-list-tabs ul li.current a span {
+	background-color: #555;
+}
+#buddypress div#item-nav ul li.loading a {
+	background-position: 88% 50%;
+}
+#buddypress div.item-list-tabs#object-nav {
+	margin-top: 0;
+}
+#buddypress div.item-list-tabs#subnav {
+	background: #fff;
+	border-bottom: 1px solid #eaeaea;
+	margin: 0 0 20px;
+	overflow: hidden;
+}
+#buddypress #admins-list li,
+#buddypress #mods-list li,
+#buddypress #members-list li {
+	overflow: auto;
+}
+
+
+/*--------------------------------------------------------------
+6.9 - Private Messaging Threads
+--------------------------------------------------------------*/
+#buddypress table#message-threads tr.unread td {
+	background: #fff9db;
+	border-top: 1px solid #ffe8c4;
+	border-bottom: 1px solid #ffe8c4;
+	font-weight: bold;
+}
+#buddypress li span.unread-count,
+#buddypress tr.unread span.unread-count {
+	background: #dd0000;
+	border-radius: 3px;
+	color: #fff;
+	font-weight: bold;
+	padding: 2px 8px;
+}
+#buddypress div.item-list-tabs ul li a span.unread-count {
+	padding: 1px 6px;
+	color: #fff;
+}
+#buddypress div.messages-options-nav {
+	background: #eee;
+	font-size: 11px;
+	margin: 0 -19px;
+	padding: 5px 15px;
+	text-align: right;
+}
+#buddypress div#message-thread div.message-box {
+	margin: 0 -19px;
+	padding: 15px;
+}
+#buddypress div#message-thread div.alt {
+	background: #f4f4f4;
+}
+#buddypress div#message-thread p#message-recipients {
+	margin: 10px 0 20px 0;
+}
+#buddypress div#message-thread img.avatar {
+	float: left;
+	margin: 0 10px 0 0;
+	vertical-align: middle;
+}
+#buddypress div#message-thread strong {
+	font-size: 16px;
+	margin: 0;
+}
+#buddypress div#message-thread strong a {
+	text-decoration: none;
+}
+#buddypress div#message-thread strong span.activity {
+	margin: 4px 0 0 10px;
+}
+#buddypress div#message-thread div.message-metadata {
+	overflow: hidden;
+}
+#buddypress div#message-thread div.message-content {
+	margin-left: 45px;
+}
+#buddypress div#message-thread div.message-options {
+	text-align: right;
+}
+
+#buddypress div.message-search {
+	float: right;
+	margin: 0 20px;
+}
+
+/*--------------------------------------------------------------
+6.9 - Extended Profiles
+--------------------------------------------------------------*/
+
+#buddypress div.profile h4 {
+	margin-bottom: auto;
+	margin-top: 15px;
+}
+#buddypress #profile-edit-form ul.button-nav {
+	margin-top: 15px;
+}
+body.no-js #buddypress .field-visibility-settings-toggle,
+body.no-js #buddypress .field-visibility-settings-close {
+	display: none;
+}
+#buddypress .field-visibility-settings {
+	display: none;
+	margin-top: 10px;
+}
+	body.no-js #buddypress .field-visibility-settings {
+		display: block;
+	}
+#buddypress .current-visibility-level {
+	font-weight: bold;
+	font-style: normal;
+}
+#buddypress .field-visibility-settings,
+#buddypress .field-visibility-settings-toggle,
+#buddypress .field-visibility-settings-notoggle {
+	color: #888;
+}
+#buddypress .field-visibility-settings-toggle a,
+#buddypress .field-visibility-settings a {
+	font-size: .9em;
+}
+body.register #buddypress div.page ul {
+	list-style: none;
+}
+#buddypress .standard-form .field-visibility-settings label {
+	margin: 0;
+	font-weight: normal;
+}
+#buddypress .field-visibility-settings legend,
+#buddypress .field-visibility-settings-toggle {
+	font-style: italic;
+}
\ No newline at end of file
Index: bp-xprofile/bp-xprofile-screens.php
--- bp-xprofile/bp-xprofile-screens.php
+++ bp-xprofile/bp-xprofile-screens.php
@@ -189,4 +189,73 @@
 	bp_core_load_template( apply_filters( 'xprofile_template_change_avatar', 'members/single/home' ) );
 }
 
-?>
+/** Theme Compatability *******************************************************/
+
+/**
+ * The main theme compat class for BuddyPress Profiles
+ *
+ * This class sets up the necessary theme compatability actions to safely output
+ * group template parts to the_title and the_content areas of a theme.
+ *
+ * @since BuddyPress (1.7)
+ */
+class BP_XProfile_Theme_Compat {
+
+	/**
+	 * Setup the xprofile component theme compatibility
+	 *
+	 * @since BuddyPress (1.7)
+	 *
+	 * @todo is 'bp_screens' correct here?
+	 */
+	public function __construct() {
+		add_action( 'bp_screens', array( $this, 'is_xprofile' ) );
+	}
+
+	/**
+	 * Are we looking at something that needs group theme compatability?
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function is_xprofile() {
+
+		// Bail if not looking at a profile
+		if ( ! bp_displayed_user_id() )
+			return;
+
+		// Creating a group
+		add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'dummy_post'    ) );
+		add_filter( 'bp_replace_the_content',                    array( $this, 'dummy_content' ) );
+	}
+
+	/** Directory *************************************************************/
+
+	/**
+	 * Update the global $post with directory data
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function dummy_post() {
+		bp_theme_compat_reset_post( array(
+			'ID'             => 0,
+			'post_title'     => bp_get_displayed_user_fullname(),
+			'post_author'    => 0,
+			'post_date'      => 0,
+			'post_content'   => '',
+			'post_type'      => 'bp_xprofile',
+			'post_status'    => 'publish',
+			'is_archive'     => true,
+			'comment_status' => 'closed'
+		) );
+	}
+
+	/**
+	 * Filter the_content with the groups index template part
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function dummy_content() {
+		bp_buffer_template_part( 'members/single/home' );
+	}
+}
+new BP_XProfile_Theme_Compat();
