diff --git a/RELEASE-NOTES-1.20 b/RELEASE-NOTES-1.20 index 35a3790004f..2df3043dabb 100644 --- a/RELEASE-NOTES-1.20 +++ b/RELEASE-NOTES-1.20 @@ -23,6 +23,8 @@ upgrade PHP if you have not done so prior to upgrading MediaWiki. === New features in 1.20 === * Added TitleIsAlwaysKnown hook which gets called when determining if a page exists. +* Added NamespaceIsMovable hook which gets called when determining if pages in a + certain namespace can be moved. * (bug 32341) Add upload by URL domain limitation. * &useskin=default will now always display the default skin. Useful for users with a preference for the non-default skin to look at something using the default skin. diff --git a/docs/hooks.txt b/docs/hooks.txt index 33db1c53b4b..8d4bdea4e86 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -1351,6 +1351,11 @@ using this hook. BaseTemplate::makeListItem for details on the format of individual items inside of this array +'NamespaceIsMovable': Called when determining if it is possible to pages in a namespace. +$index: Integer; the index of the namespace being checked. +$result: Boolean; whether MediaWiki currently thinks that pages in this namespace are movable. +Hooks may change this value to override the return value of MWNamespace::isMovable() + 'NewRevisionFromEditComplete': called when a revision was inserted due to an edit $article: the WikiPage edited diff --git a/includes/Namespace.php b/includes/Namespace.php index a2751237cc9..c87a12b7c08 100644 --- a/includes/Namespace.php +++ b/includes/Namespace.php @@ -65,7 +65,15 @@ class MWNamespace { */ public static function isMovable( $index ) { global $wgAllowImageMoving; - return !( $index < NS_MAIN || ( $index == NS_FILE && !$wgAllowImageMoving ) || $index == NS_CATEGORY ); + + $result = !( $index < NS_MAIN || ( $index == NS_FILE && !$wgAllowImageMoving ) || $index == NS_CATEGORY ); + + /** + * @since 1.20 + */ + wfRunHooks( 'NamespaceIsMovable', array( $index, &$result ) ); + + return $result; } /**