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