jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/393564 )

Change subject: BSFoundation: Used extension attributes for registration and 
added support for manifest v2
......................................................................


BSFoundation: Used extension attributes for registration and added support for 
manifest v2

Change-Id: I1b5704528e964de10911bb5e1540e96ce1dd9f0e
---
M extension.json
M includes/DefaultSettings.php
M includes/ExtensionManager.class.php
M src/DynamicFileDispatcher/Factory.php
M src/EntityRegistry.php
5 files changed, 42 insertions(+), 26 deletions(-)

Approvals:
  Robert Vogel: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/extension.json b/extension.json
index 7e45d74..aca2f07 100644
--- a/extension.json
+++ b/extension.json
@@ -8,6 +8,24 @@
        "url": "http://bluespice.com";,
        "descriptionmsg": "bluespicefoundation-desc",
        "type": "other",
+       "attributes": {
+               "BlueSpiceFoundation": {
+                       "Extensions": {
+                               "BlueSpiceFoundation": {
+                                       "configDefinitions": {
+                                               "Logo": 
"\\BlueSpice\\ConfigDefinition\\Logo::getInstance",
+                                               "FileExtensions": 
"\\BlueSpice\\ConfigDefinition\\FileExtensions::getInstance",
+                                               "ImageExtensions": 
"\\BlueSpice\\ConfigDefinition\\ImageExtensions::getInstance",
+                                               "Favicon": 
"\\BlueSpice\\ConfigDefinition\\Favicon::getInstance"
+                                       }
+                               }
+                       },
+                       "DynamicFileRegistry": {
+                               "userprofileimage": 
"\\BlueSpice\\DynamicFileDispatcher\\UserProfileImage"
+                       },
+                       "EntityRegistry": {}
+               }
+       },
        "ExtensionFunctions": [
                "BsCoreHooks::setup"
        ],
@@ -458,14 +476,6 @@
                        }
                },
                "ConfigFiles": {
-                       "value": []
-               },
-               "DynamicFileRegistry": {
-                       "value": {
-                               "userprofileimage": 
"\\BlueSpice\\DynamicFileDispatcher\\UserProfileImage"
-                       }
-               },
-               "EntityRegistry": {
                        "value": []
                }
        },
diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php
index 716ce55..add5484 100644
--- a/includes/DefaultSettings.php
+++ b/includes/DefaultSettings.php
@@ -316,20 +316,10 @@
        'bs-extjs-theme-tree-view-border' => '0px solid black'
 
 ) );
-
 /**
  * BsExtensionManager extension registration
  */
-$GLOBALS['bsgExtensions'] = [
-       "BlueSpiceFoundation" => [
-               "configDefinitions" => [
-                       "Logo" => 
"\\BlueSpice\\ConfigDefinition\\Logo::getInstance",
-                       "FileExtensions" => 
"\\BlueSpice\\ConfigDefinition\\FileExtensions::getInstance",
-                       "ImageExtensions" => 
"\\BlueSpice\\ConfigDefinition\\ImageExtensions::getInstance",
-                       "Favicon" => 
"\\BlueSpice\\ConfigDefinition\\Favicon::getInstance",
-               ]
-       ]
-];
+$GLOBALS['bsgExtensions'] = [];
 
 /**
  * BsTemplateHelper template directory overwrite
diff --git a/includes/ExtensionManager.class.php 
b/includes/ExtensionManager.class.php
index 051ccc6..253ffed 100644
--- a/includes/ExtensionManager.class.php
+++ b/includes/ExtensionManager.class.php
@@ -205,14 +205,22 @@
         */
        public static function initialiseExtensions( $oCore ) {
                wfProfileIn( 'Performance: ' . __METHOD__ );
-               $aBSExtFromJSON = 
ExtensionRegistry::getInstance()->getAttribute(
+               $extRegistry = ExtensionRegistry::getInstance();
+               $aBSExtFromJSON = $extRegistry->getAttribute(
                        'bsgExtensions'
                );
 
+               if( empty( $GLOBALS['bsgExtensions'] ) ) {
+                       $GLOBALS['bsgExtensions'] = [];
+               }
                if( !empty( $aBSExtFromJSON ) ) {
-                       $GLOBALS['bsgExtensions'] = array_replace_recursive(
+                       $GLOBALS['bsgExtensions'] = array_merge(
+                               //old global
+                               $GLOBALS['bsgExtensions'],
+                               //manifest version 1
                                $aBSExtFromJSON,
-                               $GLOBALS['bsgExtensions']
+                               //manifest version 2
+                               $extRegistry->getAttribute( 
'BlueSpiceFoundationExtensions' )
                        );
                }
 
diff --git a/src/DynamicFileDispatcher/Factory.php 
b/src/DynamicFileDispatcher/Factory.php
index 34d26e2..fc054a5 100644
--- a/src/DynamicFileDispatcher/Factory.php
+++ b/src/DynamicFileDispatcher/Factory.php
@@ -73,7 +73,11 @@
                        return $this->modules;
                }
 
-               $this->modules = $this->config->get( 'DynamicFileRegistry' );
+               $extRegistry = \ExtensionRegistry::getInstance();
+               $this->modules = $extRegistry->getAttribute(
+                       'BlueSpiceFoundationDynamicFileRegistry'
+               );
+
                return $this->modules;
        }
 }
\ No newline at end of file
diff --git a/src/EntityRegistry.php b/src/EntityRegistry.php
index 982bbe4..9748313 100644
--- a/src/EntityRegistry.php
+++ b/src/EntityRegistry.php
@@ -53,10 +53,14 @@
                if( $this->entitydefinitions && !$bForceReload ) {
                        return true;
                }
-               $this->entitydefinitions = $this->config->get( 'EntityRegistry' 
);
 
-               //This hook is deprecated - Use config mechanism in 
extension.json to
-               //register entities
+               $extRegistry = \ExtensionRegistry::getInstance();
+               $this->entitydefinitions = $extRegistry->getAttribute(
+                       'BlueSpiceFoundationEntityRegistry'
+               );
+
+               //This hook is deprecated - Use attributes mechanism in 
extension.json
+               //to register entities
                \Hooks::run( 'BSEntityRegister', [&$this->entitydefinitions] );
 
                return true;

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I1b5704528e964de10911bb5e1540e96ce1dd9f0e
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/BlueSpiceFoundation
Gerrit-Branch: master
Gerrit-Owner: Pwirth <[email protected]>
Gerrit-Reviewer: Ljonka <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Robert Vogel <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to