‪TYPO3CMS  10.4
TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility:

Public Member Functions

 __construct ()
 
int import ($localExtensionListFile, $repositoryUid=null)
 
 update (\SplSubject $subject)
 

Protected Member Functions

 loadIntoDatabase (AbstractExtensionXmlParser &$subject)
 

Protected Attributes

AbstractExtensionXmlParser $parser
 
int $sumRecords = 0
 
array $arrRows = array( )
 
int $maxRowsPerChunk = 50
 
int $repositoryUid = 1
 
TYPO3 CMS Extensionmanager Domain Repository RepositoryRepository $repositoryRepository
 
TYPO3 CMS Extensionmanager Domain Repository ExtensionRepository $extensionRepository
 
TYPO3 CMS Extensionmanager Domain Model Extension $extensionModel
 
TYPO3 CMS Extbase Object ObjectManager $objectManager
 
int $minimumDateToImport
 

Static Protected Attributes

static array $fieldNames
 
static string $tableName = 'tx_extensionmanager_domain_model_extension'
 

Detailed Description

Importer object for extension list

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

Definition at line 34 of file ExtensionListUtility.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::__construct ( )

Class constructor.

Method retrieves and initializes extension XML parser instance.

Exceptions

Definition at line 133 of file ExtensionListUtility.php.

References TYPO3\CMS\Core\Database\Platform\PlatformInformation\getMaxBindParameters(), and TYPO3\CMS\Extensionmanager\Utility\Parser\XmlParserFactory\getParserInstance().

Member Function Documentation

◆ import()

int TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::import (   $localExtensionListFile,
  $repositoryUid = null 
)

Method initializes parsing of extension.xml.gz file.

Parameters
string$localExtensionListFile‪absolute path to extension list xml.gz
int$repositoryUid‪UID of repository when inserting records into DB
Returns
‪int total number of imported extension versions

Definition at line 181 of file ExtensionListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility\$repositoryUid, and TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility\$sumRecords.

◆ loadIntoDatabase()

TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::loadIntoDatabase ( AbstractExtensionXmlParser $subject)
protected

Method collects and stores extension version details into the database.

Parameters
AbstractExtensionXmlParser$subject‪a subject notifying this observer

Definition at line 209 of file ExtensionListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility\$repositoryUid, TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility\$sumRecords, TYPO3\CMS\Core\Utility\VersionNumberUtility\convertVersionStringToArray(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getAlldownloadcounter(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getAuthorcompany(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getAuthoremail(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getAuthorname(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getCategory(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getDependencies(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getDescription(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getDocumentationLink(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getDownloadcounter(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getExtkey(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getLastuploaddate(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getOwnerusername(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getReviewstate(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getState(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getT3xfilemd5(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getTitle(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getUploadcomment(), TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\getVersion(), and TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser\isValidVersionNumber().

Referenced by TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility\update().

◆ update()

TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::update ( \SplSubject  $subject)

Method receives an update from a subject.

Parameters
\SplSubject$subject‪a subject notifying this observer

Definition at line 259 of file ExtensionListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility\loadIntoDatabase().

Member Data Documentation

◆ $arrRows

array TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$arrRows = array( )
protected

Keeps record values to be inserted into database.

Definition at line 52 of file ExtensionListUtility.php.

◆ $extensionModel

TYPO3 CMS Extensionmanager Domain Model Extension TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$extensionModel
protected

Definition at line 113 of file ExtensionListUtility.php.

◆ $extensionRepository

TYPO3 CMS Extensionmanager Domain Repository ExtensionRepository TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$extensionRepository
protected

Definition at line 109 of file ExtensionListUtility.php.

◆ $fieldNames

array TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$fieldNames
staticprotected
Initial value:
= array(
'extension_key',
'version',
'integer_version',
'current_version',
'alldownloadcounter',
'downloadcounter',
'title',
'ownerusername',
'author_name',
'author_email',
'authorcompany',
'last_updated',
'md5hash',
'repository',
'state',
'review_state',
'category',
'description',
'serialized_dependencies',
'update_comment',
'documentation_link'
)

Keeps fieldnames of tx_extensionmanager_domain_model_extension table.

Definition at line 58 of file ExtensionListUtility.php.

◆ $maxRowsPerChunk

int TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$maxRowsPerChunk = 50
protected

Maximum of rows that can be used in a bulk insert for the current database platform.

Definition at line 93 of file ExtensionListUtility.php.

◆ $minimumDateToImport

int TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$minimumDateToImport
protected

Only import extensions newer than this date (timestamp), see constructor

Definition at line 124 of file ExtensionListUtility.php.

◆ $objectManager

TYPO3 CMS Extbase Object ObjectManager TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$objectManager
protected

Definition at line 117 of file ExtensionListUtility.php.

◆ $parser

AbstractExtensionXmlParser TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$parser
protected

Keeps instance of a XML parser.

Definition at line 40 of file ExtensionListUtility.php.

◆ $repositoryRepository

TYPO3 CMS Extensionmanager Domain Repository RepositoryRepository TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$repositoryRepository
protected

Definition at line 105 of file ExtensionListUtility.php.

◆ $repositoryUid

int TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$repositoryUid = 1
protected

◆ $sumRecords

int TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$sumRecords = 0
protected

◆ $tableName

string TYPO3\CMS\Extensionmanager\Utility\Importer\ExtensionListUtility::$tableName = 'tx_extensionmanager_domain_model_extension'
staticprotected

Table name to be used to store extension models.

Definition at line 86 of file ExtensionListUtility.php.