/** * Method initializes parsing of extension.xml.gz file. * * @param string $localExtensionListFile absolute path to extension list xml.gz * @param int $repositoryUid UID of repository when inserting records into DB * @return int total number of imported extension versions */ public function import($localExtensionListFile, $repositoryUid = NULL) { if (!is_null($repositoryUid) && is_int($repositoryUid)) { $this->repositoryUid = $repositoryUid; } $zlibStream = 'compress.zlib://'; $this->sumRecords = 0; $this->parser->parseXML($zlibStream . $localExtensionListFile); // flush last rows to database if existing if (!empty($this->arrRows)) { $GLOBALS['TYPO3_DB']->exec_INSERTmultipleRows('tx_extensionmanager_domain_model_extension', self::$fieldNames, $this->arrRows, self::$fieldIndicesNoQuote); } $extensions = $this->extensionRepository->insertLastVersion($this->repositoryUid); $this->repositoryRepository->updateRepositoryCount($extensions, $this->repositoryUid); return $this->sumRecords; }
/** * Method initializes parsing of extension.xml.gz file. * * @param string $localExtensionListFile absolute path to extension list xml.gz * @param int $repositoryUid UID of repository when inserting records into DB * @return int total number of imported extension versions */ public function import($localExtensionListFile, $repositoryUid = null) { if (!is_null($repositoryUid) && is_int($repositoryUid)) { $this->repositoryUid = $repositoryUid; } $zlibStream = 'compress.zlib://'; $this->sumRecords = 0; $this->parser->parseXml($zlibStream . $localExtensionListFile); // flush last rows to database if existing if (!empty($this->arrRows)) { GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_extensionmanager_domain_model_extension')->bulkInsert('tx_extensionmanager_domain_model_extension', $this->arrRows, self::$fieldNames); } $extensions = $this->extensionRepository->insertLastVersion($this->repositoryUid); $this->repositoryRepository->updateRepositoryCount($extensions, $this->repositoryUid); return $this->sumRecords; }