/** * Processes the actual transformation from CSV to sys_file_references * * @param array $record * @param string $field * @return void */ protected function migrateRecord(array $record, $field) { if ($field === 'fal_related_files') { $file = $record['file']; } else { $file = $record['image']; } if (!empty($file) && file_exists(PATH_site . 'uploads/tx_news/' . $file)) { GeneralUtility::upload_copy_move(PATH_site . 'uploads/tx_news/' . $file, $this->targetDirectory . $file); $fileObject = $this->storage->getFile(self::FOLDER_ContentUploads . '/' . $file); $this->fileRepository->add($fileObject); $dataArray = ['uid_local' => $fileObject->getUid(), 'tablenames' => 'tx_news_domain_model_news', 'fieldname' => $field, 'uid_foreign' => $record['newsUid'], 'table_local' => 'sys_file', 'cruser_id' => 999, 'pid' => $record['newsPid'], 'sorting_foreign' => $record['sorting'], 'title' => $record['title'], 'hidden' => $record['hidden']]; if ($field === 'fal_media') { $description = []; if (!empty($record['caption'])) { $description[] = $record['caption']; } if (!empty($record['description'])) { $description[] = $record['description']; } $additionalData = ['description' => implode(LF . LF, $description), 'alternative' => $record['alt'], 'showinpreview' => $record['showinpreview']]; } else { $additionalData = ['description' => $record['description']]; } $dataArray += $additionalData; $GLOBALS['TYPO3_DB']->exec_INSERTquery('sys_file_reference', $dataArray); } }
/** * Migrate files to sys_file_references * * @param array $record * @param string $field * @return void */ protected function migrateFiles(array $record, $field) { $filesList = $record['tx_jhopengraphprotocol_ogimage']; $files = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $filesList, TRUE); if ($files) { foreach ($files as $file) { if (file_exists(PATH_site . 'uploads/tx_jhopengraphprotocol/' . $file)) { \TYPO3\CMS\Core\Utility\GeneralUtility::upload_copy_move(PATH_site . 'uploads/tx_jhopengraphprotocol/' . $file, $this->targetDirectory . $file); $fileObject = $this->storage->getFile(self::FOLDER_ContentUploads . '/' . $file); $this->fileRepository->add($fileObject); $dataArray = array('uid_local' => $fileObject->getUid(), 'tablenames' => 'pages', 'fieldname' => $field, 'uid_foreign' => $record['uid'], 'table_local' => 'sys_file', 'cruser_id' => self::CruserId, 'pid' => $record['pid'], 'sorting_foreign' => $record['sorting'], 'title' => $record['title']); $GLOBALS['TYPO3_DB']->exec_INSERTquery('sys_file_reference', $dataArray); } } } }