Index: src/includes/common/template.php
===================================================================
--- src/includes/common/template.php	(revision 5594)
+++ src/includes/common/template.php	(working copy)
@@ -2527,6 +2527,54 @@
 	<?php endif;
 }
 
+/**
+ * Display a notice to the user at the top of the page
+ */
+
+function bbp_posting_notices(){
+
+	$query_args = $_GET;
+	$bbpid = $_GET['bbpid'];
+
+	// If the post id has been passed through, get the type if possible otherwise assume 'post'
+	if( !empty( $bbpid ) ){
+		$post_type = ( get_post_type( (int)$bbpid ) ) ? get_post_type( (int)$bbpid ) : '<<em>not a valid post id</em>>';
+	}
+	else{
+		$post_type = 'post';
+	}
+
+	foreach( $query_args as $param => $arg ){
+
+		if( $param =='pending' ){ 
+				$notices[] = __( 'Your ' . $post_type . ' has been submitted successfully and is pending moderator approval.', 'bbpress' );
+		}
+		if( $param == 'test' ){
+				$notices[] = __( 'This is a test, this is only a test.', 'bbpress' );
+		}
+
+	}
+
+	$notices = apply_filters( 'bbp_posting_notices', $notices, $post_type );
+
+	if( !empty( $notices ) ){
+		
+		$notice_list = '<div class="bbp-template-notice error">';
+		$notice_list .= '<ul>';
+
+		foreach( $notices as $notice ){
+			
+			$notice_list .= '<li>' . $notice . '</li>';
+		}
+
+		$notice_list .= '</ul>';
+		$notice_list .= '</div>';
+
+		echo $notice_list;
+	}
+
+}
+
 /** Login/logout/register/lost pass *******************************************/
 
 /**
Index: src/includes/core/actions.php
===================================================================
--- src/includes/core/actions.php	(revision 5594)
+++ src/includes/core/actions.php	(working copy)
@@ -155,6 +155,11 @@
 add_action( 'bbp_template_notices', 'bbp_notice_edit_user_success'           );
 add_action( 'bbp_template_notices', 'bbp_notice_edit_user_is_super_admin', 2 );
 
+// Notice that the post (topic or reply) is pending
+add_action( 'bbp_template_before_single_topic', 'bbp_posting_notices' );
+add_action( 'bbp_template_before_single_forum', 'bbp_posting_notices' );
+
+
 // Before Delete/Trash/Untrash Forum
 add_action( 'wp_trash_post', 'bbp_trash_forum'   );
 add_action( 'trash_post',    'bbp_trash_forum'   );
Index: src/includes/replies/functions.php
===================================================================
--- src/includes/replies/functions.php	(revision 5594)
+++ src/includes/replies/functions.php	(working copy)
@@ -443,6 +443,9 @@
 		// Get the reply URL
 		$reply_url = bbp_get_reply_url( $reply_id, $redirect_to );
 
+		// If it is pending, add the pending query arg
+		$reply_url = ( $reply_status != bbp_get_pending_status_id() ) ? $reply_url : add_query_arg( array('pending' => 'true'), $reply_url );
+
 		// Allow to be filtered
 		$reply_url = apply_filters( 'bbp_new_reply_redirect_to', $reply_url, $redirect_to, $reply_id );
 
Index: src/includes/topics/functions.php
===================================================================
--- src/includes/topics/functions.php	(revision 5594)
+++ src/includes/topics/functions.php	(working copy)
@@ -405,9 +405,12 @@
 		// Redirect to
 		$redirect_to = bbp_get_redirect_to();
 
-		// Get the topic URL
-		$redirect_url = bbp_get_topic_permalink( $topic_id, $redirect_to );
+		// If it is pending, add the pending query arg to the forum permalink
+		$forum_url = bbp_get_forum_permalink( $forum_id );
+		$topic_url = bbp_get_topic_permalink( $topic_id, $redirect_to );
+		$redirect_url = ( $topic_status != bbp_get_pending_status_id() ) ? $topic_url : add_query_arg( array('pending' => 'true'), $forum_url );
 
+
 		// Add view all?
 		if ( bbp_get_view_all() || ! empty( $view_all ) ) {
 
