Index: bp-friends.php
===================================================================
--- bp-friends.php	(revision 3527)
+++ bp-friends.php	(working copy)
@@ -6,8 +6,8 @@
 if ( !defined( 'BP_FRIENDS_SLUG' ) )
 	define ( 'BP_FRIENDS_SLUG', 'friends' );
 
-require ( BP_PLUGIN_DIR . '/bp-friends/bp-friends-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-friends/bp-friends-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-friends/bp-friends-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-friends/bp-friends-templatetags.php' );
 
 function friends_setup_globals() {
 	global $bp;
@@ -340,7 +340,7 @@
 			bp_core_add_notification( $friendship->initiator_user_id, $friendship->friend_user_id, $bp->friends->id, 'friendship_request' );
 
 			// Send the email notification
-			require_once( BP_PLUGIN_DIR . '/bp-friends/bp-friends-notifications.php' );
+			require_once( BP_PLUGIN_DIR . 'bp-friends/bp-friends-notifications.php' );
 			friends_notification_new_request( $friendship->id, $friendship->initiator_user_id, $friendship->friend_user_id );
 
 			do_action( 'friends_friendship_requested', $friendship->id, $friendship->initiator_user_id, $friendship->friend_user_id );
@@ -411,7 +411,7 @@
 		) );
 
 		// Send the email notification
-		require_once( BP_PLUGIN_DIR . '/bp-friends/bp-friends-notifications.php' );
+		require_once( BP_PLUGIN_DIR . 'bp-friends/bp-friends-notifications.php' );
 		friends_notification_accepted_request( $friendship->id, $friendship->initiator_user_id, $friendship->friend_user_id );
 
 		do_action( 'friends_friendship_accepted', $friendship->id, $friendship->initiator_user_id, $friendship->friend_user_id );
