Index: trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php
===================================================================
--- trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php	(revision 9110)
+++ trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/inc/template-tags.php	(working copy)
@@ -209,27 +209,48 @@
 			break;
 
 		case 'disabled':
-			$message = current_user_can( 'plugin_approve' )
-				? __( 'This plugin is disabled (closed, but actively serving updates).', 'wporg-plugins' )
-				: __( 'This plugin has been closed for new installations.', 'wporg-plugins' );
-
-			$message = sprintf( $error_notice, $message );
-			break;
-
 		case 'closed':
 			$closed_date = get_post_meta( get_the_ID(), 'plugin_closed_date', true );
 
 			if ( $closed_date ) {
-				/* translators: %s: plugin closing date */
-				$message = sprintf( __( 'This plugin was closed on %s and is no longer available for download.', 'wporg-plugins' ), mysql2date( get_option( 'date_format' ), $closed_date ) );
 
+				if ( 'disabled' === $post_status && current_user_can( 'plugin_approve' ) ) {
+					/* translators: %s: plugin closing date */
+					$message = sprintf( __( 'This plugin has been disabled as of %s -- this means it is closed, but actively serving updates.', 'wporg-plugins' ), mysql2date( get_option( 'date_format' ), $closed_date ) );
+				} else {
+					/* translators: %s: plugin closing date */
+					$message = sprintf( __( 'This plugin has been closed as of %s and is not available for download.', 'wporg-plugins' ), mysql2date( get_option( 'date_format' ), $closed_date ) );
+				}
+
 				$days_passed = (int) ( ( current_time( 'timestamp' ) - mysql2date( 'U', $closed_date ) ) / DAY_IN_SECONDS );
 
 				// Display close reason if more than 60 days have passed.
 				if ( $days_passed > 60 ) {
 					/* translators: %s: plugin close/disable reason */
-					$message .= ' ' . sprintf( __( 'Reason: %s.', 'wporg-plugins' ), Template::get_close_reason( $post ) );
+					$message     .= ' ' . sprintf( __( 'Reason: %s.', 'wporg-plugins' ), Template::get_close_reason( $post ) );
 				}
+
+				// Determine permanence of closure.
+				$close_reason = (string) get_post_meta( get_the_ID(), '_close_reason', true );
+				if ( $close_reason ) {
+					$contributors = get_terms( array(
+						'taxonomy'   => 'plugin_contributors',
+						'object_ids' => array( get_the_ID() ),
+						'orderby'    => 'term_order',
+						'fields'     => 'names',
+					) );
+
+					$has_contributors = ( is_wp_error( $contributors ) || ! $contributors ) ? false : true;
+					if ( 'author-request' === $close_reason || ! $has_contributors ) {
+						$permanent = ' ' . __( 'This closure is permanent.', 'wporg-plugins' );
+					}
+				}
+
+				if ( isset( $permanent ) ) {
+					$message .= ' ' . __( 'This closure is permanent.', 'wporg-plugins' );
+				} elseif ( $days_passed < 60 ) {
+					$message .= ' ' . __( 'This closure is temporary, pending a full review.', 'wporg-plugins' );
+				}
 			} else {
 				$message = __( 'This plugin has been closed and is no longer available for download.', 'wporg-plugins' );
 			}
