‪TYPO3CMS  ‪main
TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser:

Public Member Functions

 __construct ()
 
 parseXml ($file)
 
 attach (\SplObserver $observer)
 
 detach (\SplObserver $observer)
 
 notify ()
 
 getAlldownloadcounter ()
 
 getAuthorcompany ()
 
 getAuthoremail ()
 
 getAuthorname ()
 
 getCategory ()
 
 getDependencies ()
 
 getDescription ()
 
 getDownloadcounter ()
 
 getExtkey ()
 
 getLastuploaddate ()
 
 getOwnerusername ()
 
 getReviewstate ()
 
 getState ()
 
 getT3xfilemd5 ()
 
 getTitle ()
 
 getUploadcomment ()
 
 getVersion ()
 
 isValidVersionNumber ()
 
 getDocumentationLink ()
 
 getDistributionImage ()
 
 getDistributionWelcomeImage ()
 

Protected Member Functions

 startElement ($parser, $elementName, $attrs)
 
 endElement ($parser, $elementName)
 
 resetProperties ($resetAll=false)
 
 characterData ($parser, string $data)
 

Protected Attributes

array $observers = []
 
string $elementData = ''
 
string $authorcompany = ''
 
string $authoremail = ''
 
string $authorname = ''
 
string $category = ''
 
string $dependencies = ''
 
string $description = ''
 
int $extensionDownloadCounter = 0
 
string $extensionKey = ''
 
int $lastuploaddate = 0
 
string $ownerusername = ''
 
int $reviewstate = 0
 
string $state = ''
 
string $t3xfilemd5 = ''
 
string $title = ''
 
string $uploadcomment = ''
 
string $version = ''
 
int $versionDownloadCounter = 0
 
string $documentationLink = ''
 
string $distributionImage = ''
 
string $distributionWelcomeImage = ''
 

Private Member Functions

 createUnableToOpenFileResourceException (string $file)
 
 createXmlErrorException ($parser, string $file)
 

Detailed Description

Parser for TYPO3's extension.xml file.

Depends on PHP ext/xml which is a required composer php extension and enabled in PHP by default since a long time.

This class is a specific ExtensionManager implementation and is not part of the Public TYPO3 API.

Definition at line 30 of file ExtensionXmlParser.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::__construct ( )

Definition at line 68 of file ExtensionXmlParser.php.

Member Function Documentation

◆ attach()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::attach ( \SplObserver  $observer)

Method attaches an observer.

Parameters
\SplObserver$observer‪an observer to attach
See also
detach()
notify()

Definition at line 267 of file ExtensionXmlParser.php.

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\BulkExtensionRepositoryWriter\__construct().

◆ characterData()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::characterData (   $parser,
string  $data 
)
protected

Method is invoked when parser accesses any character other than elements.

Parameters
resource | \XmlParser$parser‪XmlParser with PHP >= 8
string$data‪An element's value

Definition at line 255 of file ExtensionXmlParser.php.

◆ createUnableToOpenFileResourceException()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::createUnableToOpenFileResourceException ( string  $file)
private

◆ createXmlErrorException()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::createXmlErrorException (   $parser,
string  $file 
)
private

◆ detach()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::detach ( \SplObserver  $observer)

Method detaches an attached observer

Parameters
\SplObserver$observer‪an observer to detach

Definition at line 277 of file ExtensionXmlParser.php.

◆ endElement()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::endElement (   $parser,
  $elementName 
)
protected

Method is invoked when parser accesses end tag of an element.

Parameters
resource$parser‪parser resource
string$elementName‪Element name at parser's current position

Definition at line 149 of file ExtensionXmlParser.php.

References TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\$elementData, TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\$version, TYPO3\CMS\Redirects\Message\description, TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\notify(), and TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\resetProperties().

◆ getAlldownloadcounter()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getAlldownloadcounter ( )

◆ getAuthorcompany()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getAuthorcompany ( )

◆ getAuthoremail()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getAuthoremail ( )

◆ getAuthorname()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getAuthorname ( )

◆ getCategory()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getCategory ( )

◆ getDependencies()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getDependencies ( )

