protected function process($filename, $uuid)
    {
        $configuration = $this->readFile($filename, $uuid);

        // The directives to execute and the fail-on-error status (true|false)
        $directives = array(
            self::DIRECTIVE_INCLUDE => false,
            self::DIRECTIVE_REQUIRE => true,
        );

        foreach ($directives as $directive => $strict) {
            $extracted = $this->extractDirectives($directive, $configuration);

            foreach ($extracted[1] as $index => $include) {
                $includeFilename = realpath(dirname($filename).DIRECTORY_SEPARATOR.$include);

                if ($includeFilename !== false) {
                    $content = $this->readFile($includeFilename);
                } elseif ($strict === false) {
                    $content = '{}';
                } else {
                    throw new Doozr_Configuration_Exception(
                        'The file "'.$filename.'" could not be included. Sure it exists?'
                    );
                }

                $configuration = str_replace(
                    '"'.$extracted[0][$index].'"',
                    //$extracted[0][$index],
                    $content,
                    $configuration
                );
            }
        }

        /*
         *
         * @todo RETRIEVE DOOZR CONSTANTS SO EXPENSIVE?
         *
         */

        // After executing directive like function calls
        $variables = array(
            'DOOZR_APP_ROOT' => str_replace('\\', '\\\\', DOOZR_APP_ROOT),
            'DOOZR_DOCUMENT_ROOT' => str_replace('\\', '\\\\', DOOZR_DOCUMENT_ROOT),
            'DOOZR_DIRECTORY_TEMP' => str_replace('\\', '\\\\', DOOZR_DIRECTORY_TEMP),
            'DOOZR_NAMESPACE_FLAT' => DOOZR_NAMESPACE_FLAT,
        );

        // Do default replacements
        foreach ($variables as $variable => $value) {
            $configuration = str_replace('{{'.$variable.'}}', $value, $configuration);
        }

        return $configuration;
    }
protected function process($filename, $uuid)
    {
        $configuration = $this->readFile($filename, $uuid);

        // The directives to execute and the fail-on-error status (true|false)
        $directives = array(
            self::DIRECTIVE_INCLUDE => false,
            self::DIRECTIVE_REQUIRE => true,
        );

        foreach ($directives as $directive => $strict) {
            $extracted = $this->extractDirectives($directive, $configuration);

            foreach ($extracted[1] as $index => $include) {
                $includeFilename = realpath(dirname($filename).DIRECTORY_SEPARATOR.$include);

                if ($includeFilename !== false) {
                    $content = $this->readFile($includeFilename);
                } elseif ($strict === false) {
                    $content = '{}';
                } else {
                    throw new Doozr_Configuration_Exception(
                        'The file "'.$filename.'" could not be included. Sure it exists?'
                    );
                }

                $configuration = str_replace(
                    '"'.$extracted[0][$index].'"',
                    //$extracted[0][$index],
                    $content,
                    $configuration
                );
            }
        }

        /*
         *
         * @todo RETRIEVE DOOZR CONSTANTS SO EXPENSIVE?
         *
         */

        // After executing directive like function calls
        $variables = array(
            'DOOZR_APP_ROOT' => str_replace('\\', '\\\\', DOOZR_APP_ROOT),
            'DOOZR_DOCUMENT_ROOT' => str_replace('\\', '\\\\', DOOZR_DOCUMENT_ROOT),
            'DOOZR_DIRECTORY_TEMP' => str_replace('\\', '\\\\', DOOZR_DIRECTORY_TEMP),
            'DOOZR_NAMESPACE_FLAT' => DOOZR_NAMESPACE_FLAT,
        );

        // Do default replacements
        foreach ($variables as $variable => $value) {
            $configuration = str_replace('{{'.$variable.'}}', $value, $configuration);
        }

        return $configuration;
    }
protected function process ( $ filename , $ uuid ) { $ configuration = $ this -> readFile ( $ filename , $ uuid ) ; // The directives to execute and the fail-on-error status (true|false) $ directives = array ( self :: DIRECTIVE_INCLUDE => false , self :: DIRECTIVE_REQUIRE => true , ) ; foreach ( $ directives as $ directive => $ strict ) { $ extracted = $ this -> extractDirectives ( $ directive , $ configuration ) ; foreach ( $ extracted [ 1 ] as $ index => $ include ) { $ includeFilename = realpath ( dirname ( $ filename ) . DIRECTORY_SEPARATOR . $ include ) ; if ( $ includeFilename !== false ) { $ content = $ this -> readFile ( $ includeFilename ) ; } elseif ( $ strict === false ) { $ content = '{}' ; } else { throw new Doozr_Configuration_Exception ( 'The file "' . $ filename . '" could not be included. Sure it exists?' ) ; } $ configuration = str_replace ( '"' . $ extracted [ 0 ] [ $ index ] . '"' , //$extracted[0][$index], $ content , $ configuration ) ; } } /*
         *
         * @todo RETRIEVE DOOZR CONSTANTS SO EXPENSIVE?
         *
         */ // After executing directive like function calls $ variables = array ( 'DOOZR_APP_ROOT' => str_replace ( '\\' , '\\\\' , DOOZR_APP_ROOT ) , 'DOOZR_DOCUMENT_ROOT' => str_replace ( '\\' , '\\\\' , DOOZR_DOCUMENT_ROOT ) , 'DOOZR_DIRECTORY_TEMP' => str_replace ( '\\' , '\\\\' , DOOZR_DIRECTORY_TEMP ) , 'DOOZR_NAMESPACE_FLAT' => DOOZR_NAMESPACE_FLAT , ) ; // Do default replacements foreach ( $ variables as $ variable => $ value ) { $ configuration = str_replace ( '{{' . $ variable . '}}' , $ value , $ configuration ) ; } return $ configuration ; }
Process the filename and return content for it parsed and complete.

@param string $filename The filename to process
@param string $uuid     The UUID of the file

@author Benjamin Carl <opensource@clickalicious.de>

@return string The content of the file

@throws Doozr_Configuration_Exception
Process the filename and return content for it parsed and complete .