protected static function scanAddonRecursive($dir, &$addons, $enabled = null) {
        $dir = rtrim($dir, '/');
        $addonKey = strtolower(basename($dir));

        // Scan the addon if it is enabled.
        if ($enabled === null || in_array($addonKey, $enabled)) {
            list($addonKey, $addon) = static::scanAddon($dir);
        } else {
            $addon = null;
        }

        // Add the addon to the collection array if one was supplied.
        if ($addon !== null) {
            $addons[$addonKey] = $addon;
        }

        // Recurse.
        $addon_subdirs = array('/addons');
        foreach ($addon_subdirs as $addon_subdir) {
            if (is_dir($dir.$addon_subdir)) {
                static::scanAddons($dir.$addon_subdir, $enabled, $addons);
            }
        }

        return array($addonKey, $addon);
    }
protected static function scanAddonRecursive($dir, &$addons, $enabled = null) {
        $dir = rtrim($dir, '/');
        $addonKey = strtolower(basename($dir));

        // Scan the addon if it is enabled.
        if ($enabled === null || in_array($addonKey, $enabled)) {
            list($addonKey, $addon) = static::scanAddon($dir);
        } else {
            $addon = null;
        }

        // Add the addon to the collection array if one was supplied.
        if ($addon !== null) {
            $addons[$addonKey] = $addon;
        }

        // Recurse.
        $addon_subdirs = array('/addons');
        foreach ($addon_subdirs as $addon_subdir) {
            if (is_dir($dir.$addon_subdir)) {
                static::scanAddons($dir.$addon_subdir, $enabled, $addons);
            }
        }

        return array($addonKey, $addon);
    }
protected static function scanAddonRecursive ( $ dir , & $ addons , $ enabled = null ) { $ dir = rtrim ( $ dir , '/' ) ; $ addonKey = strtolower ( basename ( $ dir ) ) ; // Scan the addon if it is enabled. if ( $ enabled === null || in_array ( $ addonKey , $ enabled ) ) { list ( $ addonKey , $ addon ) = static :: scanAddon ( $ dir ) ; } else { $ addon = null ; } // Add the addon to the collection array if one was supplied. if ( $ addon !== null ) { $ addons [ $ addonKey ] = $ addon ; } // Recurse. $ addon_subdirs = array ( '/addons' ) ; foreach ( $ addon_subdirs as $ addon_subdir ) { if ( is_dir ( $ dir . $ addon_subdir ) ) { static :: scanAddons ( $ dir . $ addon_subdir , $ enabled , $ addons ) ; } } return array ( $ addonKey , $ addon ) ; }
Scan an addon directory for information.

@param string $dir The addon directory to scan.
@param array &$addons The addons array.
@param array $enabled An array of enabled addons or null to scan all addons.
@return array Returns an array in the form [addonKey, addonInfo].
Scan an addon directory for information .