(bug 15831) Modern skin RTL support is bugous
authorHuji <huji@users.mediawiki.org>
Sun, 5 Oct 2008 18:02:11 +0000 (18:02 +0000)
committerHuji <huji@users.mediawiki.org>
Sun, 5 Oct 2008 18:02:11 +0000 (18:02 +0000)
RELEASE-NOTES
skins/Modern.php
skins/modern/rtl.css

index ec35c0e..672dcb6 100644 (file)
@@ -241,6 +241,7 @@ The following extensions are migrated into MediaWiki 1.14:
 * (bug 15388) Title of Special:PrefixIndex
 * Links with no title but a curid parameter now use the curid to pick a page
 * (bug 10323) Special:Undelete should have "inverse selection" button
+* (bug 15831) Modern skin RTL support is bugous
 
 === API changes in 1.14 ===
 
index d0e6066..a493030 100644 (file)
-<?php
-/**
- * Modern skin, derived from monobook template.
- *
- * @todo document
- * @file
- * @ingroup Skins
- */
-
-if( !defined( 'MEDIAWIKI' ) )
-       die( -1 );
-
-/**
- * Inherit main code from SkinTemplate, set the CSS and template filter.
- * @todo document
- * @ingroup Skins
- */
-class SkinModern extends SkinTemplate {
-       /*
-        * We don't like the default getPoweredBy, the icon clashes with the 
-        * skin L&F.
-        */
-       function getPoweredBy() {
-               global  $wgVersion;
-               return "<div class='mw_poweredby'>Powered by MediaWiki $wgVersion</div>";
-       }
-
-       function initPage( OutputPage $out ) {
-               parent::initPage( $out );
-               $this->skinname  = 'modern';
-               $this->stylename = 'modern';
-               $this->template  = 'ModernTemplate';
-       }
-       
-       function setupSkinUserCss( OutputPage $out ){
-               // Do not call parent::setupSkinUserCss(), we have our own print style
-               $out->addStyle( 'common/shared.css', 'screen' );
-               $out->addStyle( 'modern/main.css', 'screen' );
-               $out->addStyle( 'modern/print.css', 'print' );
-       }
-}
-
-/**
- * @todo document
- * @ingroup Skins
- */
-class ModernTemplate extends QuickTemplate {
-       var $skin;
-       /**
-        * Template filter callback for Modern skin.
-        * Takes an associative array of data set from a SkinTemplate-based
-        * class, and a wrapper for MediaWiki's localization database, and
-        * outputs a formatted page.
-        *
-        * @access private
-        */
-       function execute() {
-               global $wgRequest;
-               $this->skin = $skin = $this->data['skin'];
-               $action = $wgRequest->getText( 'action' );
-
-               // Suppress warnings to prevent notices about missing indexes in $this->data
-               wfSuppressWarnings();
-
-?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="<?php $this->text('xhtmldefaultnamespace') ?>" <?php 
-       foreach($this->data['xhtmlnamespaces'] as $tag => $ns) {
-               ?>xmlns:<?php echo "{$tag}=\"{$ns}\" ";
-       } ?>xml:lang="<?php $this->text('lang') ?>" lang="<?php $this->text('lang') ?>" dir="<?php $this->text('dir') ?>">
-       <head>
-               <meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />
-               <?php $this->html('headlinks') ?>
-               <title><?php $this->text('pagetitle') ?></title>
-               <?php $this->html('csslinks') ?>
-               <!--[if lt IE 7]><meta http-equiv="imagetoolbar" content="no" /><![endif]-->
-               
-               <?php print Skin::makeGlobalVariablesScript( $this->data ); ?>
-                
-               <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath' ) ?>/common/wikibits.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"><!-- wikibits js --></script>
-               <!-- Head Scripts -->
-<?php $this->html('headscripts') ?>
-<?php  if($this->data['jsvarurl'  ]) { ?>
-               <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('jsvarurl'  ) ?>"><!-- site js --></script>
-<?php  } ?>
-<?php  if($this->data['pagecss'   ]) { ?>
-               <style type="text/css"><?php $this->html('pagecss'   ) ?></style>
-<?php  }
-               if($this->data['usercss'   ]) { ?>
-               <style type="text/css"><?php $this->html('usercss'   ) ?></style>
-<?php  }
-               if($this->data['userjs'    ]) { ?>
-               <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('userjs' ) ?>"></script>
-<?php  }
-               if($this->data['userjsprev']) { ?>
-               <script type="<?php $this->text('jsmimetype') ?>"><?php $this->html('userjsprev') ?></script>
-<?php  }
-               if($this->data['trackbackhtml']) print $this->data['trackbackhtml']; ?>
-       </head>
-<body<?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>
-<?php if($this->data['body_onload'    ]) { ?> onload="<?php     $this->text('body_onload')     ?>"<?php } ?>
- class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>">
-
-       <!-- heading -->
-       <div id="mw_header"><h1 id="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1></div>
-
-       <div id="mw_main">
-       <div id="mw_contentwrapper">
-       <!-- navigation portlet -->
-       <div id="p-cactions" class="portlet">
-               <h5><?php $this->msg('views') ?></h5>
-               <div class="pBody">
-                       <ul>
-       <?php           foreach($this->data['content_actions'] as $key => $tab) {
-                                       echo '
-                                <li id="ca-' . Sanitizer::escapeId($key).'"';
-                                       if( $tab['class'] ) {
-                                               echo ' class="'.htmlspecialchars($tab['class']).'"';
-                                       }
-                                       echo'><a href="'.htmlspecialchars($tab['href']).'"';
-                                       # We don't want to give the watch tab an accesskey if the
-                                       # page is being edited, because that conflicts with the
-                                       # accesskey on the watch checkbox.  We also don't want to
-                                       # give the edit tab an accesskey, because that's fairly su-
-                                       # perfluous and conflicts with an accesskey (Ctrl-E) often
-                                       # used for editing in Safari.
-                                       if( in_array( $action, array( 'edit', 'submit' ) )
-                                       && in_array( $key, array( 'edit', 'watch', 'unwatch' ))) {
-                                               echo $skin->tooltip( "ca-$key" );
-                                       } else {
-                                               echo $skin->tooltipAndAccesskey( "ca-$key" );
-                                       }
-                                       echo '>'.htmlspecialchars($tab['text']).'</a></li>';
-                               } ?>
-                       </ul>
-               </div>
-       </div>
-
-       <!-- content -->
-       <div id="mw_content">
-       <!-- contentholder does nothing by default, but it allows users to style the text inside
-            the content area without affecting the meaning of 'em' in #mw_content, which is used
-            for the margins -->
-       <div id="mw_contentholder">
-               <div class='mw-topboxes'>
-                       <div class="mw-topbox" id="siteSub"><?php $this->msg('tagline') ?></div>
-                       <?php if($this->data['newtalk'] ) {
-                               ?><div class="usermessage mw-topbox"><?php $this->html('newtalk')  ?></div>
-                       <?php } ?>
-                       <?php if($this->data['sitenotice']) {
-                               ?><div class="mw-topbox" id="siteNotice"><?php $this->html('sitenotice') ?></div>
-                       <?php } ?>
-               </div>
-
-               <div id="contentSub"><?php $this->html('subtitle') ?></div>
-
-               <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php     $this->html('undelete') ?></div><?php } ?>
-               <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#mw_portlets"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>
-
-               <?php $this->html('bodytext') ?>
-               <div class='mw_clear'></div>
-               <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
-               <?php $this->html ('dataAfterContent') ?>
-       </div><!-- mw_contentholder -->
-       </div><!-- mw_content -->
-       </div><!-- mw_contentwrapper -->
-
-       <div id="mw_portlets">
-
-       <!-- portlets -->
-       <?php 
-               $sidebar = $this->data['sidebar'];              
-               if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;
-               if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;
-               if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;
-
-               foreach ($sidebar as $boxName => $cont) {
-                       if ( $boxName == 'SEARCH' ) {
-                               $this->searchBox();
-                       } elseif ( $boxName == 'TOOLBOX' ) {
-                               $this->toolbox();
-                       } elseif ( $boxName == 'LANGUAGES' ) {
-                               $this->languageBox();
-                       } else {
-                               $this->customBox( $boxName, $cont );
-                       }
-               }
-       ?>
-
-       </div><!-- mw_portlets -->
-
-
-       </div><!-- main -->
-
-       <div class="mw_clear"></div>
-
-       <!-- personal portlet -->
-       <div class="portlet" id="p-personal">
-               <h5><?php $this->msg('personaltools') ?></h5>
-               <div class="pBody">
-                       <ul>
-<?php                  foreach($this->data['personal_urls'] as $key => $item) { ?>
-                               <li id="pt-<?php echo Sanitizer::escapeId($key) ?>"<?php
-                                       if ($item['active']) { ?> class="active"<?php } ?>><a href="<?php
-                               echo htmlspecialchars($item['href']) ?>"<?php echo $skin->tooltipAndAccesskey('pt-'.$key) ?><?php
-                               if(!empty($item['class'])) { ?> class="<?php
-                               echo htmlspecialchars($item['class']) ?>"<?php } ?>><?php
-                               echo htmlspecialchars($item['text']) ?></a></li>
-<?php                  } ?>
-                       </ul>
-               </div>
-       </div>
-
-
-       <!-- footer --> 
-       <div id="footer">
-                       <ul id="f-list">
-<?php
-               $footerlinks = array(
-                       'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
-                       'privacy', 'about', 'disclaimer', 'tagline',
-               );
-               foreach( $footerlinks as $aLink ) {
-                       if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
-?>                             <li id="<?php echo$aLink?>"><?php $this->html($aLink) ?></li>
-<?php          }
-               }
-?>
-                       </ul>
-               <?php echo $this->html("poweredbyico"); ?>
-       </div>
-
-       <?php $this->html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?>
-<?php $this->html('reporttime') ?>
-<?php if ( $this->data['debug'] ): ?>
-<!-- Debug output:
-<?php $this->text( 'debug' ); ?>
--->
-<?php endif; ?>
-</body></html>
-<?php
-       wfRestoreWarnings();
-       } // end of execute() method
-
-       /*************************************************************************************************/
-       function searchBox() {
-?>
-       <!-- search -->
-       <div id="p-search" class="portlet">
-               <h5><label for="searchInput"><?php $this->msg('search') ?></label></h5>
-               <div id="searchBody" class="pBody">
-                       <form action="<?php $this->text('searchaction') ?>" id="searchform"><div>
-                               <input id="searchInput" name="search" type="text"<?php echo $this->skin->tooltipAndAccesskey('search');
-                                       if( isset( $this->data['search'] ) ) {
-                                               ?> value="<?php $this->text('search') ?>"<?php } ?> />
-                               <input type='submit' name="go" class="searchButton" id="searchGoButton" value="<?php $this->msg('searcharticle') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-go' ); ?> />&nbsp;
-                               <input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="<?php $this->msg('searchbutton') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-fulltext' ); ?> />
-                       </div></form>
-               </div><!-- pBody -->
-       </div><!-- portlet -->
-<?php
-       }
-
-       /*************************************************************************************************/
-       function toolbox() {
-?>
-       <!-- toolbox -->
-       <div class="portlet" id="p-tb">
-               <h5><?php $this->msg('toolbox') ?></h5>
-               <div class="pBody">
-                       <ul>
-<?php
-               if($this->data['notspecialpage']) { ?>
-                               <li id="t-whatlinkshere"><a href="<?php
-                               echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href'])
-                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-whatlinkshere') ?>><?php $this->msg('whatlinkshere') ?></a></li>
-<?php
-                       if( $this->data['nav_urls']['recentchangeslinked'] ) { ?>
-                               <li id="t-recentchangeslinked"><a href="<?php
-                               echo htmlspecialchars($this->data['nav_urls']['recentchangeslinked']['href'])
-                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-recentchangeslinked') ?>><?php $this->msg('recentchangeslinked') ?></a></li>
-<?php          }
-               }
-               if(isset($this->data['nav_urls']['trackbacklink'])) { ?>
-                       <li id="t-trackbacklink"><a href="<?php
-                               echo htmlspecialchars($this->data['nav_urls']['trackbacklink']['href'])
-                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-trackbacklink') ?>><?php $this->msg('trackbacklink') ?></a></li>
-<?php  }
-               if($this->data['feeds']) { ?>
-                       <li id="feedlinks"><?php foreach($this->data['feeds'] as $key => $feed) {
-                                       ?><span id="feed-<?php echo Sanitizer::escapeId($key) ?>"><a href="<?php
-                                       echo htmlspecialchars($feed['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a>&nbsp;</span>
-                                       <?php } ?></li><?php
-               }
-
-               foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {
-
-                       if($this->data['nav_urls'][$special]) {
-                               ?><li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars($this->data['nav_urls'][$special]['href'])
-                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-'.$special) ?>><?php $this->msg($special) ?></a></li>
-<?php          }
-               }
-
-               if(!empty($this->data['nav_urls']['print']['href'])) { ?>
-                               <li id="t-print"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['print']['href'])
-                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-print') ?>><?php $this->msg('printableversion') ?></a></li><?php
-               }
-
-               if(!empty($this->data['nav_urls']['permalink']['href'])) { ?>
-                               <li id="t-permalink"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['permalink']['href'])
-                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php
-               } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?>
-                               <li id="t-ispermalink"<?php echo $this->skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php
-               }
-
-               wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) );
-?>                     </ul>
-               </div><!-- pBody -->
-       </div><!-- portlet -->
-<?php
-       }
-
-       /*************************************************************************************************/
-       function languageBox() {
-?>
-       <!-- languages -->
-<?php
-               if( $this->data['language_urls'] ) { ?>
-       <div id="p-lang" class="portlet">
-               <h5><?php $this->msg('otherlanguages') ?></h5>
-               <div class="pBody">
-                       <ul>
-<?php          foreach($this->data['language_urls'] as $langlink) { ?>
-                               <li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php
-                               ?><a href="<?php echo htmlspecialchars($langlink['href']) ?>"><?php echo $langlink['text'] ?></a></li>
-<?php          } ?>
-                       </ul>
-               </div><!-- pBody -->
-       </div><!-- portlet -->
-<?php
-               }
-       }
-
-       /*************************************************************************************************/
-       function customBox( $bar, $cont ) {
-?>
-               <div class='generated-sidebar portlet' id='p-<?php echo Sanitizer::escapeId($bar) ?>'<?php echo $this->skin->tooltip('p-'.$bar) ?>>
-               <h5><?php $out = wfMsg( $bar ); if (wfEmptyMsg($bar, $out)) echo $bar; else echo $out; ?></h5>
-               <div class='pBody'>
-<?php   if ( is_array( $cont ) ) { ?>
-                       <ul>
-<?php                  foreach($cont as $key => $val) { ?>
-                               <li id="<?php echo Sanitizer::escapeId($val['id']) ?>"<?php
-                                       if ( $val['active'] ) { ?> class="active" <?php }
-                               ?>><a href="<?php echo htmlspecialchars($val['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?></a></li>
-<?php                  } ?>
-                       </ul>
-<?php   } else {
-                       # allow raw HTML block to be defined by extensions
-                       print $cont;
-               } 
-?>
-               </div><!-- pBody -->
-       </div><!-- portlet -->
-<?php
-       }
-
-} // end of class
-?>
+<?php\r
+/**\r
+ * Modern skin, derived from monobook template.\r
+ *\r
+ * @todo document\r
+ * @file\r
+ * @ingroup Skins\r
+ */\r
+\r
+if( !defined( 'MEDIAWIKI' ) )\r
+       die( -1 );\r
+\r
+/**\r
+ * Inherit main code from SkinTemplate, set the CSS and template filter.\r
+ * @todo document\r
+ * @ingroup Skins\r
+ */\r
+class SkinModern extends SkinTemplate {\r
+       /*\r
+        * We don't like the default getPoweredBy, the icon clashes with the \r
+        * skin L&F.\r
+        */\r
+       function getPoweredBy() {\r
+               global  $wgVersion;\r
+               return "<div class='mw_poweredby'>Powered by MediaWiki $wgVersion</div>";\r
+       }\r
+\r
+       function initPage( OutputPage $out ) {\r
+               parent::initPage( $out );\r
+               $this->skinname  = 'modern';\r
+               $this->stylename = 'modern';\r
+               $this->template  = 'ModernTemplate';\r
+       }\r
+       \r
+       function setupSkinUserCss( OutputPage $out ){\r
+               // Do not call parent::setupSkinUserCss(), we have our own print style\r
+               $out->addStyle( 'common/shared.css', 'screen' );\r
+               $out->addStyle( 'modern/main.css', 'screen' );\r
+               $out->addStyle( 'modern/print.css', 'print' );\r
+               $out->addStyle( 'modern/rtl.css', 'screen', '', 'rtl' );\r
+       }\r
+}\r
+\r
+/**\r
+ * @todo document\r
+ * @ingroup Skins\r
+ */\r
+class ModernTemplate extends QuickTemplate {\r
+       var $skin;\r
+       /**\r
+        * Template filter callback for Modern skin.\r
+        * Takes an associative array of data set from a SkinTemplate-based\r
+        * class, and a wrapper for MediaWiki's localization database, and\r
+        * outputs a formatted page.\r
+        *\r
+        * @access private\r
+        */\r
+       function execute() {\r
+               global $wgRequest;\r
+               $this->skin = $skin = $this->data['skin'];\r
+               $action = $wgRequest->getText( 'action' );\r
+\r
+               // Suppress warnings to prevent notices about missing indexes in $this->data\r
+               wfSuppressWarnings();\r
+\r
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<html xmlns="<?php $this->text('xhtmldefaultnamespace') ?>" <?php \r
+       foreach($this->data['xhtmlnamespaces'] as $tag => $ns) {\r
+               ?>xmlns:<?php echo "{$tag}=\"{$ns}\" ";\r
+       } ?>xml:lang="<?php $this->text('lang') ?>" lang="<?php $this->text('lang') ?>" dir="<?php $this->text('dir') ?>">\r
+       <head>\r
+               <meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />\r
+               <?php $this->html('headlinks') ?>\r
+               <title><?php $this->text('pagetitle') ?></title>\r
+               <?php $this->html('csslinks') ?>\r
+               <!--[if lt IE 7]><meta http-equiv="imagetoolbar" content="no" /><![endif]-->\r
+               \r
+               <?php print Skin::makeGlobalVariablesScript( $this->data ); ?>\r
+                \r
+               <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath' ) ?>/common/wikibits.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"><!-- wikibits js --></script>\r
+               <!-- Head Scripts -->\r
+<?php $this->html('headscripts') ?>\r
+<?php  if($this->data['jsvarurl'  ]) { ?>\r
+               <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('jsvarurl'  ) ?>"><!-- site js --></script>\r
+<?php  } ?>\r
+<?php  if($this->data['pagecss'   ]) { ?>\r
+               <style type="text/css"><?php $this->html('pagecss'   ) ?></style>\r
+<?php  }\r
+               if($this->data['usercss'   ]) { ?>\r
+               <style type="text/css"><?php $this->html('usercss'   ) ?></style>\r
+<?php  }\r
+               if($this->data['userjs'    ]) { ?>\r
+               <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('userjs' ) ?>"></script>\r
+<?php  }\r
+               if($this->data['userjsprev']) { ?>\r
+               <script type="<?php $this->text('jsmimetype') ?>"><?php $this->html('userjsprev') ?></script>\r
+<?php  }\r
+               if($this->data['trackbackhtml']) print $this->data['trackbackhtml']; ?>\r
+       </head>\r
+<body<?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>\r
+<?php if($this->data['body_onload'    ]) { ?> onload="<?php     $this->text('body_onload')     ?>"<?php } ?>\r
+ class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>">\r
+\r
+       <!-- heading -->\r
+       <div id="mw_header"><h1 id="firstHeading"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></h1></div>\r
+\r
+       <div id="mw_main">\r
+       <div id="mw_contentwrapper">\r
+       <!-- navigation portlet -->\r
+       <div id="p-cactions" class="portlet">\r
+               <h5><?php $this->msg('views') ?></h5>\r
+               <div class="pBody">\r
+                       <ul>\r
+       <?php           foreach($this->data['content_actions'] as $key => $tab) {\r
+                                       echo '\r
+                                <li id="ca-' . Sanitizer::escapeId($key).'"';\r
+                                       if( $tab['class'] ) {\r
+                                               echo ' class="'.htmlspecialchars($tab['class']).'"';\r
+                                       }\r
+                                       echo'><a href="'.htmlspecialchars($tab['href']).'"';\r
+                                       # We don't want to give the watch tab an accesskey if the\r
+                                       # page is being edited, because that conflicts with the\r
+                                       # accesskey on the watch checkbox.  We also don't want to\r
+                                       # give the edit tab an accesskey, because that's fairly su-\r
+                                       # perfluous and conflicts with an accesskey (Ctrl-E) often\r
+                                       # used for editing in Safari.\r
+                                       if( in_array( $action, array( 'edit', 'submit' ) )\r
+                                       && in_array( $key, array( 'edit', 'watch', 'unwatch' ))) {\r
+                                               echo $skin->tooltip( "ca-$key" );\r
+                                       } else {\r
+                                               echo $skin->tooltipAndAccesskey( "ca-$key" );\r
+                                       }\r
+                                       echo '>'.htmlspecialchars($tab['text']).'</a></li>';\r
+                               } ?>\r
+                       </ul>\r
+               </div>\r
+       </div>\r
+\r
+       <!-- content -->\r
+       <div id="mw_content">\r
+       <!-- contentholder does nothing by default, but it allows users to style the text inside\r
+            the content area without affecting the meaning of 'em' in #mw_content, which is used\r
+            for the margins -->\r
+       <div id="mw_contentholder">\r
+               <div class='mw-topboxes'>\r
+                       <div class="mw-topbox" id="siteSub"><?php $this->msg('tagline') ?></div>\r
+                       <?php if($this->data['newtalk'] ) {\r
+                               ?><div class="usermessage mw-topbox"><?php $this->html('newtalk')  ?></div>\r
+                       <?php } ?>\r
+                       <?php if($this->data['sitenotice']) {\r
+                               ?><div class="mw-topbox" id="siteNotice"><?php $this->html('sitenotice') ?></div>\r
+                       <?php } ?>\r
+               </div>\r
+\r
+               <div id="contentSub"><?php $this->html('subtitle') ?></div>\r
+\r
+               <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php     $this->html('undelete') ?></div><?php } ?>\r
+               <?php if($this->data['showjumplinks']) { ?><div id="jump-to-nav"><?php $this->msg('jumpto') ?> <a href="#mw_portlets"><?php $this->msg('jumptonavigation') ?></a>, <a href="#searchInput"><?php $this->msg('jumptosearch') ?></a></div><?php } ?>\r
+\r
+               <?php $this->html('bodytext') ?>\r
+               <div class='mw_clear'></div>\r
+               <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>\r
+               <?php $this->html ('dataAfterContent') ?>\r
+       </div><!-- mw_contentholder -->\r
+       </div><!-- mw_content -->\r
+       </div><!-- mw_contentwrapper -->\r
+\r
+       <div id="mw_portlets">\r
+\r
+       <!-- portlets -->\r
+       <?php \r
+               $sidebar = $this->data['sidebar'];              \r
+               if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true;\r
+               if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true;\r
+               if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true;\r
+\r
+               foreach ($sidebar as $boxName => $cont) {\r
+                       if ( $boxName == 'SEARCH' ) {\r
+                               $this->searchBox();\r
+                       } elseif ( $boxName == 'TOOLBOX' ) {\r
+                               $this->toolbox();\r
+                       } elseif ( $boxName == 'LANGUAGES' ) {\r
+                               $this->languageBox();\r
+                       } else {\r
+                               $this->customBox( $boxName, $cont );\r
+                       }\r
+               }\r
+       ?>\r
+\r
+       </div><!-- mw_portlets -->\r
+\r
+\r
+       </div><!-- main -->\r
+\r
+       <div class="mw_clear"></div>\r
+\r
+       <!-- personal portlet -->\r
+       <div class="portlet" id="p-personal">\r
+               <h5><?php $this->msg('personaltools') ?></h5>\r
+               <div class="pBody">\r
+                       <ul>\r
+<?php                  foreach($this->data['personal_urls'] as $key => $item) { ?>\r
+                               <li id="pt-<?php echo Sanitizer::escapeId($key) ?>"<?php\r
+                                       if ($item['active']) { ?> class="active"<?php } ?>><a href="<?php\r
+                               echo htmlspecialchars($item['href']) ?>"<?php echo $skin->tooltipAndAccesskey('pt-'.$key) ?><?php\r
+                               if(!empty($item['class'])) { ?> class="<?php\r
+                               echo htmlspecialchars($item['class']) ?>"<?php } ?>><?php\r
+                               echo htmlspecialchars($item['text']) ?></a></li>\r
+<?php                  } ?>\r
+                       </ul>\r
+               </div>\r
+       </div>\r
+\r
+\r
+       <!-- footer --> \r
+       <div id="footer">\r
+                       <ul id="f-list">\r
+<?php\r
+               $footerlinks = array(\r
+                       'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',\r
+                       'privacy', 'about', 'disclaimer', 'tagline',\r
+               );\r
+               foreach( $footerlinks as $aLink ) {\r
+                       if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {\r
+?>                             <li id="<?php echo$aLink?>"><?php $this->html($aLink) ?></li>\r
+<?php          }\r
+               }\r
+?>\r
+                       </ul>\r
+               <?php echo $this->html("poweredbyico"); ?>\r
+       </div>\r
+\r
+       <?php $this->html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?>\r
+<?php $this->html('reporttime') ?>\r
+<?php if ( $this->data['debug'] ): ?>\r
+<!-- Debug output:\r
+<?php $this->text( 'debug' ); ?>\r
+-->\r
+<?php endif; ?>\r
+</body></html>\r
+<?php\r
+       wfRestoreWarnings();\r
+       } // end of execute() method\r
+\r
+       /*************************************************************************************************/\r
+       function searchBox() {\r
+?>\r
+       <!-- search -->\r
+       <div id="p-search" class="portlet">\r
+               <h5><label for="searchInput"><?php $this->msg('search') ?></label></h5>\r
+               <div id="searchBody" class="pBody">\r
+                       <form action="<?php $this->text('searchaction') ?>" id="searchform"><div>\r
+                               <input id="searchInput" name="search" type="text"<?php echo $this->skin->tooltipAndAccesskey('search');\r
+                                       if( isset( $this->data['search'] ) ) {\r
+                                               ?> value="<?php $this->text('search') ?>"<?php } ?> />\r
+                               <input type='submit' name="go" class="searchButton" id="searchGoButton" value="<?php $this->msg('searcharticle') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-go' ); ?> />&nbsp;\r
+                               <input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="<?php $this->msg('searchbutton') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-fulltext' ); ?> />\r
+                       </div></form>\r
+               </div><!-- pBody -->\r
+       </div><!-- portlet -->\r
+<?php\r
+       }\r
+\r
+       /*************************************************************************************************/\r
+       function toolbox() {\r
+?>\r
+       <!-- toolbox -->\r
+       <div class="portlet" id="p-tb">\r
+               <h5><?php $this->msg('toolbox') ?></h5>\r
+               <div class="pBody">\r
+                       <ul>\r
+<?php\r
+               if($this->data['notspecialpage']) { ?>\r
+                               <li id="t-whatlinkshere"><a href="<?php\r
+                               echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href'])\r
+                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-whatlinkshere') ?>><?php $this->msg('whatlinkshere') ?></a></li>\r
+<?php\r
+                       if( $this->data['nav_urls']['recentchangeslinked'] ) { ?>\r
+                               <li id="t-recentchangeslinked"><a href="<?php\r
+                               echo htmlspecialchars($this->data['nav_urls']['recentchangeslinked']['href'])\r
+                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-recentchangeslinked') ?>><?php $this->msg('recentchangeslinked') ?></a></li>\r
+<?php          }\r
+               }\r
+               if(isset($this->data['nav_urls']['trackbacklink'])) { ?>\r
+                       <li id="t-trackbacklink"><a href="<?php\r
+                               echo htmlspecialchars($this->data['nav_urls']['trackbacklink']['href'])\r
+                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-trackbacklink') ?>><?php $this->msg('trackbacklink') ?></a></li>\r
+<?php  }\r
+               if($this->data['feeds']) { ?>\r
+                       <li id="feedlinks"><?php foreach($this->data['feeds'] as $key => $feed) {\r
+                                       ?><span id="feed-<?php echo Sanitizer::escapeId($key) ?>"><a href="<?php\r
+                                       echo htmlspecialchars($feed['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a>&nbsp;</span>\r
+                                       <?php } ?></li><?php\r
+               }\r
+\r
+               foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {\r
+\r
+                       if($this->data['nav_urls'][$special]) {\r
+                               ?><li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars($this->data['nav_urls'][$special]['href'])\r
+                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-'.$special) ?>><?php $this->msg($special) ?></a></li>\r
+<?php          }\r
+               }\r
+\r
+               if(!empty($this->data['nav_urls']['print']['href'])) { ?>\r
+                               <li id="t-print"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['print']['href'])\r
+                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-print') ?>><?php $this->msg('printableversion') ?></a></li><?php\r
+               }\r
+\r
+               if(!empty($this->data['nav_urls']['permalink']['href'])) { ?>\r
+                               <li id="t-permalink"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['permalink']['href'])\r
+                               ?>"<?php echo $this->skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php\r
+               } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?>\r
+                               <li id="t-ispermalink"<?php echo $this->skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php\r
+               }\r
+\r
+               wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) );\r
+?>                     </ul>\r
+               </div><!-- pBody -->\r
+       </div><!-- portlet -->\r
+<?php\r
+       }\r
+\r
+       /*************************************************************************************************/\r
+       function languageBox() {\r
+?>\r
+       <!-- languages -->\r
+<?php\r
+               if( $this->data['language_urls'] ) { ?>\r
+       <div id="p-lang" class="portlet">\r
+               <h5><?php $this->msg('otherlanguages') ?></h5>\r
+               <div class="pBody">\r
+                       <ul>\r
+<?php          foreach($this->data['language_urls'] as $langlink) { ?>\r
+                               <li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php\r
+                               ?><a href="<?php echo htmlspecialchars($langlink['href']) ?>"><?php echo $langlink['text'] ?></a></li>\r
+<?php          } ?>\r
+                       </ul>\r
+               </div><!-- pBody -->\r
+       </div><!-- portlet -->\r
+<?php\r
+               }\r
+       }\r
+\r
+       /*************************************************************************************************/\r
+       function customBox( $bar, $cont ) {\r
+?>\r
+               <div class='generated-sidebar portlet' id='p-<?php echo Sanitizer::escapeId($bar) ?>'<?php echo $this->skin->tooltip('p-'.$bar) ?>>\r
+               <h5><?php $out = wfMsg( $bar ); if (wfEmptyMsg($bar, $out)) echo $bar; else echo $out; ?></h5>\r
+               <div class='pBody'>\r
+<?php   if ( is_array( $cont ) ) { ?>\r
+                       <ul>\r
+<?php                  foreach($cont as $key => $val) { ?>\r
+                               <li id="<?php echo Sanitizer::escapeId($val['id']) ?>"<?php\r
+                                       if ( $val['active'] ) { ?> class="active" <?php }\r
+                               ?>><a href="<?php echo htmlspecialchars($val['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?></a></li>\r
+<?php                  } ?>\r
+                       </ul>\r
+<?php   } else {\r
+                       # allow raw HTML block to be defined by extensions\r
+                       print $cont;\r
+               } \r
+?>\r
+               </div><!-- pBody -->\r
+       </div><!-- portlet -->\r
+<?php\r
+       }\r
+\r
+} // end of class\r
+?>\r
index a9eca51..d7aae76 100644 (file)
@@ -100,7 +100,7 @@ table.filehistory th {
        margin: 0 -15em 0 0;
        float: left;
 }
-       
+
 #mw_content {
        margin: 0 14em 0 0;
        border-left: none;
@@ -142,6 +142,12 @@ table.filehistory th {
 html > body div#mw_contentholder ul {
        display: table;
 }
+html > body div#mw_contentholder ul li {
+       margin-right:10px;
+}
+html > body div.pBody ul li {
+       margin-right:4px;
+}
 html > body div#mw_contentholder ul#filetoc {
        display: block;
 }