Index: sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php
===================================================================
--- sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php	(revision 4898)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php	(working copy)
@@ -32,6 +32,12 @@
 
 		// Limit no-replies view to certain number of days.
 		add_filter( 'bbp_register_view_no_replies', array( $this, 'limit_no_replies_view' ) );
+
+		// Store moderator's username on approve/unapprove actions.
+		add_action( 'bbp_approved_topic',   array( $this, 'store_moderator_username' ) );
+		add_action( 'bbp_approved_reply',   array( $this, 'store_moderator_username' ) );
+		add_action( 'bbp_unapproved_topic', array( $this, 'store_moderator_username' ) );
+		add_action( 'bbp_unapproved_reply', array( $this, 'store_moderator_username' ) );
 	}
 
 	/**
@@ -173,4 +179,13 @@
 		return $args;
 	}
 
+	/**
+	 * Store moderator's username on approve/unapprove actions.
+	 *
+	 * @param int $post_id Post ID.
+	 */
+	public function store_moderator_username( $post_id ) {
+		update_post_meta( $post_id, '_wporg_bbp_moderator', wp_get_current_user()->user_login );
+	}
+
 }
Index: sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-moderators.php
===================================================================
--- sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-moderators.php	(revision 4898)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-moderators.php	(working copy)
@@ -6,6 +6,7 @@
 
 	const ARCHIVED       = 'archived';
 	const ARCHIVED_META  = '_wporg_bbp_unarchived_post_status';
+	const MODERATOR_META = '_wporg_bbp_moderator';
 	const DEFAULT_STATUS = 'publish';
 	const VIEWS          = array( 'archived', 'pending', 'spam' );
 
@@ -248,6 +249,7 @@
 			), true );
 			if ( $post_id ) {
 				update_post_meta( $post->ID, self::ARCHIVED_META, $post->post_status );
+				update_post_meta( $post->ID, self::MODERATOR_META, wp_get_current_user()->user_login );
 				return true;
 			}
 		}
@@ -276,6 +278,7 @@
 			) );
 			if ( $post_id ) {
 				delete_post_meta( $post->ID, self::ARCHIVED_META );
+				update_post_meta( $post->ID, self::MODERATOR_META, wp_get_current_user()->user_login );
 				return true;
 			}
 		}
Index: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php
===================================================================
--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php	(revision 4898)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php	(working copy)
@@ -251,9 +251,23 @@
 				$notice = __( 'This post has been flagged as spam.', 'wporg-forums' );
 			}
 		} elseif ( 'archived' === $post_status ) {
-			$notice = __( 'This post is currently archived.', 'wporg-forums' );
+			$moderator = get_post_meta( get_the_ID(), '_wporg_bbp_moderator', true );
+
+			if ( $moderator ) {
+				/* translators: %s: moderator's username */
+				$notice = sprintf( __( 'This post has been archived by %s.', 'wporg-forums' ), $moderator );
+			} else {
+				$notice = __( 'This post is currently archived.', 'wporg-forums' );
+			}
 		} else {
-			$notice = __( 'This post is currently pending.', 'wporg-forums' );
+			$moderator = get_post_meta( get_the_ID(), '_wporg_bbp_moderator', true );
+
+			if ( $moderator ) {
+				/* translators: %s: moderator's username */
+				$notice = sprintf( __( 'This post has been unapproved by %s.', 'wporg-forums' ), $moderator );
+			} else {
+				$notice = __( 'This post is currently pending.', 'wporg-forums' );
+			}
 		}
 
 	elseif ( in_array( $post_status, array( 'pending', 'spam' ) ) ) :
