X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fcache%2FMessageCache.php;h=c99211206825e7cf07ab67a4288edf2878cc803f;hb=f0a80ea778057379a16e277348ab5e11d939b137;hp=8a42a9a72d27573b74e019fdd7bfcfa917546759;hpb=55043101b2a89ea1e811b6d35e415f57ed0bf41d;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php index 8a42a9a72d..c992112068 100644 --- a/includes/cache/MessageCache.php +++ b/includes/cache/MessageCache.php @@ -23,6 +23,7 @@ use MediaWiki\MediaWikiServices; use Wikimedia\ScopedCallback; use MediaWiki\Logger\LoggerFactory; +use Wikimedia\Rdbms\Database; /** * MediaWiki message cache structure version. @@ -192,6 +193,7 @@ class MessageCache { $po = ParserOptions::newFromAnon(); $po->setEditSection( false ); $po->setAllowUnsafeRawHtml( false ); + $po->setWrapOutputClass( false ); return $po; } @@ -201,6 +203,11 @@ class MessageCache { // from malicious sources. As a precaution, disable // the parser tag when parsing messages. $this->mParserOptions->setAllowUnsafeRawHtml( false ); + // Wrapping messages in an extra
is probably not expected. If + // they're outside the content area they probably shouldn't be + // targeted by CSS that's targeting the parser output, and if + // they're inside they already are from the outer div. + $this->mParserOptions->setWrapOutputClass( false ); } return $this->mParserOptions; @@ -508,15 +515,18 @@ class MessageCache { # Conditions to load the remaining pages with their contents $smallConds = $conds; - $smallConds[] = 'page_latest=rev_id'; - $smallConds[] = 'rev_text_id=old_id'; $smallConds[] = 'page_len <= ' . intval( $wgMaxMsgCacheEntrySize ); $res = $dbr->select( [ 'page', 'revision', 'text' ], [ 'page_title', 'old_id', 'old_text', 'old_flags' ], $smallConds, - __METHOD__ . "($code)-small" + __METHOD__ . "($code)-small", + [], + [ + 'revision' => [ 'JOIN', 'page_latest=rev_id' ], + 'text' => [ 'JOIN', 'rev_text_id=old_id' ], + ] ); foreach ( $res as $row ) {