Neos.Fusion/Migrations/Code/Version20180211184832.php
protected function findDeclaredFusionNamespaces()
    {
        $namespaces = [];

        $targetDirectory = $this->targetPackageData['path'] . '/Resources/Private';
        if(!is_dir($targetDirectory)) {
            return $namespaces;
        }

        foreach (Files::getRecursiveDirectoryGenerator($targetDirectory, null, true) as $pathAndFilename) {
            $pathInfo = pathinfo($pathAndFilename);
            if (!isset($pathInfo['filename'])) {
                continue;
            }
            if (strpos($pathAndFilename, 'Migrations/Code') !== false) {
                continue;
            }

            if (array_key_exists('extension', $pathInfo) && ($pathInfo['extension'] == 'ts2' || $pathInfo['extension'] == 'fusion')) {
                $namespaceDeclarationMatches = [];
                $count = preg_match_all(
                    '/^namespace:[\\s]*(?P<alias>[\\w\\.]+)[\\s]*\\=[\\s]*(?P<packageKey>[\\w\\.]+)[\\s]*$/um',
                    file_get_contents($pathAndFilename),
                    $namespaceDeclarationMatches,
                    PREG_SET_ORDER
                );
                if ($count > 0) {
                    foreach ($namespaceDeclarationMatches as $match) {
                        if (!array_key_exists($match['alias'], $namespaces)) {
                            $namespaces[$match['alias']] = $match['packageKey'];
                        } else {
                            if ($namespaces[$match['alias']] !== $match['packageKey']) {
                                $this->showWarning(
                                    sprintf(
                                        'Namespace-alias "%s" was declared multiple times for different aliases %s is used',
                                        $match['alias'],
                                        $namespaces[$match['alias']]
                                    )
                                );
                            }
                        }
                    }
                }
            }
        }
        return $namespaces;
    }
protected function findDeclaredFusionNamespaces()
    {
        $namespaces = [];

        $targetDirectory = $this->targetPackageData['path'] . '/Resources/Private';
        if(!is_dir($targetDirectory)) {
            return $namespaces;
        }

        foreach (Files::getRecursiveDirectoryGenerator($targetDirectory, null, true) as $pathAndFilename) {
            $pathInfo = pathinfo($pathAndFilename);
            if (!isset($pathInfo['filename'])) {
                continue;
            }
            if (strpos($pathAndFilename, 'Migrations/Code') !== false) {
                continue;
            }

            if (array_key_exists('extension', $pathInfo) && ($pathInfo['extension'] == 'ts2' || $pathInfo['extension'] == 'fusion')) {
                $namespaceDeclarationMatches = [];
                $count = preg_match_all(
                    '/^namespace:[\\s]*(?P<alias>[\\w\\.]+)[\\s]*\\=[\\s]*(?P<packageKey>[\\w\\.]+)[\\s]*$/um',
                    file_get_contents($pathAndFilename),
                    $namespaceDeclarationMatches,
                    PREG_SET_ORDER
                );
                if ($count > 0) {
                    foreach ($namespaceDeclarationMatches as $match) {
                        if (!array_key_exists($match['alias'], $namespaces)) {
                            $namespaces[$match['alias']] = $match['packageKey'];
                        } else {
                            if ($namespaces[$match['alias']] !== $match['packageKey']) {
                                $this->showWarning(
                                    sprintf(
                                        'Namespace-alias "%s" was declared multiple times for different aliases %s is used',
                                        $match['alias'],
                                        $namespaces[$match['alias']]
                                    )
                                );
                            }
                        }
                    }
                }
            }
        }
        return $namespaces;
    }
protected function findDeclaredFusionNamespaces ( ) { $ namespaces = [ ] ; $ targetDirectory = $ this -> targetPackageData [ 'path' ] . '/Resources/Private' ; if ( ! is_dir ( $ targetDirectory ) ) { return $ namespaces ; } foreach ( Files :: getRecursiveDirectoryGenerator ( $ targetDirectory , null , true ) as $ pathAndFilename ) { $ pathInfo = pathinfo ( $ pathAndFilename ) ; if ( ! isset ( $ pathInfo [ 'filename' ] ) ) { continue ; } if ( strpos ( $ pathAndFilename , 'Migrations/Code' ) !== false ) { continue ; } if ( array_key_exists ( 'extension' , $ pathInfo ) && ( $ pathInfo [ 'extension' ] == 'ts2' || $ pathInfo [ 'extension' ] == 'fusion' ) ) { $ namespaceDeclarationMatches = [ ] ; $ count = preg_match_all ( '/^namespace:[\\s]*(?P<alias>[\\w\\.]+)[\\s]*\\=[\\s]*(?P<packageKey>[\\w\\.]+)[\\s]*$/um' , file_get_contents ( $ pathAndFilename ) , $ namespaceDeclarationMatches , PREG_SET_ORDER ) ; if ( $ count > 0 ) { foreach ( $ namespaceDeclarationMatches as $ match ) { if ( ! array_key_exists ( $ match [ 'alias' ] , $ namespaces ) ) { $ namespaces [ $ match [ 'alias' ] ] = $ match [ 'packageKey' ] ; } else { if ( $ namespaces [ $ match [ 'alias' ] ] !== $ match [ 'packageKey' ] ) { $ this -> showWarning ( sprintf ( 'Namespace-alias "%s" was declared multiple times for different aliases %s is used' , $ match [ 'alias' ] , $ namespaces [ $ match [ 'alias' ] ] ) ) ; } } } } } } return $ namespaces ; }
Find all declared fusion namespaces for the currently migrated package

@return array an array with namespace alias as key and packageKey as value
@throws FilesException
Find all declared fusion namespaces for the currently migrated package