Index: src/bp-core/bp-core-functions.php
===================================================================
--- src/bp-core/bp-core-functions.php	(revision 10849)
+++ src/bp-core/bp-core-functions.php	(working copy)
@@ -854,7 +854,11 @@
  * @param string $component Component name.
  * @return string|bool Query argument on success. False on failure.
  */
-function bp_core_get_component_search_query_arg( $component ) {
+function bp_core_get_component_search_query_arg( $component = null ) {
+	if ( ! $component ) {
+		$component = bp_current_component();
+	}
+
 	$query_arg = false;
 	if ( isset( buddypress()->{$component}->search_query_arg ) ) {
 		$query_arg = sanitize_title( buddypress()->{$component}->search_query_arg );
Index: src/bp-core/bp-core-template.php
===================================================================
--- src/bp-core/bp-core-template.php	(revision 10849)
+++ src/bp-core/bp-core-template.php	(working copy)
@@ -585,6 +585,69 @@
 }
 
 /**
+ * Output the 'name' attribute for search form input element.
+ *
+ * @since 2.6.0
+ *
+ * @param string $component See {@link bp_get_search_input_name()}.
+ */
+function bp_search_input_name( $component = '' ) {
+	echo esc_attr( bp_get_search_input_name( $component ) );
+}
+	/**
+	 * Get the 'name' attribute for the search form input element.
+	 *
+	 * @since 2.6.0
+	 *
+	 * @param string $component Component name. Defaults to current component.
+	 * @return string Text for the 'name' attribute.
+	 */
+	function bp_get_search_input_name( $component = '' ) {
+		if ( ! $component ) {
+			$component = bp_current_component();
+		}
+
+		$bp = buddypress();
+
+		$name = '';
+		if ( isset( $bp->{$component}->id ) ) {
+			$name = $bp->{$component}->id . '_search';
+		}
+
+		return $name;
+	}
+
+/**
+ * Output the placeholder text for the search box for a given component.
+ *
+ * @since 2.6.0
+ *
+ * @param string $component See {@link bp_get_search_placeholder()}.
+ */
+function bp_search_placeholder( $component = '' ) {
+	echo esc_attr( bp_get_search_placeholder( $component ) );
+}
+	/**
+	 * Get the placeholder text for the search box for a given component.
+	 *
+	 * @since 2.6.0
+	 *
+	 * @param string $component Component name. Defaults to current component.
+	 * @return string Placeholder text for the search field.
+	 */
+	function bp_get_search_placeholder( $component = '' ) {
+		$query_arg = bp_core_get_component_search_query_arg( $component );
+
+		if ( $query_arg && ! empty( $_REQUEST[ $query_arg ] ) ) {
+			$placeholder = wp_unslash( $_REQUEST[ $query_arg ] );
+		} else {
+			$placeholder = bp_get_search_default_text( $component );
+		}
+
+		return $placeholder;
+	}
+
+/**
  * Output the default text for the search box for a given component.
  *
  * @since 1.5.0
Index: src/bp-templates/bp-legacy/buddypress/blogs/index.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/blogs/index.php	(revision 10849)
+++ src/bp-templates/bp-legacy/buddypress/blogs/index.php	(working copy)
@@ -33,10 +33,15 @@
 	 */
 	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 -->
+	<?php if ( has_filter( 'bp_directory_blogs_search_form' ) ) : ?>
+		<div id="blog-dir-search" class="dir-search" role="search">
+			<?php bp_directory_blogs_search_form(); ?>
+		</div><!-- #blog-dir-search -->
+	<?php else : ?>
+		<?php bp_get_template_part( 'common/search/dir-search-form' ); ?>
+	<?php endif; ?>
 
+
 	<?php
 
 	/**
Index: src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php	(nonexistent)
+++ src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php	(working copy)
@@ -0,0 +1,7 @@
+<div id="<?php esc_attr_e( bp_current_component() ); ?>-dir-search" class="dir-search" role="search">
+	<form action="" method="get" id="search-<?php  esc_attr_e( bp_current_component() ); ?>-form">
+		<label for="<?php bp_search_input_name(); ?>" class="bp-screen-reader-text"><?php bp_search_placeholder(); ?></label>
+			<input type="text" name="<?php esc_attr_e( bp_core_get_component_search_query_arg() ); ?>" id="<?php bp_search_input_name(); ?>" placeholder="<?php bp_search_placeholder(); ?>" />
+			<input type="submit" id="<?php esc_attr_e( bp_get_search_input_name() ); ?>_submit" name="<?php bp_search_input_name(); ?>_submit" value="<?php esc_html_e( 'Search', 'buddypress' ); ?>" />
+	</form>
+</div><!-- #<?php esc_attr_e( bp_current_component() ); ?>-dir-search -->

Property changes on: src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php	(nonexistent)
+++ src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php	(working copy)
@@ -0,0 +1,7 @@
+<div id="<?php esc_attr_e( bp_current_component() ); ?>-dir-search" class="dir-search" role="search">
+	<form action="" method="get" id="search-<?php  esc_attr_e( bp_current_component() ); ?>-form">
+		<label for="<?php bp_search_input_name(); ?>" class="bp-screen-reader-text"><?php bp_search_placeholder(); ?></label>
+			<input type="text" name="<?php esc_attr_e( bp_core_get_component_search_query_arg() ); ?>" id="<?php bp_search_input_name(); ?>" placeholder="<?php bp_search_placeholder(); ?>" />
+			<input type="submit" id="<?php esc_attr_e( bp_get_search_input_name() ); ?>_submit" name="<?php bp_search_input_name(); ?>_submit" value="<?php esc_html_e( 'Search', 'buddypress' ); ?>" />
+	</form>
+</div><!-- #<?php esc_attr_e( bp_current_component() ); ?>-dir-search -->

Property changes on: src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php	(nonexistent)
+++ src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php	(working copy)
@@ -0,0 +1,7 @@
+<div id="<?php esc_attr_e( bp_current_component() ); ?>-dir-search" class="dir-search" role="search">
+	<form action="" method="get" id="search-<?php  esc_attr_e( bp_current_component() ); ?>-form">
+		<label for="<?php bp_search_input_name(); ?>" class="bp-screen-reader-text"><?php bp_search_placeholder(); ?></label>
+			<input type="text" name="<?php esc_attr_e( bp_core_get_component_search_query_arg() ); ?>" id="<?php bp_search_input_name(); ?>" placeholder="<?php bp_search_placeholder(); ?>" />
+			<input type="submit" id="<?php esc_attr_e( bp_get_search_input_name() ); ?>_submit" name="<?php bp_search_input_name(); ?>_submit" value="<?php esc_html_e( 'Search', 'buddypress' ); ?>" />
+	</form>
+</div><!-- #<?php esc_attr_e( bp_current_component() ); ?>-dir-search -->

Property changes on: src/bp-templates/bp-legacy/buddypress/common/search/dir-search-form.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: src/bp-templates/bp-legacy/buddypress/forums/index.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/forums/index.php	(revision 10849)
+++ src/bp-templates/bp-legacy/buddypress/forums/index.php	(working copy)
@@ -29,11 +29,14 @@
 		 */
 		do_action( 'bp_before_directory_forums_content' ); ?>
 
+	<?php if ( has_filter( 'bp_directory_forums_search_form' ) ) : ?>
 		<div id="forums-dir-search" class="dir-search" role="search">
-
 			<?php bp_directory_forums_search_form(); ?>
+		</div>
+	<?php else : ?>
+		<?php bp_get_template_part( 'common/search/dir-search-form' ); ?>
+	<?php endif; ?>
 
-		</div>
 	</form>
 
 	<?php
Index: src/bp-templates/bp-legacy/buddypress/groups/index.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/groups/index.php	(revision 10849)
+++ src/bp-templates/bp-legacy/buddypress/groups/index.php	(working copy)
@@ -33,9 +33,13 @@
 	 */
 	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 if ( has_filter( 'bp_directory_groups_search_form' ) ) : ?>
+		<div id="group-dir-search" class="dir-search" role="search">
+			<?php bp_directory_groups_search_form(); ?>
+		</div><!-- #group-dir-search -->
+	<?php else : ?>
+		<?php bp_get_template_part( 'common/search/dir-search-form' ); ?>
+	<?php endif; ?>
 
 	<form action="" method="post" id="groups-directory-form" class="dir-form">
 
Index: src/bp-templates/bp-legacy/buddypress/members/index.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/members/index.php	(revision 10849)
+++ src/bp-templates/bp-legacy/buddypress/members/index.php	(working copy)
@@ -33,9 +33,13 @@
 	 */
 	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 -->
+	<?php if ( has_filter( 'bp_directory_members_search_form' ) ) : ?>
+		<div id="members-dir-search" class="dir-search" role="search">
+			<?php bp_directory_members_search_form(); ?>
+		</div><!-- #members-dir-search -->
+	<?php else : ?>
+		<?php bp_get_template_part( 'common/search/dir-search-form' ); ?>
+	<?php endif; ?>
 
 	<?php
 