Returns dependencies of an extension's version as a serialized string

Definition at line 338 of file ExtensionXmlParser.php.

References TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\$dependencies.

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\BulkExtensionRepositoryWriter\loadIntoDatabase().

◆ getDescription()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getDescription ( )

◆ getDistributionImage()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getDistributionImage ( )

◆ getDistributionWelcomeImage()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getDistributionWelcomeImage ( )

◆ getDocumentationLink()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getDocumentationLink ( )

◆ getDownloadcounter()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getDownloadcounter ( )

◆ getExtkey()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getExtkey ( )

◆ getLastuploaddate()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getLastuploaddate ( )

◆ getOwnerusername()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getOwnerusername ( )

◆ getReviewstate()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getReviewstate ( )

◆ getState()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getState ( )

◆ getT3xfilemd5()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getT3xfilemd5 ( )

◆ getTitle()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getTitle ( )

◆ getUploadcomment()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getUploadcomment ( )

◆ getVersion()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::getVersion ( )

◆ isValidVersionNumber()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::isValidVersionNumber ( )

Whether the current version number is valid

Definition at line 434 of file ExtensionXmlParser.php.

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\BulkExtensionRepositoryWriter\loadIntoDatabase().

◆ notify()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::notify ( )

Method notifies attached observers.

Definition at line 288 of file ExtensionXmlParser.php.

Referenced by TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\endElement().

◆ parseXml()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::parseXml (   $file)

Method parses an extensions.xml file.

Parameters
string$file‪GZIP stream resource
Exceptions
ExtensionManagerException‪in case of parse errors

Definition at line 81 of file ExtensionXmlParser.php.

References $parser, TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\createUnableToOpenFileResourceException(), and TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\createXmlErrorException().

◆ resetProperties()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::resetProperties (   $resetAll = false)
protected

Method resets version class properties.

Parameters
bool$resetAll‪If TRUE, additionally extension properties are reset

Definition at line 236 of file ExtensionXmlParser.php.

References TYPO3\CMS\Redirects\Message\description.

Referenced by TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\endElement().

◆ startElement()

TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::startElement (   $parser,
  $elementName,
  $attrs 
)
protected

Method is invoked when parser accesses start tag of an element.

Parameters
resource$parser‪parser resource
string$elementName‪element name at parser's current position
array$attrs‪array of an element's attributes if available

Definition at line 129 of file ExtensionXmlParser.php.

Member Data Documentation

◆ $authorcompany

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$authorcompany = ''
protected

Parsed property data

Definition at line 47 of file ExtensionXmlParser.php.

Referenced by TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\getAuthorcompany().

◆ $authoremail

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$authoremail = ''
protected

◆ $authorname

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$authorname = ''
protected

◆ $category

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$category = ''
protected

◆ $dependencies

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$dependencies = ''
protected

◆ $description

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$description = ''
protected

◆ $distributionImage

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$distributionImage = ''
protected

◆ $distributionWelcomeImage

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$distributionWelcomeImage = ''
protected

◆ $documentationLink

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$documentationLink = ''
protected

◆ $elementData

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$elementData = ''
protected

Keeps current data of element to process.

Definition at line 42 of file ExtensionXmlParser.php.

Referenced by TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser\endElement().

◆ $extensionDownloadCounter

int TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$extensionDownloadCounter = 0
protected

◆ $extensionKey

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$extensionKey = ''
protected

◆ $lastuploaddate

int TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$lastuploaddate = 0
protected

◆ $observers

array TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$observers = []
protected

Definition at line 37 of file ExtensionXmlParser.php.

◆ $ownerusername

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$ownerusername = ''
protected

◆ $reviewstate

int TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$reviewstate = 0
protected

◆ $state

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$state = ''
protected

◆ $t3xfilemd5

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$t3xfilemd5 = ''
protected

◆ $title

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$title = ''
protected

◆ $uploadcomment

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$uploadcomment = ''
protected

◆ $version

string TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$version = ''
protected

◆ $versionDownloadCounter

int TYPO3\CMS\Extensionmanager\Parser\ExtensionXmlParser::$versionDownloadCounter = 0
protected