Moved quickBar from Skin.php to Standard.php, only used by this skin.
authorJens Frank <jeluf@users.mediawiki.org>
Sun, 3 Oct 2004 11:26:08 +0000 (11:26 +0000)
committerJens Frank <jeluf@users.mediawiki.org>
Sun, 3 Oct 2004 11:26:08 +0000 (11:26 +0000)
Make Classic skin use $wgNavigationLinks for navigation sidebar (BUG#419)

includes/Skin.php
skins/Standard.php

index 8194e2b..b079659 100644 (file)
@@ -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<div id='quickbar'>";
-               $s .= "\n" . $this->logoText() . "\n<hr class='sep' />";
-
-               $sep = "\n<br />";
-               $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<br /><hr class='sep' />";
-               $articleExists = $wgTitle->getArticleId();
-               if ( $wgOut->isArticle() || $action =='edit' || $action =='history' || $wpPreview) {
-                       if($wgOut->isArticle()) {
-                               $s .= '<strong>' . $this->editThisPage() . '</strong>';
-                       } 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 .= '<strong>' . wfMsg('newpage') . '</strong>';
-                               }
-
-                       }
-
-
-                       if( $tns%2 && $action!='edit' && !$wpPreview) {
-                               $s.= '<br />'.$this->makeKnownLink($wgTitle->getPrefixedText(),wfMsg('postcomment'),'action=edit&section=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<br /><hr class='sep' />";
-               }
-
-               if ( 0 != $wgUser->getID() && ( !$wgDisableUploads || $wgRemoteUploads ) ) {
-                       $s .= $this->specialLink( 'upload' ) . $sep;
-               }
-               $s .= $this->specialLink( 'specialpages' )
-                 . $sep . $this->bugReportsLink();
-
-               global $wgSiteSupportPage;
-               if( $wgSiteSupportPage ) {
-                       $s .= "\n<br /><a href=\"" . htmlspecialchars( $wgSiteSupportPage ) .
-                         '" class="internal">' . wfMsg( 'sitesupport' ) . '</a>';
-               }
-
-               $s .= "\n<br /></div>\n";
-               wfProfileOut( $fname );
-               return $s;
-       }
-
        function specialPagesList() {
                global $wgUser, $wgOut, $wgContLang, $wgServer, $wgRedirectScript;
                require_once('SpecialPage.php');
index bc69648..2ffa8f2 100644 (file)
@@ -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<div id='quickbar'>";
+                $s .= "\n" . $this->logoText() . "\n<hr class='sep' />";
+
+                $sep = "\n<br />";
+
+                foreach ( $wgNavigationLinks as $link ) {
+                        $msg = wfMsgForContent( $link['href'] );
+                        if ( $msg != '-' ) {
+                                $s .= '<a href="' . $this->makeInternalOrExternalUrl( $msg ) . '">' .
+                                        wfMsg( $link['text'] ) . '</a>' . $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<hr class='sep' />";
+                $articleExists = $wgTitle->getArticleId();
+                if ( $wgOut->isArticle() || $action =='edit' || $action =='history' || $wpPreview) {
+                        if($wgOut->isArticle()) {
+                                $s .= '<strong>' . $this->editThisPage() . '</strong>';
+                        } 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 .= '<strong>' . wfMsg('newpage') . '</strong>';
+                                }
+
+                        }
+
+
+                        if( $tns%2 && $action!='edit' && !$wpPreview) {
+                                $s.= '<br />'.$this->makeKnownLink($wgTitle->getPrefixedText(),wfMsg('postcomment'),'action=edit&section=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<br /><hr class='sep' />";
+                }
+
+                if ( 0 != $wgUser->getID() && ( !$wgDisableUploads || $wgRemoteUploads ) ) {
+                        $s .= $this->specialLink( 'upload' ) . $sep;
+                }
+                $s .= $this->specialLink( 'specialpages' )
+                  . $sep . $this->bugReportsLink();
+
+                global $wgSiteSupportPage;
+                if( $wgSiteSupportPage ) {
+                        $s .= "\n<br /><a href=\"" . htmlspecialchars( $wgSiteSupportPage ) .
+                          '" class="internal">' . wfMsg( 'sitesupport' ) . '</a>';
+                }
+
+                $s .= "\n<br /></div>\n";
+                wfProfileOut( $fname );
+                return $s;
+        }
+
+
 }
 
 ?>