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

Revision: 89152
Author:   aaron
Date:     2011-05-30 06:53:59 +0000 (Mon, 30 May 2011)
Log Message:
-----------
* Use arrays for CGI params more
* Added diffOnlyCGI() check to RC links

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php
    trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php
    trunk/extensions/FlaggedRevs/presentation/FlaggedRevsLogView.php
    trunk/extensions/FlaggedRevs/presentation/FlaggedRevsUI.hooks.php
    
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/PendingChanges_body.php
    
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/ProblemChanges_body.php

Modified: trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php
===================================================================
--- trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php      
2011-05-30 06:17:27 UTC (rev 89151)
+++ trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php      
2011-05-30 06:53:59 UTC (rev 89152)
@@ -393,14 +393,16 @@
 
        /**
         * Get the 'diffonly=' value for diff URLs. Either ('1','0','')
-        * @return string
+        * @return array
         */
        public static function diffOnlyCGI() {
                $val = trim( wfMsgForContent( 'flaggedrevs-diffonly' ) );
-               if ( $val === '&diffonly=1' || $val === '&diffonly=0' ) {
-                       return $val;
-               }
-               return '';
+               if ( strpos( $val, '&diffonly=1' ) !== false ) {
+                       return array( 'diffonly' => 1 );
+               } elseif ( strpos( $val, '&diffonly=0' ) !== false ) {
+                       return array( 'diffonly' => 0);
+               } 
+               return array();
        }
 
        # ################ Permission functions #################       

Modified: trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php
===================================================================
--- trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php       
2011-05-30 06:17:27 UTC (rev 89151)
+++ trunk/extensions/FlaggedRevs/presentation/FlaggedPageView.php       
2011-05-30 06:53:59 UTC (rev 89152)
@@ -1492,7 +1492,7 @@
                        $review = $wgUser->getSkin()->makeKnownLinkObj(
                                $article->getTitle(),
                                wfMsgHtml( 'review-diff2stable' ),
-                               'oldid=' . $srev->getRevId() . '&diff=cur' . 
FlaggedRevs::diffOnlyCGI()
+                               array( 'oldid' => $srev->getRevId(), 'diff' => 
'cur' ) + FlaggedRevs::diffOnlyCGI()
                        );
                        $review = wfMsgHtml( 'parentheses', $review );
                        $review = "<div class='fr-diff-to-stable' 
align='center'>$review</div>";
@@ -1648,21 +1648,19 @@
                if ( !$frev || !$this->article->revsArePending() ) {
                        return true; // only for pages with pending edits
                }
+               $params = array();
                // If the edit was not autoreviewed, and the user can actually 
make a
                // new stable version, then go to the diff...
                if ( $frev->userCanSetFlags( $wgUser ) ) {
-                       $extraQuery .= $extraQuery ? '&' : '';
-                       // Override diffonly setting to make sure the content 
is shown
-                       $extraQuery .= 'oldid=' . $frev->getRevId() .
-                               '&diff=cur' . FlaggedRevs::diffOnlyCGI() . 
'&shownotice=1';
+                       $params += array( 'oldid' => $frev->getRevId(), 'diff' 
=> 'cur', 'shownotice' => 1 );
+                       $params += FlaggedRevs::diffOnlyCGI();
                // ...otherwise, go to the draft revision after completing an 
edit.
                // This allows for users to immediately see their changes.
                } else {
-                       $extraQuery .= $extraQuery ? '&' : '';
-                       $extraQuery .= 'stable=0';
+                       $params += array( 'stable' => 0 );
                        // Show a notice at the top of the page for 
non-reviewers...
                        if ( !$wgUser->isAllowed( 'review' ) && 
$this->article->isStableShownByDefault() ) {
-                               $extraQuery .= '&shownotice=1';
+                               $params += array( 'shownotice' => 1 );
                                if ( $sectionAnchor ) {
                                        // Pass a section parameter in the URL 
as needed to add a link to
                                        // the "your changes are pending" box 
on the top of the page...
@@ -1670,11 +1668,12 @@
                                                array( ':' , '.' ), array( 
'%3A', '%' ), // hack: reverse encoding
                                                substr( $sectionAnchor, 1 ) // 
remove the '#'
                                        );
-                                       $extraQuery .= '&fromsection=' . 
$section;
+                                       $params += array('fromsection' => 
$section );
                                        $sectionAnchor = ''; // go to the top 
of the page to see notice
                                }
                        }
                }
