Merge "Remove unused 'XMPGetInfo' and 'XMPGetResults' hooks"
[lhc/web/wiklou.git] / includes / registration / ExtensionProcessor.php
index 0f359c8..b0398eb 100644 (file)
@@ -62,6 +62,27 @@ class ExtensionProcessor implements Processor {
                'license-name',
        );
 
+       /**
+        * Things that are not 'attributes', but are not in
+        * $globalSettings or $creditsAttributes.
+        *
+        * @var array
+        */
+       protected static $notAttributes = array(
+               'callback',
+               'Hooks',
+               'namespaces',
+               'ResourceFileModulePaths',
+               'ResourceModules',
+               'ResourceModuleSkinStyles',
+               'ExtensionMessagesFiles',
+               'MessagesDirs',
+               'type',
+               'config',
+               'ParserTestFiles',
+               'AutoloadClasses',
+       );
+
        /**
         * Stuff that is going to be set to $GLOBALS
         *
@@ -101,13 +122,6 @@ class ExtensionProcessor implements Processor {
         */
        protected $attributes = array();
 
-       /**
-        * List of keys that have already been processed
-        *
-        * @var array
-        */
-       protected $processed = array();
-
        /**
         * @param string $path
         * @param array $info
@@ -124,7 +138,6 @@ class ExtensionProcessor implements Processor {
                $this->extractParserTestFiles( $dir, $info );
                if ( isset( $info['callback'] ) ) {
                        $this->callbacks[] = $info['callback'];
-                       $this->processed[] = 'callback';
                }
 
                $this->extractCredits( $path, $info );
@@ -132,11 +145,12 @@ class ExtensionProcessor implements Processor {
                        if ( in_array( $key, self::$globalSettings ) ) {
                                $this->storeToArray( "wg$key", $val, $this->globals );
                        // Ignore anything that starts with a @
-                       } elseif ( $key[0] !== '@' && !in_array( $key, $this->processed ) ) {
+                       } elseif ( $key[0] !== '@' && !in_array( $key, self::$notAttributes )
+                               && !in_array( $key, self::$creditsAttributes )
+                       ) {
                                $this->storeToArray( $key, $val, $this->attributes );
                        }
                }
-
        }
 
        public function getExtractedInfo() {
@@ -156,7 +170,6 @@ class ExtensionProcessor implements Processor {
                                        $this->globals['wgHooks'][$name][] = $callback;
                                }
                        }
-                       $this->processed[] = 'Hooks';
                }
        }
 
@@ -184,7 +197,6 @@ class ExtensionProcessor implements Processor {
                                        $this->globals['wgNamespaceContentModels'][$id] = $ns['defaultcontentmodel'];
                                }
                        }
-                       $this->processed[] = 'namespaces';
                }
        }
 
@@ -216,7 +228,6 @@ class ExtensionProcessor implements Processor {
                        $this->globals["wgExtensionMessagesFiles"] += array_map( function( $file ) use ( $dir ) {
                                return "$dir/$file";
                        }, $info['ExtensionMessagesFiles'] );
-                       $this->processed[] = 'ExtensionMessagesFiles';
                }
        }
 
@@ -234,7 +245,6 @@ class ExtensionProcessor implements Processor {
                                        $this->globals["wgMessagesDirs"][$name][] = "$dir/$file";
                                }
                        }
-                       $this->processed[] = 'MessagesDirs';
                }
        }
 
@@ -243,11 +253,9 @@ class ExtensionProcessor implements Processor {
                        'path' => $path,
                        'type' => isset( $info['type'] ) ? $info['type'] : 'other',
                );
-               $this->processed[] = 'type';
                foreach ( self::$creditsAttributes as $attr ) {
                        if ( isset( $info[$attr] ) ) {
                                $credits[$attr] = $info[$attr];
-                               $this->processed[] = $attr;
                        }
                }
 
@@ -267,7 +275,6 @@ class ExtensionProcessor implements Processor {
                                        $this->globals["wg$key"] = $val;
                                }
                        }
-                       $this->processed[] = 'config';
                }
        }
 
@@ -276,7 +283,6 @@ class ExtensionProcessor implements Processor {
                        foreach ( $info['ParserTestFiles'] as $path ) {
                                $this->globals['wgParserTestFiles'][] = "$dir/$path";
                        }
-                       $this->processed[] = 'ParserTestFiles';
                }
        }