From 25477bf5d637cdb5a1a365d6f8c8359c94577bd7 Mon Sep 17 00:00:00 2001 From: Jens Frank Date: Sun, 3 Oct 2004 11:26:08 +0000 Subject: [PATCH] Moved quickBar from Skin.php to Standard.php, only used by this skin. Make Classic skin use $wgNavigationLinks for navigation sidebar (BUG#419) --- includes/Skin.php | 146 ------------------------------------------- skins/Standard.php | 152 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 146 deletions(-) diff --git a/includes/Skin.php b/includes/Skin.php index 8194e2b46d..b079659144 100644 --- a/includes/Skin.php +++ b/includes/Skin.php @@ -918,152 +918,6 @@ class Skin { return $s; } - function quickBar() { - global $wgOut, $wgTitle, $wgUser, $wgRequest, $wgContLang; - global $wgDisableUploads, $wgRemoteUploads; - - $fname = 'Skin::quickBar'; - wfProfileIn( $fname ); - - $action = $wgRequest->getText( 'action' ); - $wpPreview = $wgRequest->getBool( 'wpPreview' ); - $tns=$wgTitle->getNamespace(); - - $s = "\n
"; - $s .= "\n" . $this->logoText() . "\n
"; - - $sep = "\n
"; - $s .= $this->mainPageLink() - . $sep . $this->specialLink( 'recentchanges' ) - . $sep . $this->specialLink( 'randompage' ); - if ($wgUser->getID()) { - $s.= $sep . $this->specialLink( 'watchlist' ) ; - $s .= $sep .$this->makeKnownLink( $wgContLang->specialPage( 'Contributions' ), - wfMsg( 'mycontris' ), 'target=' . wfUrlencode($wgUser->getName() ) ); - - } - // only show watchlist link if logged in - if ( wfMsgForContent ( 'currentevents' ) != '-' ) - $s .= $sep . $this->makeKnownLink( wfMsgForContent( 'currentevents' ), '' ) ; - $s .= "\n

"; - $articleExists = $wgTitle->getArticleId(); - if ( $wgOut->isArticle() || $action =='edit' || $action =='history' || $wpPreview) { - if($wgOut->isArticle()) { - $s .= '' . $this->editThisPage() . ''; - } else { # backlink to the article in edit or history mode - if($articleExists){ # no backlink if no article - switch($tns) { - case 0: - $text = wfMsg('articlepage'); - break; - case 1: - $text = wfMsg('viewtalkpage'); - break; - case 2: - $text = wfMsg('userpage'); - break; - case 3: - $text = wfMsg('viewtalkpage'); - break; - case 4: - $text = wfMsg('wikipediapage'); - break; - case 5: - $text = wfMsg('viewtalkpage'); - break; - case 6: - $text = wfMsg('imagepage'); - break; - case 7: - $text = wfMsg('viewtalkpage'); - break; - default: - $text= wfMsg('articlepage'); - } - - $link = $wgTitle->getText(); - if ($nstext = $wgContLang->getNsText($tns) ) { # add namespace if necessary - $link = $nstext . ':' . $link ; - } - - $s .= $this->makeLink( $link, $text ); - } elseif( $wgTitle->getNamespace() != Namespace::getSpecial() ) { - # 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 .= '' . wfMsg('newpage') . ''; - } - - } - - - if( $tns%2 && $action!='edit' && !$wpPreview) { - $s.= '
'.$this->makeKnownLink($wgTitle->getPrefixedText(),wfMsg('postcomment'),'action=edit§ion=new'); - } - - /* - watching could cause problems in edit mode: - if user edits article, then loads "watch this article" in background and then saves - article with "Watch this article" checkbox disabled, the article is transparently - unwatched. Therefore we do not show the "Watch this page" link in edit mode - */ - if ( 0 != $wgUser->getID() && $articleExists) { - if($action!='edit' && $action != 'submit' ) - { - $s .= $sep . $this->watchThisPage(); - } - if ( $wgTitle->userCanEdit() ) - $s .= $sep . $this->moveThisPage(); - } - if ( $wgUser->isSysop() and $articleExists ) { - $s .= $sep . $this->deleteThisPage() . - $sep . $this->protectThisPage(); - } - $s .= $sep . $this->talkLink(); - if ($articleExists && $action !='history') { - $s .= $sep . $this->historyLink(); - } - $s.=$sep . $this->whatLinksHere(); - - if($wgOut->isArticleRelated()) { - $s .= $sep . $this->watchPageLinksLink(); - } - - if ( Namespace::getUser() == $wgTitle->getNamespace() - || $wgTitle->getNamespace() == Namespace::getTalk(Namespace::getUser()) - ) { - - $id=User::idFromName($wgTitle->getText()); - $ip=User::isIP($wgTitle->getText()); - - if($id||$ip) { - $s .= $sep . $this->userContribsLink(); - } - if ( 0 != $wgUser->getID() ) { - if($id) { # can only email real users - $s .= $sep . $this->emailUserLink(); - } - } - } - $s .= "\n

"; - } - - if ( 0 != $wgUser->getID() && ( !$wgDisableUploads || $wgRemoteUploads ) ) { - $s .= $this->specialLink( 'upload' ) . $sep; - } - $s .= $this->specialLink( 'specialpages' ) - . $sep . $this->bugReportsLink(); - - global $wgSiteSupportPage; - if( $wgSiteSupportPage ) { - $s .= "\n
' . wfMsg( 'sitesupport' ) . ''; - } - - $s .= "\n
\n"; - wfProfileOut( $fname ); - return $s; - } - function specialPagesList() { global $wgUser, $wgOut, $wgContLang, $wgServer, $wgRedirectScript; require_once('SpecialPage.php'); diff --git a/skins/Standard.php b/skins/Standard.php index bc696484ec..2ffa8f20af 100644 --- a/skins/Standard.php +++ b/skins/Standard.php @@ -127,6 +127,158 @@ class SkinStandard extends Skin { return $s; } + function quickBar() { + global $wgOut, $wgTitle, $wgUser, $wgRequest, $wgContLang; + global $wgDisableUploads, $wgRemoteUploads, $wgNavigationLinks; + + $fname = 'Skin::quickBar'; + wfProfileIn( $fname ); + + $action = $wgRequest->getText( 'action' ); + $wpPreview = $wgRequest->getBool( 'wpPreview' ); + $tns=$wgTitle->getNamespace(); + + $s = "\n
"; + $s .= "\n" . $this->logoText() . "\n
"; + + $sep = "\n
"; + + foreach ( $wgNavigationLinks as $link ) { + $msg = wfMsgForContent( $link['href'] ); + if ( $msg != '-' ) { + $s .= '' . + wfMsg( $link['text'] ) . '' . $sep; + } + } + + + if ($wgUser->getID()) { + $s.= $this->specialLink( 'watchlist' ) ; + $s .= $sep . $this->makeKnownLink( $wgContLang->specialPage( 'Contributions' ), + wfMsg( 'mycontris' ), 'target=' . wfUrlencode($wgUser->getName() ) ); + + } + // only show watchlist link if logged in + $s .= "\n
"; + $articleExists = $wgTitle->getArticleId(); + if ( $wgOut->isArticle() || $action =='edit' || $action =='history' || $wpPreview) { + if($wgOut->isArticle()) { + $s .= '' . $this->editThisPage() . ''; + } else { # backlink to the article in edit or history mode + if($articleExists){ # no backlink if no article + switch($tns) { + case 0: + $text = wfMsg('articlepage'); + break; + case 1: + $text = wfMsg('viewtalkpage'); + break; + case 2: + $text = wfMsg('userpage'); + break; + case 3: + $text = wfMsg('viewtalkpage'); + break; + case 4: + $text = wfMsg('wikipediapage'); + break; + case 5: + $text = wfMsg('viewtalkpage'); + break; + case 6: + $text = wfMsg('imagepage'); + break; + case 7: + $text = wfMsg('viewtalkpage'); + break; + default: + $text= wfMsg('articlepage'); + } + + $link = $wgTitle->getText(); + if ($nstext = $wgContLang->getNsText($tns) ) { # add namespace if necessary + $link = $nstext . ':' . $link ; + } + + $s .= $this->makeLink( $link, $text ); + } elseif( $wgTitle->getNamespace() != Namespace::getSpecial() ) { + # 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 .= '' . wfMsg('newpage') . ''; + } + + } + + + if( $tns%2 && $action!='edit' && !$wpPreview) { + $s.= '
'.$this->makeKnownLink($wgTitle->getPrefixedText(),wfMsg('postcomment'),'action=edit§ion=new'); + } + + /* + watching could cause problems in edit mode: + if user edits article, then loads "watch this article" in background and then saves + article with "Watch this article" checkbox disabled, the article is transparently + unwatched. Therefore we do not show the "Watch this page" link in edit mode + */ + if ( 0 != $wgUser->getID() && $articleExists) { + if($action!='edit' && $action != 'submit' ) + { + $s .= $sep . $this->watchThisPage(); + } + if ( $wgTitle->userCanEdit() ) + $s .= $sep . $this->moveThisPage(); + } + if ( $wgUser->isSysop() and $articleExists ) { + $s .= $sep . $this->deleteThisPage() . + $sep . $this->protectThisPage(); + } + $s .= $sep . $this->talkLink(); + if ($articleExists && $action !='history') { + $s .= $sep . $this->historyLink(); + } + $s.=$sep . $this->whatLinksHere(); + + if($wgOut->isArticleRelated()) { + $s .= $sep . $this->watchPageLinksLink(); + } + + if ( Namespace::getUser() == $wgTitle->getNamespace() + || $wgTitle->getNamespace() == Namespace::getTalk(Namespace::getUser()) + ) { + + $id=User::idFromName($wgTitle->getText()); + $ip=User::isIP($wgTitle->getText()); + + if($id||$ip) { + $s .= $sep . $this->userContribsLink(); + } + if ( 0 != $wgUser->getID() ) { + if($id) { # can only email real users + $s .= $sep . $this->emailUserLink(); + } + } + } + $s .= "\n

"; + } + + if ( 0 != $wgUser->getID() && ( !$wgDisableUploads || $wgRemoteUploads ) ) { + $s .= $this->specialLink( 'upload' ) . $sep; + } + $s .= $this->specialLink( 'specialpages' ) + . $sep . $this->bugReportsLink(); + + global $wgSiteSupportPage; + if( $wgSiteSupportPage ) { + $s .= "\n
' . wfMsg( 'sitesupport' ) . ''; + } + + $s .= "\n
\n"; + wfProfileOut( $fname ); + return $s; + } + + } ?> -- 2.20.1