$value ) { if ( !isset( $GLOBALS[$key] ) ) { $GLOBALS[$key] = $value; } } } /** * @since 2.4 */ public static function initExtension( $credits = [] ) { define( 'SMW_VERSION', isset( $credits['version'] ) ? $credits['version'] : 'N/A' ); // Registration point for required early registration Setup::initExtension( $GLOBALS ); } /** * Setup and initialization * * @note $wgExtensionFunctions variable is an array that stores * functions to be called after most of MediaWiki initialization * has finalized * * @see https://www.mediawiki.org/wiki/Manual:$wgExtensionFunctions * * @since 1.9 */ public static function onExtensionFunction() { $applicationFactory = ApplicationFactory::getInstance(); $namespace = new NamespaceManager(); $namespace->init( $GLOBALS ); $setup = new Setup( $applicationFactory ); $setup->loadSchema( $GLOBALS ); $setup->init( $GLOBALS, __DIR__ ); } /** * @since 2.4 * * @return string|null */ public static function getVersion() { if ( !defined( 'SMW_VERSION' ) ) { return null; } return SMW_VERSION; } }