code/libraries/joomlatools/library/template/locator/identifier.php
public function parseIdentifier($url)
    {
        $engines = $this->getObject('template.engine.factory')->getFileTypes();

        //Set defaults
        $path   = null;
        $file   = null;
        $format = null;
        $type   = null;

        //Qualify partial templates.
        if(strpos($url, ':') === false)
        {
            /**
             * Parse identifiers in following formats :
             *
             * - '[file.[format].[type]';
             * - '[file].[format];
             */

            $parts = explode('.', $url);

            if(in_array(end($parts), $engines)) {
                $type = array_pop($parts);
            }

            $format = array_pop($parts);
            $file   = array_pop($parts);

            $info = array(
                'package' => '',
                'path'    => '',
                'file'   => $file,
                'format' => $format,
                'type'   => $type,
            );
        }
        else
        {
            /**
             * Parse identifiers in following formats :
             *
             * - '[package].[path].[file].[format].[type]';
             * - '[package].[path].[file].[format];
             */

            $parts = explode('.', $url);

            if(in_array(end($parts), $engines))
            {
                $type  =  array_pop($parts);
                $format = array_pop($parts);
                $file   = array_pop($parts);
            }
            else
            {
                $format = array_pop($parts);
                $file   = array_pop($parts);
            }

            $info = array(
                'package' => array_shift($parts),
                'path'    => implode('.', $parts),
                'file'   => $file,
                'format' => $format,
                'type'   => $type,
            );
        }

        return $info;
    }
public function parseIdentifier($url)
    {
        $engines = $this->getObject('template.engine.factory')->getFileTypes();

        //Set defaults
        $path   = null;
        $file   = null;
        $format = null;
        $type   = null;

        //Qualify partial templates.
        if(strpos($url, ':') === false)
        {
            /**
             * Parse identifiers in following formats :
             *
             * - '[file.[format].[type]';
             * - '[file].[format];
             */

            $parts = explode('.', $url);

            if(in_array(end($parts), $engines)) {
                $type = array_pop($parts);
            }

            $format = array_pop($parts);
            $file   = array_pop($parts);

            $info = array(
                'package' => '',
                'path'    => '',
                'file'   => $file,
                'format' => $format,
                'type'   => $type,
            );
        }
        else
        {
            /**
             * Parse identifiers in following formats :
             *
             * - '[package].[path].[file].[format].[type]';
             * - '[package].[path].[file].[format];
             */

            $parts = explode('.', $url);

            if(in_array(end($parts), $engines))
            {
                $type  =  array_pop($parts);
                $format = array_pop($parts);
                $file   = array_pop($parts);
            }
            else
            {
                $format = array_pop($parts);
                $file   = array_pop($parts);
            }

            $info = array(
                'package' => array_shift($parts),
                'path'    => implode('.', $parts),
                'file'   => $file,
                'format' => $format,
                'type'   => $type,
            );
        }

        return $info;
    }
public function parseIdentifier ( $ url ) { $ engines = $ this -> getObject ( 'template.engine.factory' ) -> getFileTypes ( ) ; //Set defaults $ path = null ; $ file = null ; $ format = null ; $ type = null ; //Qualify partial templates. if ( strpos ( $ url , ':' ) === false ) { /**
             * Parse identifiers in following formats :
             *
             * - '[file.[format].[type]';
             * - '[file].[format];
             */ $ parts = explode ( '.' , $ url ) ; if ( in_array ( end ( $ parts ) , $ engines ) ) { $ type = array_pop ( $ parts ) ; } $ format = array_pop ( $ parts ) ; $ file = array_pop ( $ parts ) ; $ info = array ( 'package' => '' , 'path' => '' , 'file' => $ file , 'format' => $ format , 'type' => $ type , ) ; } else { /**
             * Parse identifiers in following formats :
             *
             * - '[package].[path].[file].[format].[type]';
             * - '[package].[path].[file].[format];
             */ $ parts = explode ( '.' , $ url ) ; if ( in_array ( end ( $ parts ) , $ engines ) ) { $ type = array_pop ( $ parts ) ; $ format = array_pop ( $ parts ) ; $ file = array_pop ( $ parts ) ; } else { $ format = array_pop ( $ parts ) ; $ file = array_pop ( $ parts ) ; } $ info = array ( 'package' => array_shift ( $ parts ) , 'path' => implode ( '.' , $ parts ) , 'file' => $ file , 'format' => $ format , 'type' => $ type , ) ; } return $ info ; }
Parse a template identifier

@return array
Parse a template identifier