kernel/private/classes/ezpextension.php
public function getInfo()
    {
        // try extension.xml first
        if ( is_readable( $XMLFilePath = eZExtension::baseDirectory() . "/{$this->name}/extension.xml" ) )
        {
            $infoFields = array( 'name', 'description', 'version', 'copyright', 'author', 'license', 'info_url' );

            libxml_use_internal_errors( true );
            $xml = simplexml_load_file( $XMLFilePath );
            // xml parsing error
            if ( $xml === false )
            {
                eZDebug::writeError( libxml_get_errors(), "ezpExtension({$this->name})::getInfo()" );
                return null;
            }
            $return = array();
            $metadataNode = $xml->metadata;

            // standard extension metadata
            foreach ( $infoFields as $field )
            {
                if ( (string)$metadataNode->$field !== '' )
                    $return[$field] = (string)$metadataNode->$field;
            }

            // 3rd party software
            if ( !$metadataNode->software->uses )
                return $return;

            $index = 1;
            foreach ( $metadataNode->software->uses as $software )
            {
                $label = "Includes the following third-party software";
                if ( $index > 1 )
                    $label .= " (" . $index . ")";

                foreach ( $infoFields as $field )
                {
                    if ( (string)$software->$field !== '' )
                        $return[$label][$field] = (string)$software->$field;
                }
                $index++;
            }

            return $return;
        }
        // then try ezinfo.php, for backwards compatibility
        elseif ( is_readable( $infoFilePath = eZExtension::baseDirectory() . "/{$this->name}/ezinfo.php" ) )
        {
            include_once( $infoFilePath );
            $className = $this->name . 'Info';
            if ( is_callable( array( $className, 'info' ) ) )
            {
                $result = call_user_func_array( array( $className, 'info' ), array() );
                if ( is_array( $result ) )
                {
                    return $result;
                }
            }
        }
        else
        {
            return null;
        }
    }
public function getInfo()
    {
        // try extension.xml first
        if ( is_readable( $XMLFilePath = eZExtension::baseDirectory() . "/{$this->name}/extension.xml" ) )
        {
            $infoFields = array( 'name', 'description', 'version', 'copyright', 'author', 'license', 'info_url' );

            libxml_use_internal_errors( true );
            $xml = simplexml_load_file( $XMLFilePath );
            // xml parsing error
            if ( $xml === false )
            {
                eZDebug::writeError( libxml_get_errors(), "ezpExtension({$this->name})::getInfo()" );
                return null;
            }
            $return = array();
            $metadataNode = $xml->metadata;

            // standard extension metadata
            foreach ( $infoFields as $field )
            {
                if ( (string)$metadataNode->$field !== '' )
                    $return[$field] = (string)$metadataNode->$field;
            }

            // 3rd party software
            if ( !$metadataNode->software->uses )
                return $return;

            $index = 1;
            foreach ( $metadataNode->software->uses as $software )
            {
                $label = "Includes the following third-party software";
                if ( $index > 1 )
                    $label .= " (" . $index . ")";

                foreach ( $infoFields as $field )
                {
                    if ( (string)$software->$field !== '' )
                        $return[$label][$field] = (string)$software->$field;
                }
                $index++;
            }

            return $return;
        }
        // then try ezinfo.php, for backwards compatibility
        elseif ( is_readable( $infoFilePath = eZExtension::baseDirectory() . "/{$this->name}/ezinfo.php" ) )
        {
            include_once( $infoFilePath );
            $className = $this->name . 'Info';
            if ( is_callable( array( $className, 'info' ) ) )
            {
                $result = call_user_func_array( array( $className, 'info' ), array() );
                if ( is_array( $result ) )
                {
                    return $result;
                }
            }
        }
        else
        {
            return null;
        }
    }
public function getInfo ( ) { // try extension.xml first if ( is_readable ( $ XMLFilePath = eZExtension :: baseDirectory ( ) . "/{$this->name}/extension.xml" ) ) { $ infoFields = array ( 'name' , 'description' , 'version' , 'copyright' , 'author' , 'license' , 'info_url' ) ; libxml_use_internal_errors ( true ) ; $ xml = simplexml_load_file ( $ XMLFilePath ) ; // xml parsing error if ( $ xml === false ) { eZDebug :: writeError ( libxml_get_errors ( ) , "ezpExtension({$this->name})::getInfo()" ) ; return null ; } $ return = array ( ) ; $ metadataNode = $ xml -> metadata ; // standard extension metadata foreach ( $ infoFields as $ field ) { if ( ( string ) $ metadataNode -> $ field !== '' ) $ return [ $ field ] = ( string ) $ metadataNode -> $ field ; } // 3rd party software if ( ! $ metadataNode -> software -> uses ) return $ return ; $ index = 1 ; foreach ( $ metadataNode -> software -> uses as $ software ) { $ label = "Includes the following third-party software" ; if ( $ index > 1 ) $ label .= " (" . $ index . ")" ; foreach ( $ infoFields as $ field ) { if ( ( string ) $ software -> $ field !== '' ) $ return [ $ label ] [ $ field ] = ( string ) $ software -> $ field ; } $ index ++ ; } return $ return ; } // then try ezinfo.php, for backwards compatibility elseif ( is_readable ( $ infoFilePath = eZExtension :: baseDirectory ( ) . "/{$this->name}/ezinfo.php" ) ) { include_once ( $ infoFilePath ) ; $ className = $ this -> name . 'Info' ; if ( is_callable ( array ( $ className , 'info' ) ) ) { $ result = call_user_func_array ( array ( $ className , 'info' ) , array ( ) ) ; if ( is_array ( $ result ) ) { return $ result ; } } } else { return null ; } }
Returns the extension informations
Uses extension.xml by default, then tries ezinfo.php for backwards compatibility

@since 4.4
@return array|null array of extension informations, or null if no source exists
Returns the extension informations Uses extension . xml by default then tries ezinfo . php for backwards compatibility