diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2011-12-03 13:29:22 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2011-12-03 13:29:22 +0100 |
commit | ca32f08966f1b51fcb19460f0996bb0c4048e6fe (patch) | |
tree | ec04cc15b867bc21eedca904cea9af0254531a11 /skins/Standard.php | |
parent | a22fbfc60f36f5f7ee10d5ae6fe347340c2ee67c (diff) |
Update to MediaWiki 1.18.0
* also update ArchLinux skin to chagnes in MonoBook
* Use only css to hide our menu bar when printing
Diffstat (limited to 'skins/Standard.php')
-rw-r--r-- | skins/Standard.php | 149 |
1 files changed, 72 insertions, 77 deletions
diff --git a/skins/Standard.php b/skins/Standard.php index 2ea6896d..8ae4b3b1 100644 --- a/skins/Standard.php +++ b/skins/Standard.php @@ -14,38 +14,42 @@ if( !defined( 'MEDIAWIKI' ) ) { * @todo document * @ingroup Skins */ -class SkinStandard extends Skin { +class SkinStandard extends SkinLegacy { + var $skinname = 'standard', $stylename = 'standard', + $template = 'StandardTemplate'; - /** - * - */ function setupSkinUserCss( OutputPage $out ){ - global $wgContLang; + parent::setupSkinUserCss( $out ); + $out->AddModuleStyles( 'skins.standard' ); + $qb = $this->qbSetting(); $rules = array(); if ( 2 == $qb ) { # Right - $rules[] = "#quickbar { position: absolute; top: 4px; right: 4px; border-left: 2px solid #000000; }"; - $rules[] = "#article, #mw-data-after-content { margin-left: 4px; margin-right: 152px; }"; + $rules[] = "/* @noflip */#quickbar { position: absolute; top: 4px; right: 4px; border-left: 2px solid #000000; }"; + $rules[] = "/* @noflip */#article, #mw-data-after-content { margin-left: 4px; margin-right: 152px; }"; + $rules[] = "/* @noflip */#topbar, #footer { margin-right: 152px; }"; } elseif ( 1 == $qb || 3 == $qb ) { - $rules[] = "#quickbar { position: absolute; top: 4px; left: 4px; border-right: 1px solid gray; }"; - $rules[] = "#article, #mw-data-after-content { margin-left: 152px; margin-right: 4px; }"; + $rules[] = "/* @noflip */#quickbar { position: absolute; top: 4px; left: 4px; border-right: 1px solid gray; }"; + $rules[] = "/* @noflip */#article, #mw-data-after-content { margin-left: 152px; margin-right: 4px; }"; + $rules[] = "/* @noflip */#topbar, #footer { margin-left: 152px; }"; if( 3 == $qb ) { - $rules[] = "#quickbar { position: fixed; padding: 4px; }"; + $rules[] = "/* @noflip */#quickbar { position: fixed; padding: 4px; }"; } } elseif ( 4 == $qb ) { - $rules[] = "#quickbar { position: fixed; right: 0px; top: 0px; padding: 4px;}"; - $rules[] = "#quickbar { border-right: 1px solid gray; }"; - $rules[] = "#article, #mw-data-after-content { margin-right: 152px; margin-left: 4px; }"; + $rules[] = "/* @noflip */#quickbar { position: fixed; right: 0px; top: 0px; padding: 4px;}"; + $rules[] = "/* @noflip */#quickbar { border-right: 1px solid gray; }"; + $rules[] = "/* @noflip */#article, #mw-data-after-content { margin-right: 152px; margin-left: 4px; }"; + $rules[] = "/* @noflip */#topbar, #footer { margin-right: 152px; }"; } $style = implode( "\n", $rules ); - if ( $wgContLang->getDir() === 'rtl' ) { - $style = CSSJanus::transform( $style, true, false ); - } - $out->addInlineStyle( $style ); - parent::setupSkinUserCss( $out ); + $out->addInlineStyle( $style, 'flip' ); } +} + +class StandardTemplate extends LegacyTemplate { + function doAfterContent() { global $wgContLang, $wgLang; wfProfileIn( __METHOD__ ); @@ -57,42 +61,26 @@ class SkinStandard extends Skin { wfProfileOut( __METHOD__ . '-1' ); wfProfileIn( __METHOD__ . '-2' ); - - $qb = $this->qbSetting(); - $shove = ( $qb != 0 ); - $left = ( $qb == 1 || $qb == 3 ); - if( $wgContLang->isRTL() ) { - $left = !$left; - } - - if ( $shove && $left ) { # Left - $s .= $this->getQuickbarCompensator(); - } - wfProfileOut( __METHOD__ . '-2' ); - wfProfileIn( __METHOD__ . '-3' ); - $l = $wgContLang->alignStart(); + $l = $this->getSkin()->getLang()->alignStart(); $s .= "<td class='bottom' align='$l' valign='top'>"; $s .= $this->bottomLinks(); $s .= "\n<br />" . $wgLang->pipeList( array( - $this->mainPageLink(), - $this->aboutLink(), - $this->specialLink( 'Recentchanges' ), + $this->getSkin()->mainPageLink(), + $this->getSkin()->aboutLink(), + Linker::specialLink( 'Recentchanges' ), $this->searchForm() ) ) . '<br /><span id="pagestats">' . $this->pageStats() . '</span>'; $s .= '</td>'; - if ( $shove && !$left ) { # Right - $s .= $this->getQuickbarCompensator(); - } $s .= "</tr></table>\n</div>\n</div>\n"; - wfProfileOut( __METHOD__ . '-3' ); - wfProfileIn( __METHOD__ . '-4' ); - if ( 0 != $qb ) { + wfProfileOut( __METHOD__ . '-2' ); + wfProfileIn( __METHOD__ . '-3' ); + if ( $this->getSkin()->qbSetting() != 0 ) { $s .= $this->quickBar(); } - wfProfileOut( __METHOD__ . '-4' ); + wfProfileOut( __METHOD__ . '-3' ); wfProfileOut( __METHOD__ ); return $s; } @@ -104,39 +92,49 @@ class SkinStandard extends Skin { $action = $wgRequest->getText( 'action' ); $wpPreview = $wgRequest->getBool( 'wpPreview' ); - $tns = $this->mTitle->getNamespace(); + $tns = $this->getSkin()->getTitle()->getNamespace(); $s = "\n<div id='quickbar'>"; - $s .= "\n" . $this->logoText() . "\n<hr class='sep' />"; + $s .= "\n" . $this->getSkin()->logoText() . "\n<hr class='sep' />"; $sep = "\n<br />"; # Use the first heading from the Monobook sidebar as the "browse" section - $bar = $this->buildSidebar(); + $bar = $this->getSkin()->buildSidebar(); unset( $bar['SEARCH'] ); unset( $bar['LANGUAGES'] ); unset( $bar['TOOLBOX'] ); - $browseLinks = reset( $bar ); - foreach ( $browseLinks as $link ) { - if ( $link['text'] != '-' ) { - $s .= "<a href=\"{$link['href']}\">" . - htmlspecialchars( $link['text'] ) . '</a>' . $sep; + $barnumber = 1; + foreach ( $bar as $browseLinks ) { + if ( is_array( $browseLinks ) ) { + if ( $barnumber > 1 ) { + $s .= "\n<hr class='sep' />"; + } + foreach ( $browseLinks as $link ) { + if ( $link['text'] != '-' ) { + $s .= "<a href=\"{$link['href']}\">" . + htmlspecialchars( $link['text'] ) . '</a>' . $sep; + } + } + } + if ( $barnumber == 1 ) { + // only show watchlist link if logged in + if( $wgUser->isLoggedIn() ) { + $s.= Linker::specialLink( 'Watchlist' ) ; + $s .= $sep . Linker::linkKnown( + SpecialPage::getTitleFor( 'Contributions' ), + wfMsg( 'mycontris' ), + array(), + array( 'target' => $wgUser->getName() ) + ); + } } + $barnumber = $barnumber + 1; } - if( $wgUser->isLoggedIn() ) { - $s.= $this->specialLink( 'Watchlist' ) ; - $s .= $sep . $this->linkKnown( - SpecialPage::getTitleFor( 'Contributions' ), - wfMsg( 'mycontris' ), - array(), - array( 'target' => $wgUser->getName() ) - ); - } - // only show watchlist link if logged in $s .= "\n<hr class='sep' />"; - $articleExists = $this->mTitle->getArticleId(); + $articleExists = $this->getSkin()->getTitle()->getArticleId(); if ( $wgOut->isArticle() || $action == 'edit' || $action == 'history' || $wpPreview ) { if( $wgOut->isArticle() ) { $s .= '<strong>' . $this->editThisPage() . '</strong>'; @@ -181,17 +179,14 @@ class SkinStandard extends Skin { $text = wfMsg( 'articlepage' ); } - $link = $this->mTitle->getText(); + $link = $this->getSkin()->getTitle()->getText(); $nstext = $wgContLang->getNsText( $tns ); if( $nstext ) { # add namespace if necessary $link = $nstext . ':' . $link; } - $s .= $this->link( - Title::newFromText( $link ), - $text - ); - } elseif( $this->mTitle->getNamespace() != NS_SPECIAL ) { + $s .= Linker::link( Title::newFromText( $link ), $text ); + } elseif( $this->getSkin()->getTitle()->getNamespace() != NS_SPECIAL ) { # we just throw in a "New page" text to tell the user that he's in edit mode, # and to avoid messing with the separator that is prepended to the next item $s .= '<strong>' . wfMsg( 'newpage' ) . '</strong>'; @@ -199,9 +194,9 @@ class SkinStandard extends Skin { } # "Post a comment" link - if( ( $this->mTitle->isTalkPage() || $wgOut->showNewSectionLink() ) && $action != 'edit' && !$wpPreview ) - $s .= '<br />' . $this->link( - $this->mTitle, + if( ( $this->getSkin()->getTitle()->isTalkPage() || $wgOut->showNewSectionLink() ) && $action != 'edit' && !$wpPreview ) + $s .= '<br />' . $this->getSkin()->link( + $this->getSkin()->getTitle(), wfMsg( 'postcomment' ), array(), array( @@ -221,7 +216,7 @@ class SkinStandard extends Skin { if( $action != 'edit' && $action != 'submit' ) { $s .= $sep . $this->watchThisPage(); } - if ( $this->mTitle->userCan( 'edit' ) ) + if ( $this->getSkin()->getTitle()->userCan( 'edit' ) ) $s .= $sep . $this->moveThisPage(); } if ( $wgUser->isAllowed( 'delete' ) && $articleExists ) { @@ -239,17 +234,17 @@ class SkinStandard extends Skin { } if ( - NS_USER == $this->mTitle->getNamespace() || - $this->mTitle->getNamespace() == NS_USER_TALK + NS_USER == $this->getSkin()->getTitle()->getNamespace() || + $this->getSkin()->getTitle()->getNamespace() == NS_USER_TALK ) { - $id = User::idFromName( $this->mTitle->getText() ); - $ip = User::isIP( $this->mTitle->getText() ); + $id = User::idFromName( $this->getSkin()->getTitle()->getText() ); + $ip = User::isIP( $this->getSkin()->getTitle()->getText() ); if( $id || $ip ){ $s .= $sep . $this->userContribsLink(); } - if( $this->showEmailUser( $id ) ) { + if( $this->getSkin()->showEmailUser( $id ) ) { $s .= $sep . $this->emailUserLink(); } } @@ -260,7 +255,7 @@ class SkinStandard extends Skin { $s .= $this->getUploadLink() . $sep; } - $s .= $this->specialLink( 'Specialpages' ); + $s .= Linker::specialLink( 'Specialpages' ); global $wgSiteSupportPage; if( $wgSiteSupportPage ) { |