Made Special:Contributions includable
authoraalekhN <aalekh1993@rediffmail.com>
Wed, 8 Jan 2014 20:05:00 +0000 (01:35 +0530)
committerBrian Wolff <bawolff+wn@gmail.com>
Wed, 29 Jan 2014 03:47:41 +0000 (23:47 -0400)
This commit make Special:Contributions transcludable by changing
extended class SpecialPage to IncludableSpecialPage also it adds if
condition in execute function to avoid the inclusion of form when
Special:Contributions is transcluded into other appropriate MediaWiki pages.

Bug: 4365
Change-Id: I25c5cc3775b91fdc17c1209953d425c640e5bc77

includes/specials/SpecialContributions.php

index 6b56c2f..08768b6 100644 (file)
@@ -27,7 +27,7 @@
  * @ingroup SpecialPage
  */
 
-class SpecialContributions extends SpecialPage {
+class SpecialContributions extends IncludableSpecialPage {
        protected $opts;
 
        public function __construct() {
@@ -63,8 +63,9 @@ class SpecialContributions extends SpecialPage {
                $this->opts['deletedOnly'] = $request->getBool( 'deletedOnly' );
 
                if ( !strlen( $target ) ) {
-                       $out->addHTML( $this->getForm() );
-
+                       if ( !$this->including() ) {
+                               $out->addHTML( $this->getForm() );
+                       }
                        return;
                }
 
@@ -169,8 +170,9 @@ class SpecialContributions extends SpecialPage {
                $this->addFeedLinks( array( 'action' => 'feedcontributions', 'user' => $target ) );
 
                if ( wfRunHooks( 'SpecialContributionsBeforeMainOutput', array( $id, $userObj, $this ) ) ) {
-                       $out->addHTML( $this->getForm() );
-
+                       if ( !$this->including() ) {
+                               $out->addHTML( $this->getForm() );
+                       }
                        $pager = new ContribsPager( $this->getContext(), array(
                                'target' => $target,
                                'contribs' => $this->opts['contribs'],
@@ -214,10 +216,12 @@ class SpecialContributions extends SpecialPage {
                        }
 
                        if ( $message ) {
-                               if ( !$this->msg( $message, $target )->isDisabled() ) {
-                                       $out->wrapWikiMsg(
-                                               "<div class='mw-contributions-footer'>\n$1\n</div>",
-                                               array( $message, $target ) );
+                               if ( !$this->including() ) {
+                                       if ( !$this->msg( $message, $target )->isDisabled() ) {
+                                               $out->wrapWikiMsg(
+                                                       "<div class='mw-contributions-footer'>\n$1\n</div>",
+                                                       array( $message, $target ) );
+                                       }
                                }
                        }
                }