diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2013-01-18 16:46:04 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2013-01-18 16:46:04 +0100 |
commit | 63601400e476c6cf43d985f3e7b9864681695ed4 (patch) | |
tree | f7846203a952e38aaf66989d0a4702779f549962 /includes/Namespace.php | |
parent | 8ff01378c9e0207f9169b81966a51def645b6a51 (diff) |
Update to MediaWiki 1.20.2
this update includes:
* adjusted Arch Linux skin
* updated FluxBBAuthPlugin
* patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024
Diffstat (limited to 'includes/Namespace.php')
-rw-r--r-- | includes/Namespace.php | 73 |
1 files changed, 68 insertions, 5 deletions
diff --git a/includes/Namespace.php b/includes/Namespace.php index 292559d0..2e2b8d61 100644 --- a/includes/Namespace.php +++ b/includes/Namespace.php @@ -1,6 +1,22 @@ <?php /** - * Provide things related to namespaces + * Provide things related to namespaces. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * * @file */ @@ -14,7 +30,6 @@ * Users and translators should not change them * */ - class MWNamespace { /** @@ -33,7 +48,7 @@ class MWNamespace { * @param $index * @param $method * - * @return true + * @return bool */ private static function isMethodValidFor( $index, $method ) { if ( $index < NS_MAIN ) { @@ -50,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; } /** @@ -67,6 +90,7 @@ class MWNamespace { /** * @see self::isSubject * @deprecated Please use the more consistently named isSubject (since 1.19) + * @return bool */ public static function isMain( $index ) { wfDeprecated( __METHOD__, '1.19' ); @@ -185,7 +209,7 @@ class MWNamespace { * Returns array of all defined namespaces with their canonical * (English) names. * - * @return \array + * @return array * @since 1.17 */ public static function getCanonicalNamespaces() { @@ -315,6 +339,33 @@ class MWNamespace { return $wgContentNamespaces; } } + + /** + * List all namespace indices which are considered subject, aka not a talk + * or special namespace. See also MWNamespace::isSubject + * + * @return array of namespace indices + */ + public static function getSubjectNamespaces() { + return array_filter( + MWNamespace::getValidNamespaces(), + 'MWNamespace::isSubject' + ); + } + + /** + * List all namespace indices which are considered talks, aka not a subject + * or special namespace. See also MWNamespace::isTalk + * + * @return array of namespace indices + */ + public static function getTalkNamespaces() { + return array_filter( + MWNamespace::getValidNamespaces(), + 'MWNamespace::isTalk' + ); + } + /** * Is the namespace first-letter capitalized? * @@ -353,4 +404,16 @@ class MWNamespace { return $index == NS_USER || $index == NS_USER_TALK; } + /** + * It is not possible to use pages from this namespace as template? + * + * @since 1.20 + * @param $index int Index to check + * @return bool + */ + public static function isNonincludable( $index ) { + global $wgNonincludableNamespaces; + return $wgNonincludableNamespaces && in_array( $index, $wgNonincludableNamespaces ); + } + } |