http://www.mediawiki.org/wiki/Special:Code/MediaWiki/88645

Revision: 88645
Author:   aaron
Date:     2011-05-23 16:07:19 +0000 (Mon, 23 May 2011)
Log Message:
-----------
* In "template/files changed" diff list, show which ones are unreviewed pages
* Added preview notice to diff review form

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevision.php
    trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php
    trunk/extensions/FlaggedRevs/presentation/language/RevisionReview.i18n.php

Modified: trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevision.php
===================================================================
--- trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevision.php        
2011-05-23 15:07:38 UTC (rev 88644)
+++ trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevision.php        
2011-05-23 16:07:19 UTC (rev 88645)
@@ -616,7 +616,7 @@
         *    (b) Current template exists and the "version used" was 
non-existing (created)
         *    (c) Current template doesn't exist and the "version used" existed 
(deleted)
         *
-        * @return array of (template title, rev ID in reviewed version) tuples
+        * @return array of (title, rev ID in reviewed version, has stable rev) 
tuples
         */
        public function findPendingTemplateChanges() {
                if ( FlaggedRevs::inclusionSetting() == FR_INCLUDES_CURRENT ) {
@@ -667,7 +667,7 @@
                        }
                        $deleted = ( !$revIdDraft && $revIdStable ); // later 
deleted
                        if ( $deleted || $updated ) {
-                               $tmpChanges[] = array( $title, $revIdStable );
+                               $tmpChanges[] = array( $title, $revIdStable, 
(bool)$row->fp_stable );
                        }
                }
                return $tmpChanges;
@@ -686,7 +686,7 @@
         *    (c) Current file doesn't exist and the "version used" existed 
(deleted)
         *
         * @param string $noForeign Using 'noForeign' skips foreign file 
updates (bug 15748)
-        * @return array of (file title, MW file timestamp in reviewed version) 
tuples
+        * @return array of (title, MW file timestamp in reviewed version, has 
stable rev) tuples
         */
        public function findPendingFileChanges( $noForeign = false ) {
                if ( FlaggedRevs::inclusionSetting() == FR_INCLUDES_CURRENT ) {
@@ -747,7 +747,7 @@
                                $deleted = (bool)$tsStable; // included file 
deleted after review
                        }
                        if ( $deleted || $updated ) {
-                               $fileChanges[] = array( $title, $tsStable );
+                               $fileChanges[] = array( $title, $tsStable, 
(bool)$row->fr_img_timestamp );
                        }
                }
                return $fileChanges;

Modified: trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php
===================================================================
--- trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php       
2011-05-23 15:07:38 UTC (rev 88644)
+++ trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php       
2011-05-23 16:07:19 UTC (rev 88645)
@@ -1330,7 +1330,7 @@
        *       (ii) List any template/file changes pending review
        */
        public function addToDiffView( $diff, $oldRev, $newRev ) {
-               global $wgRequest, $wgUser, $wgMemc;
+               global $wgRequest, $wgUser, $wgMemc, $wgParserCacheExpireTime;
                $this->load();
                # Exempt printer-friendly output
                if ( $this->out->isPrintable() ) {
@@ -1361,7 +1361,6 @@
                                $changeList = array_merge( $changeList, 
self::fetchFileChanges( $srev ) );
                                # Correct bad cache which said they were not 
synced...
                                if ( !count( $changeList ) ) {
-                                       global $wgParserCacheExpireTime;
                                        $key = wfMemcKey( 'flaggedrevs', 
'includesSynced', $this->article->getId() );
                                        $data = FlaggedRevs::makeMemcObj( 
"true" );
                                        $wgMemc->set( $key, $data, 
$wgParserCacheExpireTime );
@@ -1395,7 +1394,11 @@
                                        $changeDiv .= wfMsgExt( $msg, 'parse' );
                                }
                                # Add include change list...
-                               if ( count( $changeList ) ) {
+                               if ( $this->article->revsArePending() ) { // 
text changes
+                                       if ( FlaggedRevs::inclusionSetting() != 
FR_INCLUDES_CURRENT ) {
+                                               $changeDiv .= wfMsgExt( 
'revreview-update-includes-p', 'parse' );
+                                       }
+                               } elseif ( count( $changeList ) ) { // just 
inclusion changes
                                        $changeDiv .= '<p>' .
                                                wfMsgExt( 
'revreview-update-includes', 'parseinline' ) .
                                                '&#160;' . implode( ', ', 
$changeList ) . '</p>';
@@ -1544,10 +1547,14 @@
                $diffLinks = array();
                $changes = $frev->findPendingTemplateChanges();
                foreach ( $changes as $tuple ) {
-                       list( $title, $revIdStable ) = $tuple;
-                       $diffLinks[] = $skin->makeLinkObj( $title,
+                       list( $title, $revIdStable, $hasStable ) = $tuple;
+                       $link = $skin->makeLinkObj( $title,
                                htmlspecialchars( $title->getPrefixedText() ),
                                'diff=cur&oldid=' . (int)$revIdStable );
+                       if ( !$hasStable ) {
+                               $link = "<strong>$link</strong>";
+                       }
+                       $diffLinks[] = $link;
                }
                return $diffLinks;
        }
@@ -1560,9 +1567,13 @@
                $diffLinks = array();
                $changes = $frev->findPendingFileChanges( 'noForeign' );
                foreach ( $changes as $tuple ) {
-                       list( $title, $revIdStable ) = $tuple;
+                       list( $title, $revIdStable, $hasStable ) = $tuple;
                        // @TODO: change when MW has file diffs
-                       $diffLinks[] = $skin->makeLinkObj( $title, 
htmlspecialchars( $title->getPrefixedText() ) );
+                       $link = $skin->makeLinkObj( $title, htmlspecialchars( 
$title->getPrefixedText() ) );
+                       if ( !$hasStable ) {
+                               $link = "<strong>$link</strong>";
+                       }
+                       $diffLinks[] = $link;
                }
                return $diffLinks;
        }

Modified: 
trunk/extensions/FlaggedRevs/presentation/language/RevisionReview.i18n.php
===================================================================
--- trunk/extensions/FlaggedRevs/presentation/language/RevisionReview.i18n.php  
2011-05-23 15:07:38 UTC (rev 88644)
+++ trunk/extensions/FlaggedRevs/presentation/language/RevisionReview.i18n.php  
2011-05-23 16:07:19 UTC (rev 88645)
@@ -75,7 +75,8 @@
        'revreview-update-edited-prev'  => '<span 
class="flaggedrevs_important">Your changes are not yet in the stable version. 
There are previous changes pending review.</span>
 
 Please review all the changes shown below to make your edits appear in the 
stable version.',
-       'revreview-update-includes'    => '\'\'\'Some templates/files were 
updated:\'\'\'',
+       'revreview-update-includes'    => '\'\'\'Templates/files updated 
(unreviewed pages boldened):\'\'\'',
+       'revreview-update-includes-p'  => '\'\'\'Templates or files may have 
been updated. Please preview the page before accepting.\'\'\'',
        'revreview-update-use'         => '\'\'\'NOTE:\'\'\' The stable version 
of each of these templates/files is used in the stable version of this page.',
 
        'revreview-reject-header'      => 'Reject changes for $1',


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to