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

Revision: 88834
Author:   aaron
Date:     2011-05-25 20:42:14 +0000 (Wed, 25 May 2011)
Log Message:
-----------
* Cache inclusion versions via onArticleEditUpdates hook
* Added ORDER BY pending-since timestamp to cachePendingRevs.php

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php
    trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php
    trunk/extensions/FlaggedRevs/maintenance/cachePendingRevs.php

Modified: trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php
===================================================================
--- trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php      
2011-05-25 20:41:34 UTC (rev 88833)
+++ trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.class.php      
2011-05-25 20:42:14 UTC (rev 88834)
@@ -582,9 +582,12 @@
        * @param Title $title
        * @param FlaggedRevision|null $sv, the new stable version (optional)
        * @param FlaggedRevision|null $oldSv, the old stable version (optional)
+       * @param Object editInfo Article edit info about the current revision 
(optional)
        * @return bool stable version text/file changed and FR_INCLUDES_STABLE
        */
-       public static function stableVersionUpdates( Title $title, $sv = null, 
$oldSv = null ) {
+       public static function stableVersionUpdates(
+               Title $title, $sv = null, $oldSv = null, $editInfo = null
+       ) {
                $changed = false;
                if ( $oldSv === null ) { // optional
                        $oldSv = FlaggedRevision::newFromStable( $title, 
FR_MASTER );
@@ -602,7 +605,7 @@
                        }
                } else {
                        # Update flagged page related fields
-                       $article->updateStableVersion( $sv );
+                       $article->updateStableVersion( $sv, $editInfo ? 
$editInfo->revid : null );
                        # Check if pages using this need to be 
invalidated/purged...
                        if ( FlaggedRevs::inclusionSetting() == 
FR_INCLUDES_STABLE ) {
                                $changed = (
@@ -612,6 +615,10 @@
                                        $sv->getFileSha1() != 
$oldSv->getFileSha1()
                                );
                        }
+                       # Update template/file version cache...
+                       if ( $sv->getRevId() != $editInfo->revid ) {
+                               RevisionReviewForm::setRevIncludes( $title, 
$editInfo->revid, $editInfo->output );
+                       }
                }
                # Lazily rebuild dependancies on next parse (we invalidate 
below)
                FlaggedRevs::clearStableOnlyDeps( $title );

Modified: trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php
===================================================================
--- trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php      
2011-05-25 20:41:34 UTC (rev 88833)
+++ trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php      
2011-05-25 20:42:14 UTC (rev 88834)
@@ -91,8 +91,8 @@
        * (b) Pages with stable versions that use this page will be purged
        * Note: pages with current versions that use this page should already 
be purged
        */
-       public static function onArticleEditUpdates( Article $article ) {
-               FlaggedRevs::stableVersionUpdates( $article->getTitle() );
+       public static function onArticleEditUpdates( Article $article, 
$editInfo ) {
+               FlaggedRevs::stableVersionUpdates( $article->getTitle(), null, 
null, $editInfo );
                FlaggedRevs::extraHTMLCacheUpdate( $article->getTitle() );
                return true;
        }

Modified: trunk/extensions/FlaggedRevs/maintenance/cachePendingRevs.php
===================================================================
--- trunk/extensions/FlaggedRevs/maintenance/cachePendingRevs.php       
2011-05-25 20:41:34 UTC (rev 88833)
+++ trunk/extensions/FlaggedRevs/maintenance/cachePendingRevs.php       
2011-05-25 20:42:14 UTC (rev 88834)
@@ -30,7 +30,8 @@
                                'rev_page = fp_page_id',
                                'rev_timestamp >= fp_pending_since'
                        ),
-                       __METHOD__
+                       __METHOD__,
+                       array( 'ORDER BY' => 'fp_pending_since DESC' )
                );
                foreach ( $ret as $row ) {
                        $title = Title::newFromRow( $row );


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

Reply via email to