+ if ( $options == 'withaccess' ) {
+ $accesskey = $this->accesskey( $name );
+ if( $accesskey !== false ) {
+ if ( $tooltip === false || $tooltip === '' ) {
+ $tooltip = "[$accesskey]";
+ } else {
+ $tooltip .= " [$accesskey]";
+ }
+ }
+ }
+
+ wfProfileOut( __METHOD__ );
+ return $tooltip;
+ }
+
+ /**
+ * Given the id of an interface element, constructs the appropriate
+ * accesskey attribute from the system messages. (Note, this is usually
+ * the id but isn't always, because sometimes the accesskey needs to go on
+ * a different element than the id, for reverse-compatibility, etc.)
+ *
+ * @param string $name Id of the element, minus prefixes.
+ * @return string Contents of the accesskey attribute (which you must HTML-
+ * escape), or false for no accesskey attribute
+ */
+ public function accesskey( $name ) {
+ wfProfileIn( __METHOD__ );
+
+ $accesskey = wfMsg( "accesskey-$name" );
+
+ # FIXME: Per standard MW behavior, a value of '-' means to suppress the
+ # attribute, but this is broken for accesskey: that might be a useful
+ # value.
+ if( $accesskey != ''
+ && $accesskey != '-'
+ && !wfEmptyMsg( "accesskey-$name", $accesskey ) ) {
+ wfProfileOut( __METHOD__ );
+ return $accesskey;
+ }
+
+ wfProfileOut( __METHOD__ );
+ return false;