+               $extraQuery = wfAppendQuery( $extraQuery, $params );
                return true;
        }
 

Modified: trunk/extensions/FlaggedRevs/presentation/FlaggedRevsLogView.php
===================================================================
--- trunk/extensions/FlaggedRevs/presentation/FlaggedRevsLogView.php    
2011-05-30 06:17:27 UTC (rev 89151)
+++ trunk/extensions/FlaggedRevs/presentation/FlaggedRevsLogView.php    
2011-05-30 06:53:59 UTC (rev 89152)
@@ -126,7 +126,7 @@
                        $links .= $wgUser->getSkin()->makeKnownLinkObj(
                                $title,
                                wfMsgHtml( 'review-logentry-id', $revId, $time 
),
-                               "oldid={$revId}&diff=prev" . 
FlaggedRevs::diffOnlyCGI()
+                               array( 'oldid' => $revId, 'diff' => 'prev' ) + 
FlaggedRevs::diffOnlyCGI()
                        );
                        $links .= ')';
                }

Modified: trunk/extensions/FlaggedRevs/presentation/FlaggedRevsUI.hooks.php
===================================================================
--- trunk/extensions/FlaggedRevs/presentation/FlaggedRevsUI.hooks.php   
2011-05-30 06:17:27 UTC (rev 89151)
+++ trunk/extensions/FlaggedRevs/presentation/FlaggedRevsUI.hooks.php   
2011-05-30 06:53:59 UTC (rev 89152)
@@ -567,7 +567,8 @@
                                $title,
                                wfMsgHtml( 'revreview-reviewlink' ),
                                array( 'title' => wfMsg( 
'revreview-reviewlink-title' ) ),
-                               array( 'oldid' => $rc->mAttribs['fp_stable'], 
'diff' => 'cur' )
+                               array( 'oldid' => $rc->mAttribs['fp_stable'], 
'diff' => 'cur' ) +
+                                       FlaggedRevs::diffOnlyCGI()
                        );
                        $css = 'flaggedrevs-pending';
                }

Modified: 
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/PendingChanges_body.php
===================================================================
--- 
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/PendingChanges_body.php
      2011-05-30 06:17:27 UTC (rev 89151)
+++ 
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/PendingChanges_body.php
      2011-05-30 06:53:59 UTC (rev 89152)
@@ -220,7 +220,8 @@
                $review = $this->skin->linkKnown( $title,
                        wfMsg( 'pendingchanges-diff' ),
                        array(),
-                       'diff=cur&oldid=' . (int)$row->stable . 
FlaggedRevs::diffOnlyCGI() );
+                       array( 'diff' => 'cur', 'oldid' => $row->stable ) + 
FlaggedRevs::diffOnlyCGI()
+               );
                # Show quality level if there are several
                if ( FlaggedRevs::qualityVersions() ) {
                        $quality = $row->quality

Modified: 
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/ProblemChanges_body.php
===================================================================
--- 
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/ProblemChanges_body.php
      2011-05-30 06:17:27 UTC (rev 89151)
+++ 
trunk/extensions/FlaggedRevs/presentation/specialpages/reports/ProblemChanges_body.php
      2011-05-30 06:53:59 UTC (rev 89152)
@@ -185,10 +185,11 @@
                
                $title = Title::newFromRow( $row );
                $link = $this->skin->link( $title );
-               $review = $this->skin->knownLink( $title,
+               $review = $this->skin->linkKnown( $title,
                        wfMsg( 'pendingchanges-diff' ),
                        array(),
-                       'diff=cur&oldid=' . (int)$row->stable . 
FlaggedRevs::diffOnlyCGI() );
+                       array( 'diff' => 'cur', 'oldid' => $row->stable ) + 
FlaggedRevs::diffOnlyCGI()
+               );
                # Show quality level if there are several
                if ( FlaggedRevs::qualityVersions() ) {
                        $quality = $row->quality


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

Reply via email to