@@ -569,7 +569,7 @@
 
 function friends_remove_data( $user_id ) {
 	global $bp;
-	
+
 	BP_Friends_Friendship::delete_all_for_user($user_id);
 
 	/* Remove usermeta */
Index: bp-activity.php
===================================================================
--- bp-activity.php	(revision 3527)
+++ bp-activity.php	(working copy)
@@ -1,7 +1,7 @@
 <?php
-require ( BP_PLUGIN_DIR . '/bp-activity/bp-activity-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-activity/bp-activity-templatetags.php' );
-require ( BP_PLUGIN_DIR . '/bp-activity/bp-activity-filters.php' );
+require ( BP_PLUGIN_DIR . 'bp-activity/bp-activity-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-activity/bp-activity-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-activity/bp-activity-filters.php' );
 
 function bp_activity_setup_globals() {
 	global $bp, $current_blog;
@@ -508,18 +508,18 @@
  *
  * @package BuddyPress Activity
  * @since 1.3
- * 
+ *
  * @param $content The content of the activity, usually found in $activity->content
  * @return array $usernames Array of the found usernames that match existing users
  */
 function bp_activity_find_mentions( $content ) {
 	$pattern = '/[@]+([A-Za-z0-9-_\.]+)/';
 	preg_match_all( $pattern, $content, $usernames );
-	
+
 	// Make sure there's only one instance of each username
 	if ( !$usernames = array_unique( $usernames[1] ) )
 		return false;
-		
+
 	return $usernames;
 }
 
@@ -530,19 +530,19 @@
  *
  * @package BuddyPress Activity
  * @since 1.3
- * 
+ *
  * @param $activity_id The unique id for the activity item
  */
 function bp_activity_reduce_mention_count( $activity_id ) {
 	$activity = new BP_Activity_Activity( $activity_id );
-	
-	if ( $usernames = bp_activity_find_mentions( strip_tags( $activity->content ) ) ) {	
+
+	if ( $usernames = bp_activity_find_mentions( strip_tags( $activity->content ) ) ) {
 		include_once( ABSPATH . WPINC . '/registration.php' );
-		
-		foreach( (array)$usernames as $username ) { 
+
+		foreach( (array)$usernames as $username ) {
 			if ( !$user_id = username_exists( $username ) )
 				continue;
-	
+
 			// Decrease the number of new @ mentions for the user
 			$new_mention_count = (int)get_user_meta( $user_id, 'bp_new_mention_count', true );
 			update_user_meta( $user_id, 'bp_new_mention_count', $new_mention_count - 1 );
@@ -577,7 +577,7 @@
 				return apply_filters( 'bp_activity_multiple_at_mentions_notification', '<a href="' . $at_mention_link . '" title="' . $at_mention_title . '">' . sprintf( __( 'You have %1$d new activity mentions', 'buddypress' ), (int)$total_items ) . '</a>', $at_mention_link, $total_items, $activity_id, $poster_user_id );
 			} else {
 				$user_fullname = bp_core_get_user_displayname( $poster_user_id );
-				
+
 				return apply_filters( 'bp_activity_single_at_mentions_notification', '<a href="' . $at_mention_link . '" title="' . $at_mention_title . '">' . sprintf( __( '%1$s mentioned you in an activity update', 'buddypress' ), $user_fullname ) . '</a>', $at_mention_link, $total_items, $activity_id, $poster_user_id );
 			}
 		break;
@@ -745,7 +745,7 @@
 	update_user_meta( $bp->loggedin_user->id, 'bp_latest_update', array( 'id' => $activity_id, 'content' => wp_filter_kses( $content ) ) );
 
  	/* Require the notifications code so email notifications can be set on the 'bp_activity_posted_update' action. */
-	require_once( BP_PLUGIN_DIR . '/bp-activity/bp-activity-notifications.php' );
+	require_once( BP_PLUGIN_DIR . 'bp-activity/bp-activity-notifications.php' );
 
 	do_action( 'bp_activity_posted_update', $content, $user_id, $activity_id );
 
@@ -790,7 +790,7 @@
 	) );
 
 	/* Send an email notification if settings allow */
-	require_once( BP_PLUGIN_DIR . '/bp-activity/bp-activity-notifications.php' );
+	require_once( BP_PLUGIN_DIR . 'bp-activity/bp-activity-notifications.php' );
 	bp_activity_new_comment_notification( $comment_id, $user_id, $params );
 
 	/* Clear the comment cache for this activity */
@@ -998,7 +998,7 @@
 			$new_width = $new_height * $ratio;
 
 			$image = '<img src="' . esc_attr( $src ) . '" width="' . $new_width . '" height="' . $new_height . '" alt="' . __( 'Thumbnail', 'buddypress' ) . '" class="align-left thumbnail" />';
-			
+
 			if ( !empty( $link ) ) {
 				$image = '<a href="' . $link . '">' . $image . '</a>';
 			}
@@ -1223,9 +1223,9 @@
 
 /**
  * updates_register_activity_actions()
- * 
+ *
  * Register the activity stream actions for updates
- * 
+ *
  * @global array $bp
  */
 function updates_register_activity_actions() {
Index: bp-xprofile/bp-xprofile-cssjs.php
===================================================================
--- bp-xprofile/bp-xprofile-cssjs.php	(revision 3527)
+++ bp-xprofile/bp-xprofile-cssjs.php	(working copy)
@@ -1,9 +1,9 @@
 <?php
 function xprofile_add_admin_css() {
 	if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-		wp_enqueue_style( 'xprofile-admin-css', BP_PLUGIN_URL . '/bp-xprofile/admin/css/admin.dev.css' );
+		wp_enqueue_style( 'xprofile-admin-css', BP_PLUGIN_URL . 'bp-xprofile/admin/css/admin.dev.css' );
 	else
-		wp_enqueue_style( 'xprofile-admin-css', BP_PLUGIN_URL . '/bp-xprofile/admin/css/admin.css' );
+		wp_enqueue_style( 'xprofile-admin-css', BP_PLUGIN_URL . 'bp-xprofile/admin/css/admin.css' );
 }
 add_action( 'admin_menu', 'xprofile_add_admin_css' );
 
@@ -17,9 +17,9 @@
 		wp_enqueue_script( 'jquery-ui-sortable' );
 
 		if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-			wp_enqueue_script( 'xprofile-admin-js', BP_PLUGIN_URL . '/bp-xprofile/admin/js/admin.dev.js', array( 'jquery', 'jquery-ui-sortable' ) );
+			wp_enqueue_script( 'xprofile-admin-js', BP_PLUGIN_URL . 'bp-xprofile/admin/js/admin.dev.js', array( 'jquery', 'jquery-ui-sortable' ) );
 		else
-			wp_enqueue_script( 'xprofile-admin-js', BP_PLUGIN_URL . '/bp-xprofile/admin/js/admin.js', array( 'jquery', 'jquery-ui-sortable' ) );
+			wp_enqueue_script( 'xprofile-admin-js', BP_PLUGIN_URL . 'bp-xprofile/admin/js/admin.js', array( 'jquery', 'jquery-ui-sortable' ) );
 	}
 }
 add_action( 'admin_menu', 'xprofile_add_admin_js', 1 );
Index: bp-core/bp-core-widgets.php
===================================================================
--- bp-core/bp-core-widgets.php	(revision 3527)
+++ bp-core/bp-core-widgets.php	(working copy)
@@ -17,9 +17,9 @@
 
 		if ( is_active_widget( false, false, $this->id_base ) ) {
 			if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-				wp_enqueue_script( 'bp_core_widget_members-js', BP_PLUGIN_URL . '/bp-core/js/widget-members.dev.js', array( 'jquery' ) );
+				wp_enqueue_script( 'bp_core_widget_members-js', BP_PLUGIN_URL . 'bp-core/js/widget-members.dev.js', array( 'jquery' ) );
 			else
-				wp_enqueue_script( 'bp_core_widget_members-js', BP_PLUGIN_URL . '/bp-core/js/widget-members.js', array( 'jquery' ) );
+				wp_enqueue_script( 'bp_core_widget_members-js', BP_PLUGIN_URL . 'bp-core/js/widget-members.js', array( 'jquery' ) );
 		}
 	}
 
@@ -63,7 +63,7 @@
 								<span class="activity">
 								<?php
 									if ( 'newest' == $instance['member_default'] )
-										bp_member_registered();								
+										bp_member_registered();
 									if ( 'active' == $instance['member_default'] )
 										bp_member_last_active();
 									if ( 'popular' == $instance['member_default'] )
@@ -107,7 +107,7 @@
 			'member_default' => 'active'
 		);
 		$instance = wp_parse_args( (array) $instance, $defaults );
-		
+
 		$title = strip_tags( $instance['title'] );
 		$max_members = strip_tags( $instance['max_members'] );
 		$member_default = strip_tags( $instance['member_default'] );
@@ -116,17 +116,17 @@
 		<p><label for="bp-core-widget-title"><?php _e('Title:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" style="width: 100%" /></label></p>
 
 		<p><label for="bp-core-widget-members-max"><?php _e('Max members to show:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_members' ); ?>" name="<?php echo $this->get_field_name( 'max_members' ); ?>" type="text" value="<?php echo esc_attr( $max_members ); ?>" style="width: 30%" /></label></p>
-				
+
 		<p>
-			<label for="bp-core-widget-groups-default"><?php _e('Default members to show:', 'buddypress'); ?> 
+			<label for="bp-core-widget-groups-default"><?php _e('Default members to show:', 'buddypress'); ?>
 			<select name="<?php echo $this->get_field_name( 'member_default' ) ?>">
 				<option value="newest" <?php if ( $member_default == 'newest' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Newest', 'buddypress' ) ?></option>
 				<option value="active" <?php if ( $member_default == 'active' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Active', 'buddypress' ) ?></option>
 				<option value="popular"  <?php if ( $member_default == 'popular' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Popular', 'buddypress' ) ?></option>
-			</select>			
+			</select>
 			</label>
 		</p>
-	
+
 	<?php
 	}
 }
@@ -183,7 +183,7 @@
 			'max_members' => 15
 		);
 		$instance = wp_parse_args( (array) $instance, $defaults );
-		
+
 		$title = strip_tags( $instance['title'] );
 		$max_members = strip_tags( $instance['max_members'] );
 		?>
@@ -247,7 +247,7 @@
 			'max_members' => 15
 		);
 		$instance = wp_parse_args( (array) $instance, $defaults );
-		
+
 		$title = strip_tags( $instance['title'] );
 		$max_members = strip_tags( $instance['max_members'] );
 		?>
@@ -298,7 +298,7 @@
 						<?php if ( 'active' == $type ) : ?>
 							<div class="item-meta"><span class="activity"><?php bp_member_last_active() ?></span></div>
 						<?php elseif ( 'newest' == $type ) : ?>
-							<div class="item-meta"><span class="activity"><?php bp_member_registered() ?></span></div> 
+							<div class="item-meta"><span class="activity"><?php bp_member_registered() ?></span></div>
 						<?php elseif ( bp_is_active( 'friends' ) ) : ?>
 							<div class="item-meta"><span class="activity"><?php bp_member_total_friend_count() ?></span></div>
 						<?php endif; ?>
Index: bp-core/admin/bp-core-upgrade.php
===================================================================
--- bp-core/admin/bp-core-upgrade.php	(revision 3527)
+++ bp-core/admin/bp-core-upgrade.php	(working copy)
@@ -3,13 +3,19 @@
 if ( !defined( 'BP_ROOT_BLOG' ) )
 	define( 'BP_ROOT_BLOG', 1 );
 
+if ( !defined( 'BP_PLUGIN_DIR' ) )
+	define( 'BP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
+
+if ( !defined( 'BP_PLUGIN_URL' ) )
+	define( 'BP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
+
 require_once( dirname( dirname( __FILE__ ) ) . '/bp-core-wpabstraction.php' );
 
-register_theme_directory( WP_PLUGIN_DIR . '/buddypress/bp-themes' );
+register_theme_directory( BP_PLUGIN_DIR . 'bp-themes' );
 
 // Install site options on activation
 bp_core_activate_site_options( array( 'bp-disable-account-deletion' => 0, 'bp-disable-avatar-uploads' => 0, 'bp-disable-blogforum-comments' => 0,  'bp-disable-forum-directory' => 0,  'bp-disable-profile-sync' => 0 ) );
- 
+
 /**
  * bp_core_activate_site_options()
  *
@@ -55,7 +61,7 @@
 		if ( !$this->current_version = get_site_option( 'bp-db-version' ) )
 			if ( $this->current_version = get_option( 'bp-db-version' ) )
 				$this->is_network_activate = true;
-		
+
 		$this->new_version = constant( 'BP_DB_VERSION' );
 		$this->setup_type = ( empty( $this->current_version ) && !(int)get_site_option( 'bp-core-db-version' ) ) ? 'new' : 'upgrade';
 		$this->current_step = $this->current_step();
@@ -103,10 +109,10 @@
 			}
 		} else {
 			// Upgrade wizard steps
-			
+
 			if ( $this->is_network_activate )
 				$steps[] = __( 'Multisite Upgrade', 'buddypress' );
-			
+
 			if ( $this->current_version < $this->new_version )
 				$steps[] = __( 'Database Upgrade', 'buddypress' );
 
@@ -242,7 +248,7 @@
 		</div>
 	<?php
 	}
-	
+
 	function step_ms_upgrade() {
 		if ( !current_user_can( 'activate_plugins' ) )
 			return false;
@@ -251,7 +257,7 @@
 			$blogs_slug = constant( 'BP_BLOGS_SLUG' );
 		else
 			$blogs_slug = __( 'blogs', 'buddypress' );
-		
+
 		if ( !defined( 'BP_ENABLE_MULTIBLOG' ) && is_multisite() )
 			$existing_pages = get_blog_option( BP_ROOT_BLOG, 'bp-pages' );
 		else
@@ -261,9 +267,9 @@
 		<div class="prev-next submit clear">
 			<p><input type="submit" value="<?php _e( 'Save &amp; Next &rarr;', 'buddypress' ) ?>" name="submit" /></p>
 		</div>
-		
+
 		<p><?php printf( __( 'It looks like you have just activated WordPress Multisite mode, which allows members of your BuddyPress community to have their own WordPress blogs. You can enable or disable this feature at any time at <a href="%s">Network Options</a>.', 'buddypress' ), admin_url( 'ms-options.php' ) ); ?></p>
-		
+
 		<p><?php _e( "Please select the WordPress page you would like to use to display the blog directory. You can either choose an existing page or let BuddyPress auto-create a page for you. If you'd like to manually create pages, please go ahead and do that now, you can come back to this step once you are finished.", 'buddypress' ) ?></p>
 
 		<p><strong><?php _e( 'Please Note:', 'buddypress' ) ?></strong> <?php _e( "If you have manually added BuddyPress navigation links in your theme you may need to remove these from your header.php to avoid duplicate links.", 'buddypress' ) ?></p>
@@ -280,13 +286,13 @@
 					<p><input type="radio" name="bp_pages[blogs]" checked="checked" value="<?php echo $blogs_slug ?>" /> <?php _e( 'Automatically create a page at:', 'buddypress' ) ?> <?php echo site_url( $blogs_slug ) ?>/</p>
 				</td>
 			</tr>
-			
+
 		</table>
-		
+
 		<p><?php _e( 'Would you like to enable blog tracking, which tracks blog activity across your network?', 'buddypress' ); ?></p>
-		
+
 		<div class="left-col">
-			
+
 			<div class="component">
 				<h5><?php _e( "Blog Tracking", 'buddypress' ) ?></h5>
 
@@ -295,11 +301,11 @@
 					<input type="radio" name="bp_components[bp-blogs.php]" value="0"<?php if ( isset( $disabled_components['bp-blogs.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-7.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-7.gif'; ?>" alt="Activity Streams" />
 					<p><?php _e( "Track new blogs, new posts and new comments across your entire blog network.", 'buddypress' ) ?></p>
-			</div>		
+			</div>
 		</div>
-		
+
 		<div class="submit clear">
 			<p><input type="submit" value="<?php _e( 'Save &amp; Next &rarr;', 'buddypress' ) ?>" name="submit" /></p>
 
@@ -307,7 +313,7 @@
 			<input type="hidden" name="step" value="<?php echo esc_attr( $this->current_step ) ?>" />
 			<?php wp_nonce_field( 'bpwizard_ms_upgrade' ) ?>
 		</div>
-		
+
 		<script type="text/javascript">
 			jQuery('select').click( function() {
 				jQuery(this).parent().children('input').attr( 'checked', 'checked' );
@@ -339,7 +345,7 @@
 					<input type="radio" name="bp_components[bp-activity.php]" value="0"<?php if ( isset( $disabled_components['bp-activity.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-1.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-1.gif'; ?>" alt="Activity Streams" />
 				<p><?php _e( "Global, personal and group activity streams with threaded commenting, direct posting, favoriting and @mentions. All with full RSS feed and email notification support.", 'buddypress' ) ?></p>
 			</div>
 
@@ -351,7 +357,7 @@
 					<input type="radio" name="bp_components[bp-groups.php]" value="0"<?php if ( isset( $disabled_components['bp-groups.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-3.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-3.gif'; ?>" alt="Activity Streams" />
 				<p><?php _e( "Powerful public, private or hidden groups allow your users to break the discussion down into specific topics with a separate activity stream and member listing.", 'buddypress' ) ?></p>
 			</div>
 
@@ -363,7 +369,7 @@
 					<input type="radio" name="bp_components[bp-messages.php]" value="0"<?php if ( isset( $disabled_components['bp-messages.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-5.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-5.gif'; ?>" alt="Activity Streams" />
 				<p><?php _e( "Private messaging will allow your users to talk to each other directly, and in private. Not just limited to one on one discussions, your users can send messages to multiple recipients.", 'buddypress' ) ?></p>
 			</div>
 
@@ -377,7 +383,7 @@
 					<input type="radio" name="bp_components[bp-blogs.php]" value="0"<?php if ( isset( $disabled_components['bp-blogs.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-7.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-7.gif'; ?>" alt="Activity Streams" />
 					<p><?php _e( "Track new blogs, new posts and new comments across your entire blog network.", 'buddypress' ) ?></p>
 			</div>
 			<?php else: ?>
@@ -395,7 +401,7 @@
 					<input type="radio" name="bp_components[bp-xprofile.php]" value="0"<?php if ( isset( $disabled_components['bp-xprofile.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-2.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-2.gif'; ?>" alt="Activity Streams" />
 				<p><?php _e( "Fully editable profile fields allow you to define the fields users can fill in to describe themselves. Tailor profile fields to suit your audience.", 'buddypress' ) ?></p>
 			</div>
 
@@ -407,7 +413,7 @@
 					<input type="radio" name="bp_components[bp-friends.php]" value="0"<?php if ( isset( $disabled_components['bp-friends.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-4.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-4.gif'; ?>" alt="Activity Streams" />
 				<p><?php _e( "Let your users make connections so they can track the activity of others, or filter on only those users they care about the most.", 'buddypress' ) ?></p>
 			</div>
 
@@ -419,7 +425,7 @@
 					<input type="radio" name="bp_components[bp-forums.php]" value="0"<?php if ( isset( $disabled_components['bp-forums.php'] ) ) : ?> checked="checked" <?php endif; ?>/> <?php _e( 'Disabled', 'buddypress' ) ?>
 				</div>
 
-				<img src="<?php echo plugins_url( 'buddypress/screenshot-6.gif' ) ?>" alt="Activity Streams" />
+				<img src="<?php echo BP_PLUGIN_URL . 'screenshot-6.gif'; ?>" alt="Activity Streams" />
 				<p><?php _e( "Full powered discussion forums built directly into groups allow for more conventional in-depth conversations. <strong>NOTE: This will require an extra (but easy) setup step.</strong>", 'buddypress' ) ?></p>
 			</div>
 
@@ -680,7 +686,7 @@
 			<tr>
 				<th>
 					<h5><?php _e( 'Use the Default Theme', 'buddypress' ) ?></h5>
-					<img src="<?php echo plugins_url( '/buddypress/bp-core/images/default.jpg' ) ?>" alt="bp-default" />
+					<img src="<?php echo BP_PLUGIN_URL . 'bp-core/images/default.jpg'; ?>" alt="bp-default" />
 				</th>
 				<td>
 					<p><?php _e( 'The default theme contains everything you need to get up and running out of the box. It supports all features and is highly customizable.', 'buddypress' ) ?></p>
@@ -692,7 +698,7 @@
 			<tr>
 				<th>
 					<h5>Automatically Upgrade My WordPress Theme</h5>
-					<img src="<?php echo plugins_url( '/buddypress/bp-core/images/auto_theme.jpg' ) ?>" alt="bp-default" />
+					<img src="<?php echo BP_PLUGIN_URL . 'bp-core/images/auto_theme.jpg'; ?>" alt="bp-default" />
 				</th>
 				<td>
 					<p>The BuddyPress [plugin name] plugin will automatically upgrade your existing WordPress theme so it can display BuddyPress pages. Your existing theme's page.php template file will be used to show BuddyPress content.</p>
@@ -705,7 +711,7 @@
 			<tr>
 				<th>
 					<h5><?php _e( 'Manually Upgrade My WordPress Theme', 'buddypress' ) ?>'</h5>
-					<img src="<?php echo plugins_url( '/buddypress/bp-core/images/manual_theme.jpg' ) ?>" alt="bp-default" />
+					<img src="<?php echo BP_PLUGIN_URL . 'bp-core/images/manual_theme.jpg'; ?>" alt="bp-default" />
 				</th>
 				<td>
 					<p><?php _e( 'The BuddyPress template pack plugin will run you through the process of manually upgrading your existing WordPress theme. This usually involves following the step by step instructions and copying the BuddyPress template files into your theme then tweaking the HTML to match.', 'buddypress' ) ?></p>
@@ -723,7 +729,7 @@
 			<tr>
 				<th>
 					<h5><?php _e( 'Find a BuddyPress Theme', 'buddypress' ) ?></h5>
-					<img src="<?php echo plugins_url( '/buddypress/bp-core/images/find.jpg' ) ?>" alt="bp-default" />
+					<img src="<?php echo BP_PLUGIN_URL . 'bp-core/images/find.jpg'; ?>" alt="bp-default" />
 				</th>
 				<td>
 					<p><?php _e( "There's growing number of BuddyPress themes available for you to download and use. Browse through the list of available themes to see if there is one that matches your needs.", 'buddypress' ) ?></p>
@@ -837,23 +843,23 @@
 				// Make sure that the pages are created on the BP_ROOT_BLOG, no matter which Dashboard the setup is being run on
 				if ( $current_blog->blog_id != BP_ROOT_BLOG && !defined( 'BP_ENABLE_MULTIBLOG' ) )
 					switch_to_blog( BP_ROOT_BLOG );
-	
+
 				$existing_pages = get_option( 'bp-pages' );
 
 				$bp_pages = $this->setup_pages( (array)$_POST['bp_pages'] );
-				
+
 				$bp_pages = array_merge( (array)$existing_pages, (array)$bp_pages );
-	
+
 				update_option( 'bp-pages', $bp_pages );
 
 				if ( $current_blog->blog_id != BP_ROOT_BLOG )
 					restore_current_blog();
-			
+
 				unset( $disabled['bp-blogs.php'] );
-				
+
 				bp_core_install( $disabled );
 			}
-			
+
 			update_site_option( 'bp-deactivated-components', $disabled );
 
 			return true;
@@ -1042,7 +1048,7 @@
 
 		return false;
 	}
-	
+
 	function setup_pages( $pages ) {
 		foreach ( $pages as $key => $value ) {
 			if ( 'page' == $value ) {
@@ -1056,7 +1062,7 @@
 				$bp_pages[$key] = wp_insert_post( array( 'post_title' => ucwords( $value ), 'post_status' => 'publish', 'post_type' => 'page' ) );
 			}
 		}
-		
+
 		return $bp_pages;
 	}
 
@@ -1276,15 +1282,15 @@
 
 function bp_core_add_admin_menu_styles() {
 	if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', plugins_url( $path = '/buddypress' ) . '/bp-core/css/admin.dev.css' ) );
+		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', BP_PLUGIN_URL . 'bp-core/css/admin.dev.css' ) );
 	else
-		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', plugins_url( $path = '/buddypress' ) . '/bp-core/css/admin.css' ) );
+		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', BP_PLUGIN_URL . 'bp-core/css/admin.css' ) );
 
 	wp_enqueue_script( 'thickbox' );
 	wp_enqueue_style( 'thickbox' );
 ?>
 	<style type="text/css">
-		ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a { background-image: url( <?php echo plugins_url( 'buddypress/bp-core/images/admin_menu_icon.png' ) ?> ) !important; background-position: -1px -32px; }
+		ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a { background-image: url( <?php echo BP_PLUGIN_URL . 'bp-core/images/admin_menu_icon.png';s ?> ) !important; background-position: -1px -32px; }
 		ul#adminmenu li.toplevel_page_bp-wizard:hover .wp-menu-image a { background-position: -1px 0; }
 		ul#adminmenu li.toplevel_page_bp-wizard .wp-menu-image a img { display: none; }
 	</style>
Index: bp-core/admin/bp-core-admin.php
===================================================================
--- bp-core/admin/bp-core-admin.php	(revision 3527)
+++ bp-core/admin/bp-core-admin.php	(working copy)
@@ -179,7 +179,7 @@
 
 			<table class="form-table" style="width: 80%">
 			<tbody>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-activity.php') ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-activity.php') ) : ?>
 				<tr>
 					<td><h3><?php _e( 'Activity Streams', 'buddypress' ) ?></h3><p><?php _e( 'Allow users to post activity updates and track all activity across the entire site.', 'buddypress' ) ?></p></td>
 					<td>
@@ -188,7 +188,7 @@
 					</td>
 				</tr>
 				<?php endif; ?>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-blogs.php') && is_multisite() ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-blogs.php') && is_multisite() ) : ?>
 				<tr>
 					<td><h3><?php _e( 'Blog Tracking', 'buddypress' ) ?></h3><p><?php _e( 'Tracks blogs, blog posts and blogs comments for a user across a WPMU installation.', 'buddypress' ) ?></p></td>
 					<td>
@@ -199,7 +199,7 @@
 				<?php else: ?>
 					<input type="hidden" name="bp_components[bp-blogs.php]" value="0" />
 				<?php endif; ?>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-forums.php') ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-forums.php') ) : ?>
 				<tr>
 					<td><h3><?php _e( 'bbPress Forums', 'buddypress' ) ?></h3><p><?php _e( 'Activates bbPress forum support within BuddyPress groups or any other custom component.', 'buddypress' ) ?></p></td>
 					<td>
@@ -208,7 +208,7 @@
 					</td>
 				</tr>
 				<?php endif; ?>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-friends.php') ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-friends.php') ) : ?>
 				<tr>
 					<td><h3><?php _e( 'Friends', 'buddypress' ) ?></h3><p><?php _e( 'Allows the creation of friend connections between users.', 'buddypress' ) ?></p></td>
 					<td>
@@ -217,7 +217,7 @@
 					</td>
 				</tr>
 				<?php endif; ?>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-groups.php') ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-groups.php') ) : ?>
 				<tr>
 					<td><h3><?php _e( 'Groups', 'buddypress' ) ?></h3><p><?php _e( 'Let users create, join and participate in groups.', 'buddypress' ) ?></p></td>
 					<td>
@@ -226,7 +226,7 @@
 					</td>
 				</tr>
 				<?php endif; ?>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-messages.php') ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-messages.php') ) : ?>
 				<tr>
 					<td><h3><?php _e( 'Private Messaging', 'buddypress' ) ?></h3><p><?php _e( 'Let users send private messages to one another. Site admins can also send site-wide notices.', 'buddypress' ) ?></p></td>
 					<td>
@@ -235,7 +235,7 @@
 					</td>
 				</tr>
 				<?php endif; ?>
-				<?php if ( file_exists( BP_PLUGIN_DIR . '/bp-xprofile.php') ) : ?>
+				<?php if ( file_exists( BP_PLUGIN_DIR . 'bp-xprofile.php') ) : ?>
 				<tr>
 					<td><h3><?php _e( 'Extended Profiles', 'buddypress' ) ?></h3><p><?php _e( 'Activates customizable profiles and avatars for site users.', 'buddypress' ) ?></p></td>
 					<td width="45%">
@@ -262,9 +262,9 @@
 
 function bp_core_add_admin_menu_styles() {
 	if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', BP_PLUGIN_URL . '/bp-core/css/admin.dev.css' ) );
+		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', BP_PLUGIN_URL . 'bp-core/css/admin.dev.css' ) );
 	else
-		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', BP_PLUGIN_URL . '/bp-core/css/admin.css' ) );
+		wp_enqueue_style( 'bp-admin-css', apply_filters( 'bp_core_admin_css', BP_PLUGIN_URL . 'bp-core/css/admin.css' ) );
 
 	wp_enqueue_script( 'thickbox' );
 	wp_enqueue_style( 'thickbox' );
Index: bp-core/bp-core-cssjs.php
===================================================================
--- bp-core/bp-core-cssjs.php	(revision 3527)
+++ bp-core/bp-core-cssjs.php	(working copy)
@@ -20,7 +20,7 @@
 		if ( file_exists( WP_CONTENT_DIR . '/themes/' . $stylesheet . '/_inc/css/adminbar.css' ) )
 			wp_enqueue_style( 'bp-admin-bar', apply_filters( 'bp_core_admin_bar_css', WP_CONTENT_URL . '/themes/' . $stylesheet . '/_inc/css/adminbar.css' ) );
 		else
-			wp_enqueue_style( 'bp-admin-bar', apply_filters( 'bp_core_admin_bar_css', BP_PLUGIN_URL . '/bp-themes/bp-default/_inc/css/adminbar.css' ) );
+			wp_enqueue_style( 'bp-admin-bar', apply_filters( 'bp_core_admin_bar_css', BP_PLUGIN_URL . 'bp-themes/bp-default/_inc/css/adminbar.css' ) );
 	}
 }
 add_action( 'init', 'bp_core_add_admin_bar_css' );
@@ -37,7 +37,7 @@
 ?>
 
 	<style type="text/css">
-		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a { background-image: url( <?php echo BP_PLUGIN_URL . '/bp-core/images/admin_menu_icon.png' ?> ) !important; background-position: -1px -32px; }
+		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a { background-image: url( <?php echo BP_PLUGIN_URL . 'bp-core/images/admin_menu_icon.png'; ?> ) !important; background-position: -1px -32px; }
 		ul#adminmenu li.toplevel_page_bp-general-settings:hover .wp-menu-image a, ul#adminmenu li.toplevel_page_bp-general-settings.wp-has-current-submenu .wp-menu-image a { background-position: -1px 0; }
 		ul#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image a img { display: none; }
 	</style>
@@ -141,7 +141,7 @@
 
 	<style type="text/css">
 		.jcrop-holder { float: left; margin: 0 20px 20px 0; text-align: left; }
-		.jcrop-vline, .jcrop-hline { font-size: 0; position: absolute; background: white top left repeat url( <?php echo BP_PLUGIN_URL ?>/bp-core/images/Jcrop.gif ); }
+		.jcrop-vline, .jcrop-hline { font-size: 0; position: absolute; background: white top left repeat url( <?php echo BP_PLUGIN_URL ?>bp-core/images/Jcrop.gif ); }
 		.jcrop-vline { height: 100%; width: 1px !important; }
 		.jcrop-hline { width: 100%; height: 1px !important; }
 		.jcrop-handle { font-size: 1px; width: 7px !important; height: 7px !important; border: 1px #eee solid; background-color: #333; *width: 9px; *height: 9px; }
Index: bp-core/bp-core-templatetags.php
===================================================================
--- bp-core/bp-core-templatetags.php	(revision 3527)
+++ bp-core/bp-core-templatetags.php	(working copy)
@@ -704,7 +704,7 @@
 }
 	function bp_get_avatar_admin_step() {
 		global $bp;
-		
+
 		if ( isset( $bp->avatar_admin->step ) )
 			$step = $bp->avatar_admin->step;
 		else
@@ -718,7 +718,7 @@
 }
 	function bp_get_avatar_to_crop() {
 		global $bp;
-		
+
 		if ( isset( $bp->avatar_admin->image->url ) )
 			$url = $bp->avatar_admin->image->url;
 		else
@@ -1023,7 +1023,7 @@
 	global $bp;
 
 	$options = array();
-	
+
 	if ( bp_is_active( 'xprofile' ) )
 		$options['members'] = __( 'Members', 'buddypress' );
 
@@ -1255,7 +1255,7 @@
 			if ( empty( $bp->grav_default->user ) ) {
 				$default_grav = 'wavatar';
 			} else if ( 'mystery' == $bp->grav_default->user ) {
-				$default_grav = BP_PLUGIN_URL . '/bp-core/images/mystery-man.jpg';
+				$default_grav = BP_PLUGIN_URL . 'bp-core/images/mystery-man.jpg';
 			} else {
 				$default_grav = $bp->grav_default->user;
 			}
@@ -1530,7 +1530,7 @@
 		$path = bp_core_get_site_path();
 	else
 		$path = $current_blog->path;
-		
+
 	if ( 'page' != get_option( 'show_on_front' ) || !$component || empty( $bp->pages->{$component} ) || $_SERVER['REQUEST_URI'] != $path )
 		return false;
 
Index: bp-core/bp-core-avatars.php
===================================================================
--- bp-core/bp-core-avatars.php	(revision 3527)
+++ bp-core/bp-core-avatars.php	(working copy)
@@ -39,10 +39,10 @@
 	}
 
 	if ( !defined( 'BP_AVATAR_DEFAULT' ) )
-		define( 'BP_AVATAR_DEFAULT', BP_PLUGIN_URL . '/bp-core/images/mystery-man.jpg' );
+		define( 'BP_AVATAR_DEFAULT', BP_PLUGIN_URL . 'bp-core/images/mystery-man.jpg' );
 
 	if ( !defined( 'BP_AVATAR_DEFAULT_THUMB' ) )
-		define( 'BP_AVATAR_DEFAULT_THUMB', BP_PLUGIN_URL . '/bp-core/images/mystery-man-50.jpg' );
+		define( 'BP_AVATAR_DEFAULT_THUMB', BP_PLUGIN_URL . 'bp-core/images/mystery-man-50.jpg' );
 }
 add_action( 'bp_loaded', 'bp_core_set_avatar_constants', 8 );
 
@@ -484,11 +484,11 @@
  */
 function bp_core_fetch_avatar_filter( $avatar, $user, $size, $default, $alt ) {
 	global $pagenow;
-	
+
 	// Do not filter if inside WordPress options page
 	if ( 'options-discussion.php' == $pagenow )
 		return $avatar;
-	
+
 	// If passed an object, assume $user->user_id
 	if ( is_object( $user ) )
 		$id = $user->user_id;
Index: bp-loader.php
===================================================================
--- bp-loader.php	(revision 3527)
+++ bp-loader.php	(working copy)
@@ -16,12 +16,15 @@
 if ( !defined( 'BP_ROOT_BLOG' ) )
 	define( 'BP_ROOT_BLOG', 1 );
 
+if ( !defined( 'BP_PLUGIN_BASENAME' ) )
+	define( 'BP_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
+
 /***
  * Check if this is the first time BuddyPress has been loaded, or the first time
  * since an upgrade. If so, load the install/upgrade routine only.
  */
 if ( get_site_option( 'bp-db-version' ) < constant( 'BP_DB_VERSION' ) ) {
-	require_once( WP_PLUGIN_DIR . '/buddypress/bp-core/admin/bp-core-upgrade.php' );
+	require_once( plugin_dir_path( __FILE__ ) . 'bp-core/admin/bp-core-upgrade.php' );
 
 /***
  * If the install or upgrade routine is completed and everything is up to date
@@ -32,38 +35,38 @@
 	 * This file will load in each BuddyPress component based on which
 	 * of the components have been activated on the "BuddyPress" admin menu.
 	 */
-	require_once( WP_PLUGIN_DIR . '/buddypress/bp-core.php' );
+	require_once( BP_PLUGIN_DIR . 'bp-core.php' );
 	$bp_deactivated = apply_filters( 'bp_deactivated_components', get_site_option( 'bp-deactivated-components' ) );
 
 	do_action( 'bp_core_loaded' );
 
 	/* Activity Streams */
-	if ( !isset( $bp_deactivated['bp-activity.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-activity.php') )
-		include( BP_PLUGIN_DIR . '/bp-activity.php' );
+	if ( !isset( $bp_deactivated['bp-activity.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-activity.php') )
+		include( BP_PLUGIN_DIR . 'bp-activity.php' );
 
 	/* Blog Tracking */
-	if ( !isset( $bp_deactivated['bp-blogs.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-blogs.php') )
-		include( BP_PLUGIN_DIR . '/bp-blogs.php' );
+	if ( !isset( $bp_deactivated['bp-blogs.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-blogs.php') )
+		include( BP_PLUGIN_DIR . 'bp-blogs.php' );
 
 	/* bbPress Forum Integration */
-	if ( !isset( $bp_deactivated['bp-forums.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-forums.php') )
-		include( BP_PLUGIN_DIR . '/bp-forums.php' );
+	if ( !isset( $bp_deactivated['bp-forums.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-forums.php') )
+		include( BP_PLUGIN_DIR . 'bp-forums.php' );
 
 	/* Friend Connections */
-	if ( !isset( $bp_deactivated['bp-friends.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-friends.php') )
-		include( BP_PLUGIN_DIR . '/bp-friends.php' );
+	if ( !isset( $bp_deactivated['bp-friends.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-friends.php') )
+		include( BP_PLUGIN_DIR . 'bp-friends.php' );
 
 	/* Groups Support */
-	if ( !isset( $bp_deactivated['bp-groups.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-groups.php') )
-		include( BP_PLUGIN_DIR . '/bp-groups.php' );
+	if ( !isset( $bp_deactivated['bp-groups.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-groups.php') )
+		include( BP_PLUGIN_DIR . 'bp-groups.php' );
 
 	/* Private Messaging */
-	if ( !isset( $bp_deactivated['bp-messages.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-messages.php') )
-		include( BP_PLUGIN_DIR . '/bp-messages.php' );
+	if ( !isset( $bp_deactivated['bp-messages.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-messages.php') )
+		include( BP_PLUGIN_DIR . 'bp-messages.php' );
 
 	/* Extended Profiles */
-	if ( !isset( $bp_deactivated['bp-xprofile.php'] ) && file_exists( BP_PLUGIN_DIR . '/bp-xprofile.php') )
-		include( BP_PLUGIN_DIR . '/bp-xprofile.php' );
+	if ( !isset( $bp_deactivated['bp-xprofile.php'] ) && file_exists( BP_PLUGIN_DIR . 'bp-xprofile.php') )
+		include( BP_PLUGIN_DIR . 'bp-xprofile.php' );
 
 	add_action( 'plugins_loaded', 'bp_loaded', 20 );
 }
@@ -112,7 +115,7 @@
 		'registration',
 		'fileupload_maxk'
 	) );
-	
+
 	// These options always come from the options table of BP_ROOT_BLOG
 	$root_blog_options = apply_filters( 'bp_core_root_blog_options', array(
 		'avatar_default'
@@ -124,9 +127,9 @@
 		$site_meta = $wpdb->get_results( "SELECT meta_key AS name, meta_value AS value FROM {$wpdb->sitemeta} WHERE meta_key IN ({$meta_keys}) AND site_id = {$wpdb->siteid}" );
 	else
 		$site_meta = $wpdb->get_results( "SELECT option_name AS name, option_value AS value FROM {$wpdb->options} WHERE option_name IN ({$meta_keys})" );
-		
+
 	$root_blog_meta_keys = "'" . implode( "','", (array)$root_blog_options ) ."'";
-	
+
 	$root_blog_meta_table = BP_ROOT_BLOG == 1 ? $wpdb->base_prefix . 'options' : $wpdb->base_prefix . BP_ROOT_BLOG . '_options';
 	$root_blog_meta = $wpdb->get_results( $wpdb->prepare( "SELECT option_name AS name, option_value AS value FROM {$root_blog_meta_table} WHERE option_name IN ({$root_blog_meta_keys})" ) );
 
@@ -151,7 +154,7 @@
 
 	do_action( 'bp_loader_activate' );
 }
-register_activation_hook( 'buddypress/bp-loader.php', 'bp_loader_activate' );
+register_activation_hook( BP_PLUGIN_BASENAME, 'bp_loader_activate' );
 
 /* Deactivation Function */
 function bp_loader_deactivate() {
@@ -170,6 +173,6 @@
 
 	do_action( 'bp_loader_deactivate' );
 }
-register_deactivation_hook( 'buddypress/bp-loader.php', 'bp_loader_deactivate' );
+register_deactivation_hook( BP_PLUGIN_BASENAME, 'bp_loader_deactivate' );
 
 ?>
\ No newline at end of file
Index: bp-blogs.php
===================================================================
--- bp-blogs.php	(revision 3527)
+++ bp-blogs.php	(working copy)
@@ -1,10 +1,10 @@
 <?php
-require ( BP_PLUGIN_DIR . '/bp-blogs/bp-blogs-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-blogs/bp-blogs-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-blogs/bp-blogs-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-blogs/bp-blogs-templatetags.php' );
 
 /* Include the sitewide blog posts widget if this is a multisite installation */
 if ( is_multisite() )
-	require ( BP_PLUGIN_DIR . '/bp-blogs/bp-blogs-widgets.php' );
+	require ( BP_PLUGIN_DIR . 'bp-blogs/bp-blogs-widgets.php' );
 
 function bp_blogs_setup_globals() {
 	global $bp, $wpdb;
@@ -475,9 +475,9 @@
 
 	if ( empty( $role ) ) {
 		$key = $wpdb->get_blog_prefix( $id ). 'capabilities';
-		
+
 		$roles = get_user_meta( $user_id, $key, true );
-		
+
 		if ( is_array( $roles ) )
 			$role = array_search( 1, $roles );
 		else
Index: bp-messages.php
===================================================================
--- bp-messages.php	(revision 3527)
+++ bp-messages.php	(working copy)
@@ -1,8 +1,8 @@
 <?php
-require ( BP_PLUGIN_DIR . '/bp-messages/bp-messages-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-messages/bp-messages-cssjs.php' );
-require ( BP_PLUGIN_DIR . '/bp-messages/bp-messages-templatetags.php' );
-require ( BP_PLUGIN_DIR . '/bp-messages/bp-messages-filters.php' );
+require ( BP_PLUGIN_DIR . 'bp-messages/bp-messages-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-messages/bp-messages-cssjs.php' );
+require ( BP_PLUGIN_DIR . 'bp-messages/bp-messages-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-messages/bp-messages-filters.php' );
 
 function messages_setup_globals() {
 	global $bp;
@@ -399,7 +399,7 @@
 	}
 
 	if ( $message->send() ) {
-		require_once( BP_PLUGIN_DIR . '/bp-messages/bp-messages-notifications.php' );
+		require_once( BP_PLUGIN_DIR . 'bp-messages/bp-messages-notifications.php' );
 
 		// Send screen notifications to the recipients
 		foreach ( (array)$message->recipients as $recipient )
Index: bp-forums.php
===================================================================
--- bp-forums.php	(revision 3527)
+++ bp-forums.php	(working copy)
@@ -8,10 +8,10 @@
 	define( 'BP_FORUMS_SLUG', 'forums' );
 
 if ( !defined( 'BB_PATH' ) )
-	require ( BP_PLUGIN_DIR . '/bp-forums/bp-forums-bbpress.php' );
+	require ( BP_PLUGIN_DIR . 'bp-forums/bp-forums-bbpress.php' );
 
-require ( BP_PLUGIN_DIR . '/bp-forums/bp-forums-templatetags.php' );
-require ( BP_PLUGIN_DIR . '/bp-forums/bp-forums-filters.php' );
+require ( BP_PLUGIN_DIR . 'bp-forums/bp-forums-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-forums/bp-forums-filters.php' );
 
 function bp_forums_setup() {
 	global $bp;
@@ -19,7 +19,7 @@
 	/* For internal identification */
 	$bp->forums->id = 'forums';
 
-	$bp->forums->image_base = BP_PLUGIN_URL . '/bp-forums/images';
+	$bp->forums->image_base = BP_PLUGIN_URL . 'bp-forums/images';
 	$bp->forums->slug = BP_FORUMS_SLUG;
 
 	if ( isset( $bp->site_options['bb-config-location'] ) )
@@ -72,7 +72,7 @@
 						$error_message = __( 'Please provide a title for your forum topic.', 'buddypress' );
 					else if ( empty( $_POST['topic_text'] ) )
 						$error_message = __( 'Forum posts cannot be empty. Please enter some text.', 'buddypress' );
-					
+
 					if ( $error_message ) {
 						bp_core_add_message( $error_message, 'error' );
 						$redirect = bp_get_group_permalink( $bp->groups->current_group ) . 'forum';
@@ -85,9 +85,9 @@
 							$redirect = bp_get_group_permalink( $bp->groups->current_group ) . 'forum/topic/' . $topic->topic_slug . '/';
 						}
 					}
-					
+
 					bp_core_redirect( $redirect );
-				
+
 				} else {
 					bp_core_add_message( __( 'Please pick the group forum where you would like to post this topic.', 'buddypress' ), 'error' );
 				}
@@ -107,7 +107,7 @@
 	if ( !is_super_admin() )
 		return false;
 
-	require ( BP_PLUGIN_DIR . '/bp-forums/bp-forums-admin.php' );
+	require ( BP_PLUGIN_DIR . 'bp-forums/bp-forums-admin.php' );
 
 	/* Add the administration tab under the "Site Admin" tab for site administrators */
 	add_submenu_page( 'bp-general-settings', __( 'Forums Setup', 'buddypress' ), __( 'Forums Setup', 'buddypress' ), 'manage_options', 'bb-forums-setup', "bp_forums_bbpress_admin" );
Index: bp-groups.php
===================================================================
--- bp-groups.php	(revision 3527)
+++ bp-groups.php	(working copy)
@@ -1,8 +1,8 @@
 <?php
-require ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-templatetags.php' );
-require ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-widgets.php' );
-require ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-filters.php' );
+require ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-widgets.php' );
+require ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-filters.php' );
 
 function groups_setup_globals() {
 	global $bp, $wpdb;
@@ -486,7 +486,7 @@
 					$error_message = __( 'Please provide a title for your forum topic.', 'buddypress' );
 				else if ( empty( $_POST['topic_text'] ) )
 					$error_message = __( 'Forum posts cannot be empty. Please enter some text.', 'buddypress' );
-				
+
 				if ( isset( $error_message ) ) {
 					bp_core_add_message( $error_message, 'error' );
 					$redirect = bp_get_group_permalink( $bp->groups->current_group ) . 'forum';
@@ -499,9 +499,9 @@
 						$redirect = bp_get_group_permalink( $bp->groups->current_group ) . 'forum/topic/' . $topic->topic_slug . '/';
 					}
 				}
-				
+
 				bp_core_redirect( $redirect );
-				
+
 			}
 
 			do_action( 'groups_screen_group_forum', $topic_id, $forum_id );
@@ -1030,7 +1030,7 @@
 				bp_core_add_message( __( 'Please fill in all of the required fields', 'buddypress' ), 'error' );
 				bp_core_redirect( $bp->root_domain . '/' . $bp->groups->slug . '/create/step/' . $bp->groups->current_create_step . '/' );
 			}
-			
+
 			$new_group_id = isset( $bp->groups->new_group_id ) ? $bp->groups->new_group_id : 0;
 
 			if ( !$bp->groups->new_group_id = groups_create_group( array( 'group_id' => $new_group_id, 'name' => $_POST['group-name'], 'description' => $_POST['group-desc'], 'slug' => groups_check_slug( sanitize_title( esc_attr( $_POST['group-name'] ) ) ), 'date_created' => bp_core_current_time(), 'status' => 'public' ) ) ) {
@@ -1322,13 +1322,13 @@
 
 function groups_update_last_activity( $group_id = false ) {
 	global $bp;
-	
+
 	if ( !$group_id )
 		$group_id = $bp->groups->current_group->id;
-		
+
 	if ( !$group_id )
 		return false;
-	
+
 	groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
 }
 add_action( 'groups_joined_group', 'groups_update_last_activity' );
@@ -1540,7 +1540,7 @@
 		return false;
 
 	if ( $notify_members ) {
-		require_once ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
+		require_once ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-notifications.php' );
 		groups_notification_group_updated( $group->id );
 	}
 
@@ -1911,7 +1911,7 @@
 	) );
 
  	/* Require the notifications code so email notifications can be set on the 'bp_activity_posted_update' action. */
-	require_once( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
+	require_once( BP_PLUGIN_DIR . 'bp-groups/bp-groups-notifications.php' );
 
 	groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() );
 	do_action( 'bp_groups_posted_update', $content, $user_id, $group_id, $activity_id );
@@ -2251,7 +2251,7 @@
 function groups_send_invites( $user_id, $group_id ) {
 	global $bp;
 
-	require_once ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
+	require_once ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-notifications.php' );
 
 	if ( !$user_id )
 		$user_id = $bp->loggedin_user->id;
@@ -2377,7 +2377,7 @@
 	if ( $requesting_user->save() ) {
 		$admins = groups_get_group_admins( $group_id );
 
-		require_once ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
+		require_once ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-notifications.php' );
 
 		for ( $i = 0; $i < count( $admins ); $i++ ) {
 			// Saved okay, now send the email notification
@@ -2423,7 +2423,7 @@
 	) );
 
 	/* Send a notification to the user. */
-	require_once ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
+	require_once ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-notifications.php' );
 	groups_notification_membership_request_completed( $membership->user_id, $membership->group_id, true );
 
 	do_action( 'groups_membership_accepted', $membership->user_id, $membership->group_id );
@@ -2436,7 +2436,7 @@
 		return false;
 
 	// Send a notification to the user.
-	require_once ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
+	require_once ( BP_PLUGIN_DIR . 'bp-groups/bp-groups-notifications.php' );
 	groups_notification_membership_request_completed( $membership->user_id, $membership->group_id, false );
 
 	do_action( 'groups_membership_rejected', $membership->user_id, $membership->group_id );
Index: bp-messages/bp-messages-cssjs.php
===================================================================
--- bp-messages/bp-messages-cssjs.php	(revision 3527)
+++ bp-messages/bp-messages-cssjs.php	(working copy)
@@ -8,16 +8,16 @@
 		add_action( 'wp_head', 'messages_autocomplete_init_jsblock' );
 
 		if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
-			wp_enqueue_script( 'bp-jquery-autocomplete', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.autocomplete.dev.js', array( 'jquery' ) );
-			wp_enqueue_script( 'bp-jquery-autocomplete-fb', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.autocompletefb.dev.js' );
-			wp_enqueue_script( 'bp-jquery-bgiframe', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.bgiframe.min.js' );
-			wp_enqueue_script( 'bp-jquery-dimensions', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.dimensions.dev.js' );
+			wp_enqueue_script( 'bp-jquery-autocomplete', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.autocomplete.dev.js', array( 'jquery' ) );
+			wp_enqueue_script( 'bp-jquery-autocomplete-fb', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.autocompletefb.dev.js' );
+			wp_enqueue_script( 'bp-jquery-bgiframe', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.bgiframe.min.js' );
+			wp_enqueue_script( 'bp-jquery-dimensions', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.dimensions.dev.js' );
 
 		} else {
-			wp_enqueue_script( 'bp-jquery-autocomplete', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.autocomplete.js', array( 'jquery' ) );
-			wp_enqueue_script( 'bp-jquery-autocomplete-fb', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.autocompletefb.js' );
-			wp_enqueue_script( 'bp-jquery-bgiframe', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.bgiframe.min.js' );
-			wp_enqueue_script( 'bp-jquery-dimensions', BP_PLUGIN_URL . '/bp-messages/js/autocomplete/jquery.dimensions.js' );
+			wp_enqueue_script( 'bp-jquery-autocomplete', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.autocomplete.js', array( 'jquery' ) );
+			wp_enqueue_script( 'bp-jquery-autocomplete-fb', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.autocompletefb.js' );
+			wp_enqueue_script( 'bp-jquery-bgiframe', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.bgiframe.min.js' );
+			wp_enqueue_script( 'bp-jquery-dimensions', BP_PLUGIN_URL . 'bp-messages/js/autocomplete/jquery.dimensions.js' );
 		}
 	}
 }
@@ -28,9 +28,9 @@
 
 	if ( $bp->current_component == $bp->messages->slug && 'compose' == $bp->current_action ) {
 		if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-			wp_enqueue_style( 'bp-messages-autocomplete', BP_PLUGIN_URL . '/bp-messages/css/autocomplete/jquery.autocompletefb.dev.css' );
+			wp_enqueue_style( 'bp-messages-autocomplete', BP_PLUGIN_URL . 'bp-messages/css/autocomplete/jquery.autocompletefb.dev.css' );
 		else
-			wp_enqueue_style( 'bp-messages-autocomplete', BP_PLUGIN_URL . '/bp-messages/css/autocomplete/jquery.autocompletefb.css' );
+			wp_enqueue_style( 'bp-messages-autocomplete', BP_PLUGIN_URL . 'bp-messages/css/autocomplete/jquery.autocompletefb.css' );
 
 		wp_print_styles();
 	}
Index: bp-forums/bp-forums-admin.php
===================================================================
--- bp-forums/bp-forums-admin.php	(revision 3527)
+++ bp-forums/bp-forums-admin.php	(working copy)
@@ -83,9 +83,9 @@
 		break;
 
 		default:
-			if ( !file_exists( BP_PLUGIN_DIR . '/bp-forums/bbpress/' ) ) { ?>
+			if ( !file_exists( BP_PLUGIN_DIR . 'bp-forums/bbpress/' ) ) { ?>
 				<div id="message" class="error">
-					<p><?php printf( __( 'bbPress files were not found. To install the forums component you must download a copy of bbPress and make sure it is in the folder: "%s"', 'buddypress' ), 'wp-content/plugins/buddypress/bp-forums/bbpress/' ) ?></p>
+					<p><?php printf( __( 'bbPress files were not found. To install the forums component you must download a copy of bbPress and make sure it is in the folder: "%s"', 'buddypress' ), str_replace( ABSPATH, '', BP_PLUGIN_DIR ) . '/bp-forums/bbpress/' ) ?></p>
 				</div>
 			<?php } else { ?>
 
@@ -129,7 +129,7 @@
 
 	/* Create the bb-config.php file */
 	$initial_write = bp_forums_bbpress_write(
-		BP_PLUGIN_DIR . '/bp-forums/bbpress/bb-config-sample.php',
+		BP_PLUGIN_DIR . 'bp-forums/bbpress/bb-config-sample.php',
 		ABSPATH . 'bb-config.php',
 		array(
 			"define( 'BBDB_NAME',"  		=> array( "'bbpress'",                     	"'" . DB_NAME . "'" ),
@@ -157,7 +157,7 @@
 	$file = substr( $file, 0, -2 );
 	$file .= "\n" .   '$bb->custom_user_table = \'' . $wpdb->users . '\';';
 	$file .= "\n" .   '$bb->custom_user_meta_table = \'' . $wpdb->usermeta . '\';';
-	$file .= "\n\n" . '$bb->uri = \'' . BP_PLUGIN_URL . '/bp-forums/bbpress/\';';
+	$file .= "\n\n" . '$bb->uri = \'' . BP_PLUGIN_URL . 'bp-forums/bbpress/\';';
 	$file .= "\n" .   '$bb->name = \'' . get_blog_option( BP_ROOT_BLOG, 'name' ) . ' ' . __( 'Forums', 'buddypress' ) . '\';';
 
 	if ( is_multisite() )
Index: bp-forums/bp-forums-bbpress.php
===================================================================
--- bp-forums/bp-forums-bbpress.php	(revision 3527)
+++ bp-forums/bp-forums-bbpress.php	(working copy)
@@ -11,9 +11,9 @@
 	if ( !bp_forums_is_installed_correctly() )
 		return false;
 
-	define( 'BB_PATH', BP_PLUGIN_DIR . '/bp-forums/bbpress/' );
-	define( 'BACKPRESS_PATH', BP_PLUGIN_DIR . '/bp-forums/bbpress/bb-includes/backpress/' );
-	define( 'BB_URL', BP_PLUGIN_URL . '/bp-forums/bbpress/' );
+	define( 'BB_PATH', BP_PLUGIN_DIR . 'bp-forums/bbpress/' );
+	define( 'BACKPRESS_PATH', BP_PLUGIN_DIR . 'bp-forums/bbpress/bb-includes/backpress/' );
+	define( 'BB_URL', BP_PLUGIN_URL . 'bp-forums/bbpress/' );
 	define( 'BB_INC', 'bb-includes/' );
 
 	require_once( BB_PATH . BB_INC . 'class.bb-query.php' );
Index: readme.txt
===================================================================
--- readme.txt	(revision 3527)
+++ readme.txt	(working copy)
@@ -45,7 +45,7 @@
 
 == Installation ==
 
-You can download and install BuddyPress using the built in WordPress plugin installer. If you download BuddyPress manually, make sure it is uploaded to "/wp-content/plugins/buddypress/".
+You can download and install BuddyPress using the built in WordPress plugin installer. If you download BuddyPress manually, make sure it is uploaded to your plugins folder, which is usually "/wp-content/plugins/".
 
 Activate BuddyPress in the "Plugins" admin panel using the "Activate" link.
 
Index: bp-core.php
===================================================================
--- bp-core.php	(revision 3527)
+++ bp-core.php	(working copy)
@@ -5,15 +5,15 @@
  * It is important to use plugins_url() core function to obtain
  * the correct scheme used (http or https).
  */
-define( 'BP_PLUGIN_DIR', WP_PLUGIN_DIR . '/buddypress' );
-define( 'BP_PLUGIN_URL', plugins_url( $path = '/buddypress' ) );
+define( 'BP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
+define( 'BP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
 
 /* Load the WP abstraction file so BuddyPress can run on all WordPress setups. */
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-wpabstraction.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-wpabstraction.php' );
 
 /* Place your custom code (actions/filters) in a file called /plugins/bp-custom.php and it will be loaded before anything else. */
-if ( file_exists( WP_PLUGIN_DIR . '/bp-custom.php' ) )
-	require( WP_PLUGIN_DIR . '/bp-custom.php' );
+if ( file_exists( WP_PLUGIN_DIR . 'bp-custom.php' ) )
+	require( WP_PLUGIN_DIR . 'bp-custom.php' );
 
 /* Define the user and usermeta table names, useful if you are using custom or shared tables. */
 if ( !defined( 'CUSTOM_USER_TABLE' ) )
@@ -27,23 +27,23 @@
         define( 'BP_SEARCH_SLUG', 'search' );
 
 /* Load the files containing functions that we globally will need. */
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-catchuri.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-filters.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-cssjs.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-avatars.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-templatetags.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-settings.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-widgets.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-notifications.php' );
-require ( BP_PLUGIN_DIR . '/bp-core/bp-core-signup.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-catchuri.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-filters.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-cssjs.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-avatars.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-settings.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-widgets.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-notifications.php' );
+require ( BP_PLUGIN_DIR . 'bp-core/bp-core-signup.php' );
 
 /* If BP_DISABLE_ADMIN_BAR is defined, do not load the global admin bar. */
 if ( !defined( 'BP_DISABLE_ADMIN_BAR' ) )
-	require ( BP_PLUGIN_DIR . '/bp-core/bp-core-adminbar.php' );
+	require ( BP_PLUGIN_DIR . 'bp-core/bp-core-adminbar.php' );
 
 /* Register BuddyPress themes contained within the bp-theme folder */
-register_theme_directory( WP_PLUGIN_DIR . '/buddypress/bp-themes' );
+register_theme_directory( BP_PLUGIN_DIR . 'bp-themes' );
 
 
 /* "And now for something completely different" .... */
@@ -290,7 +290,7 @@
 	if ( !is_super_admin() )
 		return false;
 
-	require ( BP_PLUGIN_DIR . '/bp-core/admin/bp-core-admin.php' );
+	require ( BP_PLUGIN_DIR . 'bp-core/admin/bp-core-admin.php' );
 }
 add_action( 'admin_menu', 'bp_core_admin_menu_init' );
 
@@ -1893,7 +1893,7 @@
 	$locale        = apply_filters( 'buddypress_locale', get_locale() );
 	$mofile        = sprintf( 'buddypress-%s.mo', $locale );
 	$mofile_global = WP_LANG_DIR . '/' . $mofile;
-	$mofile_local  = BP_PLUGIN_DIR . '/bp-languages/' . $mofile;
+	$mofile_local  = BP_PLUGIN_DIR . 'bp-languages/' . $mofile;
 
 	if ( file_exists( $mofile_global ) )
 		return load_textdomain( 'buddypress', $mofile_global );
@@ -1921,7 +1921,7 @@
 function bp_core_update_message() {
 	echo '<p style="color: red; margin: 3px 0 0 0; border-top: 1px solid #ddd; padding-top: 3px">' . __( 'IMPORTANT: <a href="http://codex.buddypress.org/getting-started/upgrading-from-10x/">Read this before attempting to update BuddyPress</a>', 'buddypress' ) . '</p>';
 }
-add_action( 'in_plugin_update_message-buddypress/bp-loader.php', 'bp_core_update_message' );
+add_action( 'in_plugin_update_message-' . BP_PLUGIN_BASENAME, 'bp_core_update_message' );
 
 /**
  * bp_core_activation_notice()
Index: bp-xprofile.php
===================================================================
--- bp-xprofile.php	(revision 3527)
+++ bp-xprofile.php	(working copy)
@@ -1,9 +1,9 @@
 <?php
-require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-admin.php' );
-require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-classes.php' );
-require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-filters.php' );
-require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-templatetags.php' );
-require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-cssjs.php' );
+require ( BP_PLUGIN_DIR . 'bp-xprofile/bp-xprofile-admin.php' );
+require ( BP_PLUGIN_DIR . 'bp-xprofile/bp-xprofile-classes.php' );
+require ( BP_PLUGIN_DIR . 'bp-xprofile/bp-xprofile-filters.php' );
+require ( BP_PLUGIN_DIR . 'bp-xprofile/bp-xprofile-templatetags.php' );
+require ( BP_PLUGIN_DIR . 'bp-xprofile/bp-xprofile-cssjs.php' );
 
 /**
  * xprofile_setup_globals()
@@ -633,12 +633,12 @@
 	if ( is_array( $values ) ) {
 		$data = array();
 		foreach( (array)$values as $value ) {
-			$data[] = apply_filters( 'xprofile_get_field_data', $value ); 
+			$data[] = apply_filters( 'xprofile_get_field_data', $value );
 		}
 	} else {
 		$data = apply_filters( 'xprofile_get_field_data', $values );
 	}
-	
+
 	return $data;
 }
 
@@ -927,10 +927,10 @@
 
 	if ( !$object_id )
 		return false;
-	
+
 	if ( !isset( $object_type ) )
 		return false;
-	
+
 	if ( !in_array( $object_type, array( 'group', 'field', 'data' ) ) )
 		return false;
 
@@ -961,10 +961,10 @@
 
 	if ( !$object_id )
 		return false;
-	
+
 	if ( !isset( $object_type ) )
 		return false;
-	
+
 	if ( !in_array( $object_type, array( 'group', 'field', 'data' ) ) )
 		return false;
 
@@ -1002,13 +1002,13 @@
 
 	if ( !$object_id )
 		return false;
-	
+
 	if ( !isset( $object_type ) )
 		return false;
-	
+
 	if ( !in_array( $object_type, array( 'group', 'field', 'data' ) ) )
 		return false;
-		
+
 	$meta_key = preg_replace( '|[^a-z0-9_]|i', '', $meta_key );
 
 	if ( is_string( $meta_value ) )
@@ -1018,7 +1018,7 @@
 
 	if ( empty( $meta_value ) )
 		return bp_xprofile_delete_meta( $object_id, $object_type, $meta_key );
-	
+
 	$cur = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM " . $bp->profile->table_name_meta . " WHERE object_id = %d AND object_type = %s AND meta_key = %s", $object_id, $object_type, $meta_key ) );
 
 	if ( !$cur )
@@ -1035,15 +1035,15 @@
 }
 
 function bp_xprofile_update_fieldgroup_meta( $field_group_id, $meta_key, $meta_value ) {
-	return bp_xprofile_update_meta( $field_group_id, 'group', $meta_key, $meta_value );	
+	return bp_xprofile_update_meta( $field_group_id, 'group', $meta_key, $meta_value );
 }
 
 function bp_xprofile_update_field_meta( $field_id, $meta_key, $meta_value ) {
-	return bp_xprofile_update_meta( $field_id, 'field', $meta_key, $meta_value );	
+	return bp_xprofile_update_meta( $field_id, 'field', $meta_key, $meta_value );
 }
 
 function bp_xprofile_update_fielddata_meta( $field_data_id, $meta_key, $meta_value ) {
-	return bp_xprofile_update_meta( $field_data_id, 'data', $meta_key, $meta_value );	
+	return bp_xprofile_update_meta( $field_data_id, 'data', $meta_key, $meta_value );
 }
 
 /********************************************************************************
Index: bp-groups/bp-groups-widgets.php
===================================================================
--- bp-groups/bp-groups-widgets.php	(revision 3527)
+++ bp-groups/bp-groups-widgets.php	(working copy)
@@ -15,15 +15,15 @@
 
 		if ( is_active_widget( false, false, $this->id_base ) ) {
 			if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG )
-				wp_enqueue_script( 'groups_widget_groups_list-js', BP_PLUGIN_URL . '/bp-groups/js/widget-groups.dev.js', array( 'jquery' ) );
+				wp_enqueue_script( 'groups_widget_groups_list-js', BP_PLUGIN_URL . 'bp-groups/js/widget-groups.dev.js', array( 'jquery' ) );
 			else
-				wp_enqueue_script( 'groups_widget_groups_list-js', BP_PLUGIN_URL . '/bp-groups/js/widget-groups.js', array( 'jquery' ) );
+				wp_enqueue_script( 'groups_widget_groups_list-js', BP_PLUGIN_URL . 'bp-groups/js/widget-groups.js', array( 'jquery' ) );
 		}
 	}
 
 	function widget( $args, $instance ) {
 		global $bp;
-		
+
 		$user_id = apply_filters( 'bp_group_widget_user_id', '0' );
 
 		extract( $args );
@@ -99,25 +99,25 @@
 			'title' => __( 'Groups', 'buddypress' ),
 			'max_members' => 5,
 			'group_default' => 'active'
-		);	
+		);
 		$instance = wp_parse_args( (array) $instance, $defaults );
-		
+
 		$title = strip_tags( $instance['title'] );
 		$max_groups = strip_tags( $instance['max_groups'] );
 		$group_default = strip_tags( $instance['group_default'] );
 		?>
-		
+
 		<p><label for="bp-groups-widget-title"><?php _e('Title:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" style="width: 100%" /></label></p>
 
 		<p><label for="bp-groups-widget-groups-max"><?php _e('Max groups to show:', 'buddypress'); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'max_groups' ); ?>" name="<?php echo $this->get_field_name( 'max_groups' ); ?>" type="text" value="<?php echo esc_attr( $max_groups ); ?>" style="width: 30%" /></label></p>
-		
+
 		<p>
-			<label for="bp-groups-widget-groups-default"><?php _e('Default groups to show:', 'buddypress'); ?> 
+			<label for="bp-groups-widget-groups-default"><?php _e('Default groups to show:', 'buddypress'); ?>
 			<select name="<?php echo $this->get_field_name( 'group_default' ); ?>">
 				<option value="newest" <?php if ( $group_default == 'newest' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Newest', 'buddypress' ) ?></option>
 				<option value="active" <?php if ( $group_default == 'active' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Active', 'buddypress' ) ?></option>
 				<option value="popular"  <?php if ( $group_default == 'popular' ) : ?>selected="selected"<?php endif; ?>><?php _e( 'Popular', 'buddypress' ) ?></option>
-			</select>			
+			</select>
 			</label>
 		</p>
 	<?php
