Move ArticleSaveComplete hook to doCreate()/doModify() methods
authorAaron Schulz <aschulz@wikimedia.org>
Sun, 13 Dec 2015 12:39:24 +0000 (04:39 -0800)
committerAaron Schulz <aschulz@wikimedia.org>
Sun, 13 Dec 2015 12:42:46 +0000 (04:42 -0800)
This makes it easier to migrate the methods to using atomic
sections without having the PageContentInsertComplete hook
change to ending up in separate transaction than
ArticleSaveComplete.

Bug: T120718
Change-Id: I492514413ec9c37c2f9343bb207798fc8e24a5a9

includes/page/WikiPage.php

index f290db8..8fb760d 100644 (file)
@@ -1737,13 +1737,6 @@ class WikiPage implements Page, IDBAccessObject {
                        $status = $this->doCreate( $pstContent, $flags, $user, $summary, $meta );
                }
 
-               // Trigger post-save hook
-               $revision = $status->value['revision']; // new revision
-               $hook_args = array( &$this, &$user, $pstContent, $summary,
-                       $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $baseRevId );
-               ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
-               Hooks::run( 'PageContentSaveComplete', $hook_args );
-
                // Promote user to any groups they meet the criteria for
                DeferredUpdates::addCallableUpdate( function () use ( $user ) {
                        $user->addAutopromoteOnceGroups( 'onEdit' );
@@ -1899,6 +1892,12 @@ class WikiPage implements Page, IDBAccessObject {
                        $this->mTitle->invalidateCache( $now );
                }
 
+               // Trigger post-save hook
+               $hook_args = array( &$this, &$user, $content, $summary,
+                       $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $meta['baseRevId'] );
+               ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
+               Hooks::run( 'PageContentSaveComplete', $hook_args );
+
                return $status;
        }
 
@@ -2007,6 +2006,12 @@ class WikiPage implements Page, IDBAccessObject {
                // Return the new revision to the caller
                $status->value['revision'] = $revision;
 
+               // Trigger post-save hook
+               $hook_args = array( &$this, &$user, $content, $summary,
+                       $flags & EDIT_MINOR, null, null, &$flags, $revision, &$status, $meta['baseRevId'] );
+               ContentHandler::runLegacyHooks( 'ArticleSaveComplete', $hook_args );
+               Hooks::run( 'PageContentSaveComplete', $hook_args );
+
                return $status;
        }