76 'serialized_dependencies',
118 public function __construct() {
121 $this->repositoryRepository = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Domain\\Repository\\RepositoryRepository');
122 $this->extensionRepository = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Domain\\Repository\\ExtensionRepository');
123 $this->extensionModel = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Domain\\Model\\Extension');
126 if (is_object($this->parser)) {
127 $this->parser->attach($this);
129 throw new \TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException(get_class($this) .
': No XML parser available.');
141 if (!is_null($repositoryUid) && is_int($repositoryUid)) {
144 $zlibStream =
'compress.zlib://';
145 $this->sumRecords = 0;
146 $this->parser->parseXML($zlibStream . $localExtensionListFile);
148 if (count($this->arrRows)) {
149 $GLOBALS[
'TYPO3_DB']->exec_INSERTmultipleRows(
'tx_extensionmanager_domain_model_extension', self::$fieldNames, $this->arrRows, self::$fieldIndicesNoQuote);
151 $extensions = $this->extensionRepository->insertLastVersion($this->repositoryUid);
152 $this->repositoryRepository->updateRepositoryCount($extensions, $this->repositoryUid);
164 if ($this->sumRecords !== 0 && $this->sumRecords % 50 === 0) {
165 $GLOBALS[
'TYPO3_DB']->exec_INSERTmultipleRows(
'tx_extensionmanager_domain_model_extension', self::$fieldNames, $this->arrRows, self::$fieldIndicesNoQuote);
166 $this->arrRows = array();
170 $this->arrRows[] = array(
171 $subject->getExtkey(),
172 $subject->getVersion(),
173 $versionRepresentations[
'version_int'],
176 (int)$subject->getAlldownloadcounter(),
177 (int)$subject->getDownloadcounter(),
178 !is_null($subject->getTitle()) ? $subject->getTitle() :
'',
179 $subject->getOwnerusername(),
180 !is_null($subject->getAuthorname()) ? $subject->getAuthorname() :
'',
181 !is_null($subject->getAuthoremail()) ? $subject->getAuthoremail() :
'',
182 !is_null($subject->getAuthorcompany()) ? $subject->getAuthorcompany() :
'',
183 (int)$subject->getLastuploaddate(),
184 $subject->getT3xfilemd5(),
186 $this->extensionModel->getDefaultState($subject->getState() ?:
''),
187 (
int)$subject->getReviewstate(),
188 $this->extensionModel->getCategoryIndexFromStringOrNumber($subject->getCategory() ?:
''),
189 $subject->getDescription() ?:
'',
190 $subject->getDependencies() ?:
'',
191 $subject->getUploadcomment() ?:
'' 202 public function update(\SplSubject $subject) {
203 if (is_subclass_of($subject,
'TYPO3\\CMS\\Extensionmanager\\Utility\\Parser\\AbstractExtensionXmlParser')) {
static $fieldIndicesNoQuote
update(\SplSubject $subject)
static makeInstance($className)
static convertVersionStringToArray($version)
loadIntoDatabase(\SplSubject &$subject)
static getParserInstance($parserType, $excludeClassNames='')
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]