/**
  * Method collects and stores extension version details into the database.
  *
  * @access  protected
  * @param   SplSubject  $subject  a subject notifying this observer
  * @return  void
  */
 protected function loadIntoDB(SplSubject &$subject)
 {
     // flush every 50 rows to database
     if ($this->sumRecords !== 0 && $this->sumRecords % 50 === 0) {
         $GLOBALS['TYPO3_DB']->exec_INSERTmultipleRows('cache_extensions', self::$fieldNames, $this->arrRows, self::$fieldIndicesNoQuote);
         $this->arrRows = array();
     }
     // order must match that of self::$fieldNamses!
     $this->arrRows[] = array($subject->getExtkey(), $subject->getVersion(), tx_em_Tools::makeVersion($subject->getVersion(), 'int'), intval($subject->getAlldownloadcounter()), intval($subject->getDownloadcounter()), !is_null($subject->getTitle()) ? $subject->getTitle() : '', $subject->getOwnerusername(), !is_null($subject->getAuthorname()) ? $subject->getAuthorname() : '', !is_null($subject->getAuthoremail()) ? $subject->getAuthoremail() : '', !is_null($subject->getAuthorcompany()) ? $subject->getAuthorcompany() : '', intval($subject->getLastuploaddate()), $subject->getT3xfilemd5(), $this->repositoryUID, tx_em_Tools::getDefaultState($subject->getState() ? $subject->getState() : ''), intval($subject->getReviewstate()), tx_em_Tools::getDefaultCategory($subject->getCategory() ? $subject->getCategory() : ''), $subject->getDescription() ? $subject->getDescription() : '', $subject->getDependencies() ? $subject->getDependencies() : '', $subject->getUploadcomment() ? $subject->getUploadcomment() : '');
     ++$this->sumRecords;
 }
Пример #2
0
 /**
  * Method collects and stores extension version details into the database.
  *
  * @param \SplSubject|\TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser &$subject a subject notifying this observer
  * @return void
  */
 protected function loadIntoDatabase(\SplSubject &$subject)
 {
     // flush every 50 rows to database
     if ($this->sumRecords !== 0 && $this->sumRecords % 50 === 0) {
         $GLOBALS['TYPO3_DB']->exec_INSERTmultipleRows('tx_extensionmanager_domain_model_extension', self::$fieldNames, $this->arrRows, self::$fieldIndicesNoQuote);
         $this->arrRows = array();
     }
     $versionRepresentations = \TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionStringToArray($subject->getVersion());
     // order must match that of self::$fieldNames!
     $this->arrRows[] = array($subject->getExtkey(), $subject->getVersion(), $versionRepresentations['version_int'], 0, (int) $subject->getAlldownloadcounter(), (int) $subject->getDownloadcounter(), !is_null($subject->getTitle()) ? $subject->getTitle() : '', $subject->getOwnerusername(), !is_null($subject->getAuthorname()) ? $subject->getAuthorname() : '', !is_null($subject->getAuthoremail()) ? $subject->getAuthoremail() : '', !is_null($subject->getAuthorcompany()) ? $subject->getAuthorcompany() : '', (int) $subject->getLastuploaddate(), $subject->getT3xfilemd5(), $this->repositoryUid, $this->extensionModel->getDefaultState($subject->getState() ?: ''), (int) $subject->getReviewstate(), $this->extensionModel->getCategoryIndexFromStringOrNumber($subject->getCategory() ?: ''), $subject->getDescription() ?: '', $subject->getDependencies() ?: '', $subject->getUploadcomment() ?: '');
     ++$this->sumRecords;
 }
Пример #3
0
 /**
  * Method collects and stores extension version details into the database.
  *
  * @param \SplSubject|\TYPO3\CMS\Extensionmanager\Utility\Parser\AbstractExtensionXmlParser &$subject a subject notifying this observer
  * @return void
  */
 protected function loadIntoDatabase(\SplSubject &$subject)
 {
     // flush every 50 rows to database
     if ($this->sumRecords !== 0 && $this->sumRecords % 50 === 0) {
         GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_extensionmanager_domain_model_extension')->bulkInsert('tx_extensionmanager_domain_model_extension', $this->arrRows, self::$fieldNames);
         $this->arrRows = [];
     }
     $versionRepresentations = \TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionStringToArray($subject->getVersion());
     // order must match that of self::$fieldNames!
     $this->arrRows[] = [$subject->getExtkey(), $subject->getVersion(), $versionRepresentations['version_int'], 0, (int) $subject->getAlldownloadcounter(), (int) $subject->getDownloadcounter(), !is_null($subject->getTitle()) ? $subject->getTitle() : '', $subject->getOwnerusername(), !is_null($subject->getAuthorname()) ? $subject->getAuthorname() : '', !is_null($subject->getAuthoremail()) ? $subject->getAuthoremail() : '', !is_null($subject->getAuthorcompany()) ? $subject->getAuthorcompany() : '', (int) $subject->getLastuploaddate(), $subject->getT3xfilemd5(), $this->repositoryUid, $this->extensionModel->getDefaultState($subject->getState() ?: ''), (int) $subject->getReviewstate(), $this->extensionModel->getCategoryIndexFromStringOrNumber($subject->getCategory() ?: ''), $subject->getDescription() ?: '', $subject->getDependencies() ?: '', $subject->getUploadcomment() ?: ''];
     ++$this->sumRecords;
 }