From 004947a11f936ba3934e70b26e583ad64e2a1c5e Mon Sep 17 00:00:00 2001
From: sbassett <sbassett@wikimedia.org>
Date: Tue, 23 Jun 2020 14:44:03 -0500
Subject: [PATCH] Unescaped message used in HTML within LogEventsList

* Use options-messages instead of text() for messages used to
  build HTML multi-select field.
* Clean up old FIXME conditional since T199657 has been resolved
  for over a year now.

Bug: T256171
---
 includes/logging/LogEventsList.php | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/includes/logging/LogEventsList.php b/includes/logging/LogEventsList.php
index c8a3e73a35..166116aade 100644
--- a/includes/logging/LogEventsList.php
+++ b/includes/logging/LogEventsList.php
@@ -203,15 +203,10 @@ class LogEventsList extends ContextSource {
 	 * @return array Form descriptor
 	 */
 	private function getFiltersDesc( $filter ) {
-		$options = [];
+		$optionsMsg = [];
 		$default = [];
 		foreach ( $filter as $type => $val ) {
-			$message = $this->msg( "logeventslist-{$type}-log" );
-			// FIXME: Remove this check once T199657 is fully resolved.
-			if ( !$message->exists() ) {
-				$message = $this->msg( "log-show-hide-{$type}" )->params( $this->msg( 'show' )->text() );
-			}
-			$options[ $message->text() ] = $type;
+			$optionsMsg["logeventslist-{$type}-log"] = $type;
 
 			if ( $val === false ) {
 				$default[] = $type;
@@ -221,7 +216,7 @@ class LogEventsList extends ContextSource {
 			'class' => 'HTMLMultiSelectField',
 			'label-message' => 'logeventslist-more-filters',
 			'flatlist' => true,
-			'options' => $options,
+			'options-messages' => $optionsMsg,
 			'default' => $default,
 		];
 	}
-- 
2.22.0

