Tweaks for r36682:
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Fri, 27 Jun 2008 11:43:39 +0000 (11:43 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Fri, 27 Jun 2008 11:43:39 +0000 (11:43 +0000)
* output an error if an invalid title was given
* Don't allow interwiki links
* Removed unused global definition of $wgContLang in SpecialRecentchanges::makeOptionsLink()

includes/specials/SpecialRecentchanges.php
includes/specials/SpecialRecentchangeslinked.php

index 01b2909..535dab2 100644 (file)
@@ -571,11 +571,10 @@ class SpecialRecentChanges extends SpecialPage {
         * @param $options
         */
        function makeOptionsLink( $title, $override, $options, $active = false ) {
-               global $wgUser, $wgContLang;
+               global $wgUser;
                $sk = $wgUser->getSkin();
-               return $sk->makeKnownLinkObj( $this->getTitle(),
-                       htmlspecialchars( $title ), wfArrayToCGI( $override, $options ), '', '',
-                       $active ? 'style="font-weight: bold;"' : '' );
+               return $sk->makeKnownLinkObj( $this->getTitle(), htmlspecialchars( $title ),
+                       wfArrayToCGI( $override, $options ), '', '', $active ? 'style="font-weight: bold;"' : '' );
        }
 
        /**
index fca94c7..2b00ef3 100644 (file)
@@ -40,23 +40,23 @@ class SpecialRecentchangeslinked extends SpecialRecentchanges {
        public function doMainQuery( $conds, $opts ) {
                global $wgUser, $wgOut;
 
-               $title = Title::newFromURL( $opts['target'] );
+               $target = $opts['target'];
                $showlinkedto = $opts['showlinkedto'];
                $limit = $opts['limit'];
 
-               $target = $title ? $title->getPrefixedText() : '';
                if ( $target === '' ) {
                        return false;
                }
-               if( !$title ){
+               $title = Title::newFromURL( $target );
+               if( !$title || $title->getInterwiki() != '' ){
                        global $wgOut;
-                       $wgOut->showErrorPage( 'notargettitle', 'notargettext' );
+                       $wgOut->wrapWikiMsg( '<div class="errorbox">$1</div><br clear="both" />', 'allpagesbadtitle' );
                        return false;
                }
-
-               $wgOut->setPageTitle( wfMsg( 'recentchangeslinked-title', $target ) );
                $this->mTargetTitle = $title;
 
+               $wgOut->setPageTitle( wfMsg( 'recentchangeslinked-title', $title->getPrefixedText() ) );
+
                $dbr = wfGetDB( DB_SLAVE, 'recentchangeslinked' );
                $id = $title->getArticleId();
 
@@ -118,10 +118,10 @@ class SpecialRecentchangeslinked extends SpecialRecentchanges {
        function setTopText( &$out, $opts ){}
        
        function setBottomText( &$out, $opts ){
-               if( $target = $opts['target'] ){
+               if( isset( $this->mTargetTitle ) && is_object( $this->mTargetTitle ) ){
                        global $wgUser;
-                       $out->setFeedAppendQuery( "target=" . urlencode( $target ) );
-                       $out->addHTML("&lt; ".$wgUser->getSkin()->makeLinkObj( Title::newFromUrl( $target ), "", "redirect=no" )."<hr />\n");
+                       $out->setFeedAppendQuery( "target=" . urlencode( $this->mTargetTitle->getPrefixedDBkey() ) );
+                       $out->addHTML("&lt; ".$wgUser->getSkin()->makeLinkObj( $this->mTargetTitle, "", "redirect=no" )."<hr />\n");
                }
                if( isset( $this->mResultEmpty ) && $this->mResultEmpty ){
                        $out->addWikiMsg( 'recentchangeslinked-noresult' );