jenkins-bot has submitted this change and it was merged.

Change subject: Add 'WikiPageFactory' hook
......................................................................


Add 'WikiPageFactory' hook

This allows extension to consistently use their WikiPage subclasses.
Currently the only way a subclass would be used is if Article::newPage()
was called.

Change-Id: I74cce5f9627c4bc4b92502aff74beb2daeb78d17
---
M docs/hooks.txt
M includes/page/WikiPage.php
2 files changed, 9 insertions(+), 0 deletions(-)

Approvals:
  Tim Starling: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/docs/hooks.txt b/docs/hooks.txt
index 3b3741a..562d7b4 100644
--- a/docs/hooks.txt
+++ b/docs/hooks.txt
@@ -3791,6 +3791,10 @@
 due to an error)
 &$updates: the array of DataUpdate objects. Hook function may want to add to 
it.
 
+'WikiPageFactory': Override WikiPage class used for a title
+$title: Title of the page
+&$page: Variable to set the created WikiPage to.
+
 'XmlDumpWriterOpenPage': Called at the end of XmlDumpWriter::openPage, to allow
 extra metadata to be added.
 $obj: The XmlDumpWriter object.
diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php
index c791587..3dc41fb 100644
--- a/includes/page/WikiPage.php
+++ b/includes/page/WikiPage.php
@@ -121,6 +121,11 @@
                        throw new MWException( "Invalid or virtual namespace 
$ns given." );
                }
 
+               $page = null;
+               if ( !Hooks::run( 'WikiPageFactory', [ $title, &$page ] ) ) {
+                       return $page;
+               }
+
                switch ( $ns ) {
                        case NS_FILE:
                                $page = new WikiFilePage( $title );

-- 
To view, visit https://gerrit.wikimedia.org/r/311073
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I74cce5f9627c4bc4b92502aff74beb2daeb78d17
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Legoktm <legoktm.wikipe...@gmail.com>
Gerrit-Reviewer: Tim Starling <tstarl...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to