From 5b6beefd396e521a59949fb566de36e7ad8e610b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Niklas=20Laxstr=C3=B6m?= Date: Sat, 25 Dec 2010 12:24:18 +0000 Subject: [PATCH] Don't load the same accesskey message four times (in the worst case) --- includes/Linker.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/includes/Linker.php b/includes/Linker.php index 2d067402a9..fb1d7f16b2 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1674,10 +1674,16 @@ class Linker { public function accesskey( $name ) { wfProfileIn( __METHOD__ ); - if ( wfEmptyMsg( "accesskey-$name" ) ) { + if ( isset( $this->accesskeycache[$name] ) ) { + return $this->accesskeycache[$name]; + } + + $message = wfMessage( "accesskey-$name" ); + + if ( !$message->exists() ) { $accesskey = false; } else { - $accesskey = wfMsg( "accesskey-$name" ); + $accesskey = $message->plain(); if ( $accesskey === '' || $accesskey === '-' ) { # FIXME: Per standard MW behavior, a value of '-' means to suppress the # attribute, but this is broken for accesskey: that might be a useful @@ -1687,7 +1693,7 @@ class Linker { } wfProfileOut( __METHOD__ ); - return $accesskey; + return $this->accesskeycache[$name] = $accesskey; } /** -- 2.20.1