Partial revert of r32982; old Title method is fine here
[lhc/web/wiklou.git] / includes / SkinTemplate.php
index 2e6c893..afa96c3 100644 (file)
@@ -139,10 +139,6 @@ class SkinTemplate extends Skin {
                $fname = 'SkinTemplate::outputPage';
                wfProfileIn( $fname );
 
-               // Hook that allows last minute changes to the output page, e.g.
-               // adding of CSS or Javascript by extensions.
-               wfRunHooks( 'BeforePageDisplay', array( &$out ) );
-
                $oldid = $wgRequest->getVal( 'oldid' );
                $diff = $wgRequest->getVal( 'diff' );
 
@@ -219,22 +215,10 @@ class SkinTemplate extends Skin {
                $tpl->set( 'catlinks', $this->getCategories());
                if( $wgOut->isSyndicated() ) {
                        $feeds = array();
-                       foreach( $wgFeedClasses as $format => $class ) {
-                               $linktext = $format;
-                               if ( $format == "atom" ) {
-                                       $linktext = wfMsg( 'feed-atom' );
-                               } else if ( $format == "rss" ) {
-                                       $linktext = wfMsg( 'feed-rss' );
-                               }
-                               if( is_string( $wgOut->getFeedAppendQuery() ) ) {
-                                       $appendQuery = "&" . $wgOut->getFeedAppendQuery();
-                               } else {
-                                       $appendQuery = "";
-                               }
+                       foreach( $wgOut->getSyndicationLinks() as $format => $link ) {
                                $feeds[$format] = array(
-                                       'text' => $linktext,
-                                       'href' => $wgRequest->appendQuery( "feed={$format}{$appendQuery}" )
-                               );
+                                       'text' => wfMsg( "feed-$format" ),
+                                       'href' => $link );
                        }
                        $tpl->setRef( 'feeds', $feeds );
                } else {
@@ -356,7 +340,7 @@ class SkinTemplate extends Skin {
                                $dbr = wfGetDB( DB_SLAVE );
                                $watchlist = $dbr->tableName( 'watchlist' );
                                $sql = "SELECT COUNT(*) AS n FROM $watchlist
-                                       WHERE wl_title='" . $dbr->strencode($this->mTitle->getDBKey()) .
+                                       WHERE wl_title='" . $dbr->strencode($this->mTitle->getDBkey()) .
                                        "' AND  wl_namespace=" . $this->mTitle->getNamespace() ;
                                $res = $dbr->query( $sql, 'SkinTemplate::outputPage');
                                $x = $dbr->fetchObject( $res );
@@ -409,7 +393,7 @@ class SkinTemplate extends Skin {
                $tpl->set( 'about', $this->aboutLink() );
 
                $tpl->setRef( 'debug', $out->mDebugtext );
-               $tpl->set( 'reporttime', $out->reportTime() );
+               $tpl->set( 'reporttime', wfReportTime() );
                $tpl->set( 'sitenotice', wfGetSiteNotice() );
                $tpl->set( 'bottomscripts', $this->bottomScripts() );
 
@@ -608,7 +592,7 @@ class SkinTemplate extends Skin {
                $text = wfMsg( $message );
                if ( wfEmptyMsg( $message, $text ) ) {
                        global $wgContLang;
-                       $text = $wgContLang->getFormattedNsText( Namespace::getSubject( $title->getNamespace() ) );
+                       $text = $wgContLang->getFormattedNsText( MWNamespace::getSubject( $title->getNamespace() ) );
                }
                
                $result = array();
@@ -689,7 +673,9 @@ class SkinTemplate extends Skin {
                                $istalkclass = $istalk?' istalk':'';
                                $content_actions['edit'] = array(
                                        'class' => ((($action == 'edit' or $action == 'submit') and $section != 'new') ? 'selected' : '').$istalkclass,
-                                       'text' => wfMsg('edit'),
+                                       'text' => $this->mTitle->exists()
+                                               ? wfMsg( 'edit' )
+                                               : wfMsg( 'create' ),
                                        'href' => $this->mTitle->getLocalUrl( $this->editUrlOptions() )
                                );
 
@@ -718,6 +704,22 @@ class SkinTemplate extends Skin {
                                        'href' => $this->mTitle->getLocalUrl( 'action=history')
                                );
 
+                               if($wgUser->isAllowed('delete')){
+                                       $content_actions['delete'] = array(
+                                               'class' => ($action == 'delete') ? 'selected' : false,
+                                               'text' => wfMsg('delete'),
+                                               'href' => $this->mTitle->getLocalUrl( 'action=delete' )
+                                       );
+                               }
+                               if ( $this->mTitle->quickUserCan( 'move' ) ) {
+                                       $moveTitle = SpecialPage::getTitleFor( 'Movepage', $this->thispage );
+                                       $content_actions['move'] = array(
+                                               'class' => $this->mTitle->isSpecial( 'Movepage' ) ? 'selected' : false,
+                                               'text' => wfMsg('move'),
+                                               'href' => $moveTitle->getLocalUrl()
+                                       );
+                               }
+
                                if ( $this->mTitle->getNamespace() !== NS_MEDIAWIKI && $wgUser->isAllowed( 'protect' ) ) {
                                        if(!$this->mTitle->isProtected()){
                                                $content_actions['protect'] = array(
@@ -734,24 +736,9 @@ class SkinTemplate extends Skin {
                                                );
                                        }
                                }
-                               if($wgUser->isAllowed('delete')){
-                                       $content_actions['delete'] = array(
-                                               'class' => ($action == 'delete') ? 'selected' : false,
-                                               'text' => wfMsg('delete'),
-                                               'href' => $this->mTitle->getLocalUrl( 'action=delete' )
-                                       );
-                               }
-                               if ( $this->mTitle->quickUserCan( 'move' ) ) {
-                                       $moveTitle = SpecialPage::getTitleFor( 'Movepage', $this->thispage );
-                                       $content_actions['move'] = array(
-                                               'class' => $this->mTitle->isSpecial( 'Movepage' ) ? 'selected' : false,
-                                               'text' => wfMsg('move'),
-                                               'href' => $moveTitle->getLocalUrl()
-                                       );
-                               }
                        } else {
                                //article doesn't exist or is deleted
-                               if( $wgUser->isAllowed( 'delete' ) ) {
+                               if( $wgUser->isAllowed( 'deletedhistory' ) && $wgUser->isAllowed( 'undelete' ) ) {
                                        if( $n = $this->mTitle->isDeleted() ) {
                                                $undelTitle = SpecialPage::getTitleFor( 'Undelete' );
                                                $content_actions['undelete'] = array(
@@ -762,7 +749,25 @@ class SkinTemplate extends Skin {
                                                );
                                        }
                                }
+
+                               if ( $this->mTitle->getNamespace() !== NS_MEDIAWIKI && $wgUser->isAllowed( 'protect' ) ) {
+                                       if( !$this->mTitle->getRestrictions( 'create' ) ) {
+                                               $content_actions['protect'] = array(
+                                                       'class' => ($action == 'protect') ? 'selected' : false,
+                                                       'text' => wfMsg('protect'),
+                                                       'href' => $this->mTitle->getLocalUrl( 'action=protect' )
+                                               );
+
+                                       } else {
+                                               $content_actions['unprotect'] = array(
+                                                       'class' => ($action == 'unprotect') ? 'selected' : false,
+                                                       'text' => wfMsg('unprotect'),
+                                                       'href' => $this->mTitle->getLocalUrl( 'action=unprotect' )
+                                               );
+                                       }
+                               }
                        }
+
                        wfProfileOut( "$fname-live" );
 
                        if( $this->loggedin ) {
@@ -829,14 +834,12 @@ class SkinTemplate extends Skin {
         * @private
         */
        function buildNavUrls () {
-               global $wgUseTrackbacks, $wgTitle, $wgArticle;
+               global $wgUseTrackbacks, $wgTitle, $wgUser, $wgRequest;
+               global $wgEnableUploads, $wgUploadNavigationUrl;
 
                $fname = 'SkinTemplate::buildNavUrls';
                wfProfileIn( $fname );
 
-               global $wgUser, $wgRequest;
-               global $wgEnableUploads, $wgUploadNavigationUrl;
-
                $action = $wgRequest->getText( 'action' );
 
                $nav_urls = array();