* Add form to RCLinked and add to sp:specialpages
[lhc/web/wiklou.git] / includes / SpecialContributions.php
index 94e381f..9ba433a 100644 (file)
@@ -7,11 +7,11 @@
 class ContribsPager extends ReverseChronologicalPager {
        public $mDefaultDirection = true;
        var $messages, $target;
-       var $namespace = '', $mDb;
+       var $namespace = '', $year = '', $month = '', $mDb;
 
        function __construct( $target, $namespace = false, $year = false, $month = false ) {
                parent::__construct();
-               foreach( explode( ' ', 'uctop diff newarticle rollbacklink diff hist minoreditletter' ) as $msg ) {
+               foreach( explode( ' ', 'uctop diff newarticle rollbacklink diff hist newpageletter minoreditletter' ) as $msg ) {
                        $this->messages[$msg] = wfMsgExt( $msg, array( 'escape') );
                }
                $this->target = $target;
@@ -30,6 +30,8 @@ class ContribsPager extends ReverseChronologicalPager {
        function getDefaultQuery() {
                $query = parent::getDefaultQuery();
                $query['target'] = $this->target;
+               $query['month'] = $this->month;
+               $query['year'] = $this->year;
                return $query;
        }
 
@@ -42,7 +44,7 @@ class ContribsPager extends ReverseChronologicalPager {
                        'fields' => array( 
                                'page_namespace', 'page_title', 'page_is_new', 'page_latest', 'rev_id', 'rev_page', 
                                'rev_text_id', 'rev_timestamp', 'rev_comment', 'rev_minor_edit', 'rev_user', 
-                               'rev_user_text', 'rev_deleted'
+                               'rev_user_text', 'rev_parent_id', 'rev_deleted'
                        ),
                        'conds' => $conds,
                        'options' => array( 'USE INDEX' => $index )
@@ -145,14 +147,15 @@ class ContribsPager extends ReverseChronologicalPager {
                        }
 
                }
-               if( $rev->userCan( Revision::DELETED_TEXT ) ) {
+               # Is there a visable previous revision?
+               if( $rev->userCan(Revision::DELETED_TEXT) ) {
                        $difftext = '(' . $sk->makeKnownLinkObj( $page, $this->messages['diff'], 'diff=prev&oldid='.$row->rev_id ) . ')';
                } else {
                        $difftext = '(' . $this->messages['diff'] . ')';
                }
                $histlink='('.$sk->makeKnownLinkObj( $page, $this->messages['hist'], 'action=history' ) . ')';
 
-               $comment = $wgContLang->getDirMark() . $sk->revComment( $rev );
+               $comment = $wgContLang->getDirMark() . $sk->revComment( $rev, false, true );
                $d = $wgLang->timeanddate( wfTimestamp( TS_MW, $row->rev_timestamp ), true );
                
                if( $this->target == 'newbies' ) {
@@ -165,6 +168,12 @@ class ContribsPager extends ReverseChronologicalPager {
                if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
                        $d = '<span class="history-deleted">' . $d . '</span>';
                }
+               
+               if( $rev->getParentId() === 0 ) {
+                       $nflag = '<span class="newpage">' . $this->messages['newpageletter'] . '</span>';
+               } else {
+                       $nflag = '';
+               }
 
                if( $row->rev_minor_edit ) {
                        $mflag = '<span class="minor">' . $this->messages['minoreditletter'] . '</span> ';
@@ -172,7 +181,7 @@ class ContribsPager extends ReverseChronologicalPager {
                        $mflag = '';
                }
 
-               $ret = "{$d} {$histlink} {$difftext} {$mflag} {$link}{$userlink}{$comment} {$topmarktext}";
+               $ret = "{$d} {$histlink} {$difftext} {$nflag}{$mflag} {$link}{$userlink}{$comment} {$topmarktext}";
                if( $rev->isDeleted( Revision::DELETED_TEXT ) ) {
                        $ret .= ' ' . wfMsgHtml( 'deletedrev' );
                }
@@ -272,18 +281,16 @@ function wfSpecialContributions( $par = null ) {
 
        wfRunHooks( 'SpecialContributionsBeforeMainOutput', $id );
 
-       $wgOut->addHTML( contributionsForm( $options ) );
-       # Show original selected options, don't apply them so as to allow paging
-       $_GET['year'] = ''; // hack for Pager
-       $_GET['month'] = ''; // hack for Pager
        if( $skip ) {
                $options['year'] = '';
                $options['month'] = '';
        }
 
+       $wgOut->addHTML( contributionsForm( $options ) );
+
        $pager = new ContribsPager( $target, $options['namespace'], $options['year'], $options['month'] );
        if ( !$pager->getNumRows() ) {
-               $wgOut->addWikiText( wfMsg( 'nocontribs' ) );
+               $wgOut->addWikiMsg( 'nocontribs' );
                return;
        }
 
@@ -304,7 +311,7 @@ function wfSpecialContributions( $par = null ) {
                        : 'sp-contributions-footer';
 
 
-               $text = wfMsg( $message, $target );
+               $text = wfMsgNoTrans( $message, $target );
                if( !wfEmptyMsg( $message, $text ) && $text != '-' ) {
                        $wgOut->addHtml( '<div class="mw-contributions-footer">' );
                        $wgOut->addWikiText( $text );