diff --git a/typo3/sysext/impexp/Tests/Functional/Export/AbstractExportTestCase.php b/typo3/sysext/impexp/Tests/Functional/AbstractImportExportTestCase.php similarity index 58% rename from typo3/sysext/impexp/Tests/Functional/Export/AbstractExportTestCase.php rename to typo3/sysext/impexp/Tests/Functional/AbstractImportExportTestCase.php index ba13baef898de53df3e35bc74f2c87b0733a086a..3653ed59b3d16a7d3e89703bbb1e851a45266181 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/AbstractExportTestCase.php +++ b/typo3/sysext/impexp/Tests/Functional/AbstractImportExportTestCase.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export; +namespace TYPO3\CMS\Impexp\Tests\Functional; /* * This file is part of the TYPO3 CMS project. @@ -14,33 +14,39 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export; * The TYPO3 project - inspiring people to share! */ +use TYPO3\CMS\Backend\Tree\View\PageTreeView; +use TYPO3\CMS\Core\Core\Bootstrap; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Database\Query\QueryHelper; use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction; use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** - * Functional test for the Export + * Abstract used by ext:impexp functional tests */ -abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Functional\FunctionalTestCase +abstract class AbstractImportExportTestCase extends FunctionalTestCase { - /** - * Path to a XML fixture dependent on the current database. - * @var string - */ - protected $fixturePath = __DIR__ . '/../Fixtures/ImportExportXml/'; - /** * @var array */ - protected $coreExtensionsToLoad = ['impexp']; + protected $coreExtensionsToLoad = [ + 'impexp', + ]; /** - * @var \TYPO3\CMS\Impexp\Export + * Absolute path to files that must be removed + * after a test - handled in tearDown + * + * @var array */ - protected $export; + protected $testFilesToDelete = []; /** + * Different DBMS export different field types, the result XML is thus slightly different. + * This var is used to select a suitable XML export fixture to compare with. + * * @var string */ protected $databasePlatform; @@ -53,27 +59,44 @@ abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Funct { parent::setUp(); - $this->setUpBackendUserFromFixture(1); + $this->databasePlatform = $this->getConnectionPool() + ->getConnectionByName(ConnectionPool::DEFAULT_CONNECTION_NAME) + ->getDatabasePlatform() + ->getName(); - \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeLanguageObject(); + $backendUser = $this->setUpBackendUserFromFixture(1); + $backendUser->workspace = 0; + Bootstrap::getInstance()->initializeLanguageObject(); + } - $this->export = GeneralUtility::makeInstance(\TYPO3\CMS\Impexp\Export::class); - $this->export->init(0, 'export'); + /** + * Tear down for remove of the test files + */ + protected function tearDown() + { + foreach ($this->testFilesToDelete as $absoluteFileName) { + if (@is_file($absoluteFileName)) { + unlink($absoluteFileName); + } + } + parent::tearDown(); } /** * Builds a flat array containing the page tree with the PageTreeView * based on given start pid and depth and set it in the Export object. * + * Used in export tests + * + * @param $export Export instance * @param int $pidToStart * @param int $depth */ - protected function setPageTree($pidToStart, $depth = 1) + protected function setPageTree(Export $export, $pidToStart, $depth = 1) { $permsClause = $GLOBALS['BE_USER']->getPagePermsClause(1); - /** @var $tree \TYPO3\CMS\Backend\Tree\View\PageTreeView */ - $tree = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Tree\View\PageTreeView::class); + $tree = GeneralUtility::makeInstance(PageTreeView::class); $tree->init('AND ' . $permsClause); $tree->tree[] = ['row' => $pidToStart]; $tree->buffer_idH = []; @@ -86,16 +109,19 @@ abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Funct $idH[$pidToStart]['subrow'] = $tree->buffer_idH; } - $this->export->setPageTree($idH); + $export->setPageTree($idH); } /** * Adds records to the export object for a specific page id. * + * Used in export tests. + * + * @param $export Export instance * @param int $pid Page id for which to select records to add * @param array $tables Array of table names to select from */ - protected function addRecordsForPid($pid, array $tables) + protected function addRecordsForPid(Export $export, $pid, array $tables) { foreach ($GLOBALS['TCA'] as $table => $value) { if ($table !== 'pages' && (in_array($table, $tables) || in_array('_ALL', $tables))) { @@ -126,10 +152,31 @@ abstract class AbstractExportTestCase extends \TYPO3\TestingFramework\Core\Funct $result = $queryBuilder->execute(); while ($row = $result->fetch()) { - $this->export->export_addRecord($table, $row); + $export->export_addRecord($table, $row); } } } } } + + /** + * Test if the local filesystem is case sensitive. + * Needed for some export related tests + * + * @return bool + */ + protected function isCaseSensitiveFilesystem() + { + $caseSensitive = true; + $path = GeneralUtility::tempnam('aAbB'); + + // do the actual sensitivity check + if (@file_exists(strtoupper($path)) && @file_exists(strtolower($path))) { + $caseSensitive = false; + } + + // clean filesystem + unlink($path); + return $caseSensitive; + } } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexForm/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexFormTest.php similarity index 69% rename from typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexForm/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexFormTest.php index eb1ec7d7ab73527e877e42d50b2365bc6f97c929..82d52bf24915fd7505a37f0f6357d7221571cb7e 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexForm/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemInFlexFormTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItemInFlexForm; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItem */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class GroupFileAndFileReferenceItemInFlexFormTest extends AbstractImportExportTestCase { /** * @var array @@ -40,10 +43,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tx_impexpgroupfiles_item.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml'); } /** @@ -51,7 +54,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportGroupFileAndFileReferenceItem() { - $this->export->setRecordTypesIncludeFields( + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -98,19 +104,19 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', 'sys_file_storage' ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); - $this->export->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 2)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); + $subject->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 2)); - $this->setPageTree(2, 0); + $this->setPageTree($subject, 2, 0); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } @@ -123,13 +129,13 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor $this->markTestSkipped('Could not set file modification timestamp for a fixture binary file. This is required for running the test successful.'); } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('impexp-group-file-and-file_reference-item-in-ff.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/impexp-group-file-and-file_reference-item-in-ff.xml', $out ); } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItem/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemTest.php similarity index 58% rename from typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItem/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemTest.php index 2246cb73719a32b0e371f7bf17e1966eba17f519..61299266f5186ccfad4d4a60d470f87afe2c386c 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItem/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/GroupFileAndFileReferenceItemTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItem; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\GroupFileAndFileReferenceItem */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class GroupFileAndFileReferenceItemTest extends AbstractImportExportTestCase { /** * @var array @@ -40,10 +43,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tx_impexpgroupfiles_item.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml'); } /** @@ -51,12 +54,15 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportGroupFileAndFileReferenceItem() { - $this->compileExportGroupFileAndFileReferenceItem(); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $this->compileExportGroupFileAndFileReferenceItem($subject); + + $out = $subject->compileMemoryToFileContent('xml'); - $out = $this->export->compileMemoryToFileContent('xml'); - // 'impexp-group-file-and-file_reference-item-but-images-not-included.xml' $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/impexp-group-file-and-file_reference-item.xml', $out ); } @@ -66,25 +72,33 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportGroupFileAndFileReferenceItemButImagesNotIncluded() { - $this->export->setSaveFilesOutsideExportFile(true); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setSaveFilesOutsideExportFile(true); - $this->compileExportGroupFileAndFileReferenceItem(); + $this->compileExportGroupFileAndFileReferenceItem($subject); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('impexp-group-file-and-file_reference-item-but-images-not-included.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/impexp-group-file-and-file_reference-item-but-images-not-included.xml', $out ); - $temporaryFilesDirectory = $this->export->getTemporaryFilesPathForExport(); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', $temporaryFilesDirectory . 'e1c5c4e1e34e19e2facb438752e06c3f'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', $temporaryFilesDirectory . 'c3511df85d21bc578faf71c6a19eeb3ff44af370'); + $temporaryFilesDirectory = $subject->getTemporaryFilesPathForExport(); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', $temporaryFilesDirectory . 'e1c5c4e1e34e19e2facb438752e06c3f'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', $temporaryFilesDirectory . 'c3511df85d21bc578faf71c6a19eeb3ff44af370'); } - protected function compileExportGroupFileAndFileReferenceItem() + /** + * Add default set of records to export + * + * @param $subject Export + */ + protected function compileExportGroupFileAndFileReferenceItem(Export $subject) { - $this->export->setRecordTypesIncludeFields( + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -130,19 +144,19 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', 'sys_file_storage' ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->export->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $subject->export_addRecord('tx_impexpgroupfiles_item', BackendUtility::getRecord('tx_impexpgroupfiles_item', 1)); - $this->setPageTree(1, 0); + $this->setPageTree($subject, 1, 0); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } @@ -155,7 +169,7 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor $this->markTestSkipped('Could not set file modification timestamp for a fixture binary file. This is required for running the test successful.'); } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); } } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecords/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecordsTest.php similarity index 88% rename from typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecords/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecordsTest.php index 35d73883bde1e8de9b10c0b7a1f99eefde15c4b1..17a413839fab01c39fd9bf5a98e22907417de9db 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecords/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/IrreTutorialRecordsTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\IrreTutorialRecords; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\IrreTutorialRecords; */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class IrreTutorialRecordsTest extends AbstractImportExportTestCase { /** * @var array @@ -28,13 +31,6 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor 'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial', ]; - protected function setUp() - { - parent::setUp(); - - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/irre_tutorial.xml'); - } - /** * @test */ @@ -274,28 +270,33 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ]; - $this->export->setRecordTypesIncludeFields($recordTypesIncludeFields); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/irre_tutorial.xml'); + + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setRecordTypesIncludeFields($recordTypesIncludeFields); - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->addRecordsForPid(1, array_keys($recordTypesIncludeFields)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $this->addRecordsForPid($subject, 1, array_keys($recordTypesIncludeFields)); - $this->setPageTree(1); + $this->setPageTree($subject, 1); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('irre-records.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/irre-records.xml', $out ); } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentTest.php similarity index 59% rename from typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentTest.php index 22eebcddadc5d042812d8cdae1c3c754a48b2719..67a0ec3708bdddecb0d1d27a2c255c051bd4763f 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContent; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContent; */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class PagesAndTtContentTest extends AbstractImportExportTestCase { /** * @var array @@ -39,10 +42,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/Fixtures/Database/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml'); } /** @@ -50,7 +53,10 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContent() { - $this->export->setRecordTypesIncludeFields( + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -84,32 +90,32 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); - $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); - $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 2)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); + $subject->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); + $subject->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 2)); - $this->setPageTree(1, 1); + $this->setPageTree($subject, 1, 1); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent.xml', $out ); } diff --git a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImages/ExportTest.php b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImagesTest.php similarity index 55% rename from typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImages/ExportTest.php rename to typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImagesTest.php index 8ceac0692a9d8a47aac5de2703ea1555f5b88bcb..711e724d0154c7ad89a8bd057c87ee4fd91c568d 100644 --- a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImages/ExportTest.php +++ b/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContentWithImagesTest.php @@ -1,5 +1,5 @@ <?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContentWithImages; +namespace TYPO3\CMS\Impexp\Tests\Functional\Export; /* * This file is part of the TYPO3 CMS project. @@ -15,11 +15,14 @@ namespace TYPO3\CMS\Impexp\Tests\Functional\Export\PagesAndTtContentWithImages; */ use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Export; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; /** - * Functional test for the Export + * Test case */ -class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExportTestCase +class PagesAndTtContentWithImagesTest extends AbstractImportExportTestCase { /** * @var array @@ -32,12 +35,12 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor { parent::setUp(); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content-with-image.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_language.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_metadata.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_reference.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); } /** @@ -45,17 +48,20 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContentWithImages() { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); - $this->compileExportPagesAndRelatedTtContentWithImages(); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); - $out = $this->export->compileMemoryToFileContent('xml'); + $this->compileExportPagesAndRelatedTtContentWithImages($subject); - $errors = $this->export->printErrorLog(); + $out = $subject->compileMemoryToFileContent('xml'); + + $errors = $subject->printErrorLog(); $this->assertSame('', $errors); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent-with-image.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent-with-image.xml', $out ); } @@ -65,21 +71,24 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContentWithImagesFromCorruptSysFileRecord() { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_corrupt.xml'); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_corrupt.xml'); - $this->compileExportPagesAndRelatedTtContentWithImages(); + $this->compileExportPagesAndRelatedTtContentWithImages($subject); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $expectedErrors = [ 'File size of 1:/user_upload/typo3_image2.jpg is not up-to-date in index! File added with current size.', 'File sha1 hash of 1:/user_upload/typo3_image2.jpg is not up-to-date in index! File added on current sha1.' ]; - $errors = $this->export->errorLog; + $errors = $subject->errorLog; $this->assertSame($expectedErrors, $errors); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent-with-corrupt-image.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent-with-corrupt-image.xml', $out ); } @@ -89,26 +98,34 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor */ public function exportPagesAndRelatedTtContentWithImagesButNotIncluded() { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); + $subject = GeneralUtility::makeInstance(Export::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); - $this->export->setSaveFilesOutsideExportFile(true); + $subject->setSaveFilesOutsideExportFile(true); - $this->compileExportPagesAndRelatedTtContentWithImages(); + $this->compileExportPagesAndRelatedTtContentWithImages($subject); - $out = $this->export->compileMemoryToFileContent('xml'); + $out = $subject->compileMemoryToFileContent('xml'); $this->assertXmlStringEqualsXmlFile( - $this->getXmlFilePath('pages-and-ttcontent-with-image-but-not-included.xml'), + __DIR__ . '/../Fixtures/XmlExports/' . $this->databasePlatform . '/pages-and-ttcontent-with-image-but-not-included.xml', $out ); - $temporaryFilesDirectory = $this->export->getTemporaryFilesPathForExport(); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', $temporaryFilesDirectory . 'da9acdf1e105784a57bbffec9520969578287797'); + $temporaryFilesDirectory = $subject->getTemporaryFilesPathForExport(); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', $temporaryFilesDirectory . 'da9acdf1e105784a57bbffec9520969578287797'); } - protected function compileExportPagesAndRelatedTtContentWithImages() + /** + * Add default set of records to export + * + * @param $subject Export + */ + protected function compileExportPagesAndRelatedTtContentWithImages(Export $subject) { - $this->export->setRecordTypesIncludeFields( + $subject->setRecordTypesIncludeFields( [ 'pages' => [ 'title', @@ -183,30 +200,30 @@ class ExportTest extends \TYPO3\CMS\Impexp\Tests\Functional\Export\AbstractExpor ] ); - $this->export->relOnlyTables = [ + $subject->relOnlyTables = [ 'sys_file', 'sys_file_metadata', 'sys_file_storage', 'sys_language' ]; - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); - $this->export->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); - $this->export->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); - $this->export->export_addRecord('sys_language', BackendUtility::getRecord('sys_language', 1)); - $this->export->export_addRecord('sys_file_reference', BackendUtility::getRecord('sys_file_reference', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 1)); + $subject->export_addRecord('pages', BackendUtility::getRecord('pages', 2)); + $subject->export_addRecord('tt_content', BackendUtility::getRecord('tt_content', 1)); + $subject->export_addRecord('sys_language', BackendUtility::getRecord('sys_language', 1)); + $subject->export_addRecord('sys_file_reference', BackendUtility::getRecord('sys_file_reference', 1)); - $this->setPageTree(1, 1); + $this->setPageTree($subject, 1, 1); // After adding ALL records we set relations: for ($a = 0; $a < 10; $a++) { - $addR = $this->export->export_addDBRelations($a); + $addR = $subject->export_addDBRelations($a); if (empty($addR)) { break; } } - $this->export->export_addFilesFromRelations(); - $this->export->export_addFilesFromSysFilesRecords(); + $subject->export_addFilesFromRelations(); + $subject->export_addFilesFromSysFilesRecords(); } } diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml deleted file mode 100644 index bae95f8d5792a08fe0d21d8eea2b560c3b67581a..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-rte-image-n-file-link.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<dataset> - <tt_content> - <uid>1</uid> - <pid>2</pid> - <CType>text</CType> - <header>Text element with image in RTE</header> - <bodytext><![CDATA[<img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" /> And here a <link file:2 - download "Initiates file download">link to an image</link>.]]></bodytext> - <deleted>0</deleted> - <t3ver_oid>0</t3ver_oid> - <t3ver_wsid>0</t3ver_wsid> - </tt_content> -</dataset> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItem.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItem.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion/importGroupFileAndFileReferenceItemInFlexForm.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemInFlexForm.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion/importGroupFileAndFileReferenceItemInFlexForm.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemInFlexForm.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/DataSet/Assertion/importIrreRecords.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importIrreRecords.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/DataSet/Assertion/importIrreRecords.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importIrreRecords.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContent.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/importPagesAndRelatedTtContent.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContent.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImageWithForcedUids.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImageWithForcedUids.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImageWithForcedUids.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImageWithForcedUids.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithSameImageToExistingData.csv b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/importPagesAndRelatedTtContentWithSameImageToExistingData.csv rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/irre_tutorial.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/irre_tutorial.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/irre_tutorial.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/irre_tutorial.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/pages.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/pages.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/pages.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/pages.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/Fixtures/Database/sys_file.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Export/PagesAndTtContent/Fixtures/Database/sys_file.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file-export-pages-and-tt-content.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_corrupt.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_corrupt.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_corrupt.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_corrupt.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_metadata.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_metadata.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_metadata.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_metadata.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_reference.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_reference.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_reference.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_reference.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_storage.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_storage.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_file_storage.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_file_storage.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_language.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_language.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/sys_language.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/sys_language.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content-with-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content-with-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content-with-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tt_content.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tt_content.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tx_impexpgroupfiles_item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/Database/tx_impexpgroupfiles_item.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/DatabaseImports/tx_impexpgroupfiles_item.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/Folders/Assertion/fileadmin/user_upload/typo3_image2_01.jpg b/typo3/sysext/impexp/Tests/Functional/Fixtures/FileAssertions/typo3_image2_01.jpg similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/Folders/Assertion/fileadmin/user_upload/typo3_image2_01.jpg rename to typo3/sysext/impexp/Tests/Functional/Fixtures/FileAssertions/typo3_image2_01.jpg diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 deleted file mode 100644 index 5806162003508b3251974acd7b6475fbab42a21f..0000000000000000000000000000000000000000 Binary files a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 and /dev/null differ diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f deleted file mode 100644 index 2e0a9b65ff9bb8af0902ed56daded4b82fca8dbf..0000000000000000000000000000000000000000 Binary files a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f and /dev/null differ diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 deleted file mode 100644 index 5806162003508b3251974acd7b6475fbab42a21f..0000000000000000000000000000000000000000 Binary files a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/c3511df85d21bc578faf71c6a19eeb3ff44af370 and /dev/null differ diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f deleted file mode 100644 index 2e0a9b65ff9bb8af0902ed56daded4b82fca8dbf..0000000000000000000000000000000000000000 Binary files a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml.files/e1c5c4e1e34e19e2facb438752e06c3f and /dev/null differ diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 b/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 deleted file mode 100644 index bfb572bd51f050960dbaadefec05651a161d3bfb..0000000000000000000000000000000000000000 Binary files a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 and /dev/null differ diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-but-images-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-but-images-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-but-images-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-in-ff.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-in-ff.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item-in-ff.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item-in-ff.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/impexp-group-file-and-file_reference-item.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/impexp-group-file-and-file_reference-item.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/irre-records.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/irre-records.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/irre-records.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-corrupt-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-corrupt-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-corrupt-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-corrupt-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image-but-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image-but-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent-with-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/mysql/pages-and-ttcontent.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-but-images-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-but-images-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-but-images-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-in-ff.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-in-ff.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item-in-ff.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item-in-ff.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/impexp-group-file-and-file_reference-item.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/impexp-group-file-and-file_reference-item.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/irre-records.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/irre-records.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/irre-records.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-corrupt-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-corrupt-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-corrupt-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-corrupt-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image-but-not-included.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image-but-not-included.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image-but-not-included.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent-with-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlExports/postgresql/pages-and-ttcontent.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml new file mode 100644 index 0000000000000000000000000000000000000000..d53b6972e67a796d1542216e9abf8c1c6946bcda --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-but-images-not-included.xml @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_impexpgroupfiles_item" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test item</title> + <size>204</size> + <relations index="rels" type="array"> + <element index="sys_file:3" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + <softrefs type="array"></softrefs> + <filerefs type="array"> + <file index="0">66a2b7534be9ebf810cd55164c5f085d</file> + </filerefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>0</pid> + <title>typo3_image5.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="3">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="tx_impexpgroupfiles_item" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + </node> + </pagetree> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_impexpgroupfiles_item:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Test item</field> + <field index="images">typo3_image4.jpg</field> + <field index="image_references">fileadmin/user_upload/typo3_image5.jpg</field> + </fieldlist> + <related index="rels" type="array"> + <field index="images" type="array"> + <type>file</type> + <filerefs index="newValueFiles" type="array"> + <file index="0" type="array"> + <filename>typo3_image4.jpg</filename> + <ID>66a2b7534be9ebf810cd55164c5f085d</ID> + </file> + </filerefs> + </field> + <field index="image_references" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image5.jpg</field> + <field index="identifier_hash">8180e85d25c96697ec9d2004683216831b91ffc1</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image5.jpg</field> + <field index="sha1">c3511df85d21bc578faf71c6a19eeb3ff44af370</field> + <field index="size" type="integer">7425</field> + <field index="creation_date" type="integer">1393432184</field> + <field index="modification_date" type="integer">1393432183</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + </records> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + <content_md5>e1c5c4e1e34e19e2facb438752e06c3f</content_md5> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + <content_sha1>c3511df85d21bc578faf71c6a19eeb3ff44af370</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml new file mode 100644 index 0000000000000000000000000000000000000000..a0ee45f1df403fc4750a563d42b1f3348058ca74 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml @@ -0,0 +1,700 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Dummy 1-2</title> + <size>143</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_impexpgroupfiles_item" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>2</pid> + <title>Test item 2</title> + <size>643</size> + <relations index="rels" type="array"> + <element index="sys_file:3" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + <softrefs type="array"> + <softref_element index="flexform:sDEF/lDEF/link/vDEF/:typolink:e9e93f03ab903de1d9b8860afad1cb61:0" type="array"> + <field>flexform</field> + <spKey>typolink</spKey> + <structurePath>sDEF/lDEF/link/vDEF/</structurePath> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>e9e93f03ab903de1d9b8860afad1cb61</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softrefs> + <filerefs type="array"> + <file index="0">66a2b7534be9ebf810cd55164c5f085d</file> + </filerefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>0</pid> + <title>typo3_image5.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image3.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="1" type="array"> + <table index="pages" type="array"> + <item index="2">1</item> + </table> + </page_contents> + <page_contents index="2" type="array"> + <table index="tx_impexpgroupfiles_item" type="array"> + <item index="2">1</item> + </table> + </page_contents> + <page_contents index="0" type="array"> + <table index="sys_file" type="array"> + <item index="3">1</item> + <item index="2">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="2" type="array"> + <uid>2</uid> + </node> + </pagetree> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:2/flexform</record_ref> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + </file> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Dummy 1-2</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_impexpgroupfiles_item:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Test item 2</field> + <field index="images"></field> + <field index="image_references"></field> + <field index="flexform"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="link"> + <value index="vDEF">file:2</value> + </field> + <field index="images"> + <value index="vDEF">typo3_image4.jpg</value> + </field> + <field index="image_references"> + <value index="vDEF">fileadmin/user_upload/typo3_image5.jpg</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + </fieldlist> + <related index="rels" type="array"> + <field index="flexform" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"> + <path index="sDEF/lDEF/image_references/vDEF/" type="array"> + <element index="0" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </path> + </db_relations> + <file_relations index="file" type="array"> + <path index="sDEF/lDEF/images/vDEF/" type="array"> + <element index="0" type="array"> + <filename>typo3_image4.jpg</filename> + <ID>66a2b7534be9ebf810cd55164c5f085d</ID> + </element> + </path> + </file_relations> + <softref_relations index="softrefs" type="array"> + <structurePath index="sDEF/lDEF/link/vDEF/" type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="e9e93f03ab903de1d9b8860afad1cb61:0" type="array"> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>e9e93f03ab903de1d9b8860afad1cb61</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:e9e93f03ab903de1d9b8860afad1cb61}</tokenizedContent> + </structurePath> + </softref_relations> + </flexform> + </field> + </related> + </tablerow> + <tablerow index="sys_file:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image5.jpg</field> + <field index="identifier_hash">8180e85d25c96697ec9d2004683216831b91ffc1</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image5.jpg</field> + <field index="sha1">c3511df85d21bc578faf71c6a19eeb3ff44af370</field> + <field index="size" type="integer">7425</field> + <field index="creation_date" type="integer">1393432184</field> + <field index="modification_date" type="integer">1393432183</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image3.jpg</field> + <field index="identifier_hash">25777b72e5e1cbed2d1b33e4fe5b737304b5bd28</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image3.jpg</field> + <field index="sha1">e873c1e2ffd0f191e183a1057de3eef4d62e782d</field> + <field index="size" type="integer">5565</field> + <field index="creation_date" type="integer">1393346082</field> + <field index="modification_date" type="integer">1392907534</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + </records> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:2/flexform</record_ref> + <content base64="1"> +/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDABwTFRgVERwYFhgfHRwhKUUtKSYmKVQ8QDJFZFhpZ2JY +YF9ufJ6GbnWWd19giruLlqOpsbOxa4TC0MGszp6usar/2wBDAR0fHykkKVEtLVGqcmByqqqqqqqq +qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/wAARCAELAZADASIA +AhEBAxEB/8QAGgABAQADAQEAAAAAAAAAAAAAAAECAwQFBv/EADUQAAICAQMDAwMCBQQBBQAAAAAB +AhEDBCExEkFREyJhBTJxQoEjUpGhsRQzwdHhFSU0YvD/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQID +BAX/xAAkEQEBAAICAgIDAQADAAAAAAAAAQIRAyESMUFRBBMyIhRSkf/aAAwDAQACEQMRAD8A88AH +U5QAAACgQFAEBQBAUAQFAEBQBAUAQFAEBQBAUAQAAAAAAASAAAAAAAIAAAAAAIUAQFAEAAAAAAAE +sgASoAAJAAAAAAAAAUgAAAAUAQFIABQBAUAQAAAAAAAAAAAAAAAEBQBAUAQFIAAASAAAAAICggQF +AFBQSqgKABCgAAAAAAAAAAAAACQAAAAAAAAAAAKFAAAAIUAQFAEBQBAUgAAAAAAAAAhQBAUgAAAA +ABkCgIQoAAhQAAAAAAAAAAKEoAUCAFAgBQICgCApHwwlpWZSyOLaS4TujoyqGOajDIsidbpnJpsb +c0un3SexnKD64tpqKkk34Ofyu9un9c03Ar52B0OVCFAEBQBAUAQFAEAAAAACFAEBQBAAAAAAAAZA +oJQgKAICggAAAAAAAAAAAAAAABIAAAKLSe/JXLKYzdacfHlyXWIk3wjGU4we/K8GTlexra3Zjea/ +D0cfwJJ/qt+HJLJjcdutS6vyXJkT6cVKTju32s5Wm9otr8GxKjCe3R/x5dz4VoFT7PdBquN0deGc +yeZz/jZcXfuIADRyoCgCAoAgBQIAABCgCAoAgKQIAAAIUAQFASyBQShAUAQFAEKAQAAAAAAAVRb4 +TCUBXFp001+SBAAAADvhcs2abRZ88koSp1fuZW5aXmO2tvp7GLplnFxk1LaS2ZjGLkk1sjmytzye +zxfr4OOW32jfuQfJZJQlFtdS7rg2+vGmo4IK1V22Us11WuPL5zeM3GuKpspO5ceVQncoKa8MhvvU +RujKLpUxlnjyRXpwcJN+bRt0WB5pPrTqPZdyZv3GOfLhqzJrar8Mh6r0+KKUceKGWL79VHDq9P8A +6fLS3i+Dqwz31Xh8mEltx9NAANGSAoAgKQAAAAAAgKAICgCApAICgIQFASzABKAAAAAAABAAAAAA +MZ5YYqc+514M+JRU5Tio+Wzh1MFLFclsnz4NMcb1ORPruSXD+Oxy808r26uL109TV6zRzSUJ2/iL +OY0zxZJRa9OlGrt/4N5fg6lV55JYgKDdgq9kMmdxtY43XlnXptZqI4lOWDGlXNnnZtRGODLhpyc4 +9uzs6NLn9THGUFb4aruc3Jl26uLj3O2GpyvLrJRlDo2VpeQa69TVyyKulbL5Zt43Zfj1J5VPL55a +45GvM0ob89jXHg2SSm7aMPSj2tfhmOeXldvT4OHLiw1WSI4+CKLX6jLfz/YzdPthi/3DqhkUelTU +qlKtn+DRCKWRy87Gief+P05G1jvttXhm0s8NPK58Mv27vrT2VWHK8tOV/pWya88vsc2s1kczgptR +lbVXfxfxwZYsi9NOXvpbtvg8fJNT1E5R+1ybQlm9xjcNTVegQxxN+lFy2v7fkzOmXc25MsdXVQFB +KEBSAAAAAAEBQBAUAQFIAAAEBQBmACUAAAAAAAAAAAGUcc5K4xbRcUHOSpbd7O5PppJJIw5OXx6j +THDfbzHKXQ5R+1bS8p/KNenjBZ1Je29tlt/Q6oS/9zk4uk17vnZFlpmtSnFrp5SfYwyy3e22PXoy +OPSunIp+fg1GGjw6iEJucV0yd01ubHzsdHFetM+XvLbRqM3opVu+a+DkepnPmW18Ub9RCWSbaVxW +xjpccPSk3Hl8+Cmee634OLzumUF1pXFp8p0Zwl0zbi3Fte6nVmUd0nw1sSWNSyqTfBjt6U4fHHUZ +QSjFJcGTd8mcYw9Gcvc5RrttRqcknuG+Nx/8UlljclsirH5f7ImYZX0z5PyOPj91j1IWZyxpr27M +1VWztPwMsLj7RxfkY8v8pkk+InJNNyal3OlvyaslfKaIjPmsvupjcvSeOWRxj8K2/g36XDCCUmrl +ffsa8aThJtdtjLFOo0LUcXHjLLXTkuDjOK6lF241dmUqbbjvF8fgkJyhOM4umt0WUnJuTio27pGv +De9Of87DWsmIKDpeYgKAICkAAAAQoAgKAICkAAAAQoAzABKoAAAAAAAJAlbpA2Yujq9+yK5Xxm0y +bum/HHoj7VbS/qPUTat1yjHHkSpXcl8VZpcorUdVPb3V/lnBd5XddMnwv07D151nm6cm+mL5ryzf +nk4Rcu8dzLFnT92KXXFr2t/p+KMZpzVW07TvzuTldp9VrlNvUU79PpTe2yLmxuOFzUK22TVfuZrJ +HDU5Rc+rjwmvP9TKWraVq3N8t8L8Itjjfguvloz4Xi0M47dS9ylf3I4sDShKK233R1zySybTk2nz +8nDjdTbfdlrjcZ26vxMpc+mTjbafBsMMmytGSkZvRx6umXqVB43Lpi938mjPc4UlSXfuYau1CLXZ +mGOU5e3my0jj5+TKZeGLp0zUPbbal/k6DVh0/pU3Pqa42Np1YSydvL5cpb0EpP7lZQXs2zlsu449 +RF4cs01cmvZXBobtL57HpSdR6n+lbfBojjV9TVt9zmzni7+DjvP20R6kqlzVGWBb14ZNQ0si3q0Y +6eT9yvZ870Ze3XuYZSV2fBslJzUW2nsla+DQ76qava7N+LInpvSUY1GVqS+expxdVh+blMpJPhiC +g6nloCgCAoAgKKtgQGUoyg6kmn4ZiAAAEBQBAUgAAAZgFJVQFAEBQBAUBKFtRabk1XZAyhFStNX4 +RnyTeNWw/puyTjLH0yjN7cpU0acE4QXqNN3s21v4M4427U16a7X/APv+RigvcvUUk+V2RxOlax45 +rJj2jL7klt+TOU1t3vhBN449MY9T7JFjDpu3cny1/ggY50nC1scx05fsa+TnOzh/lhyew4Mk16sm +tk2d55+qxrFN1w90OWdN/wAXLVrbjyJrpkVxcXa4OPGr5bOic5RS36uxz2PQw/JlnbdJRa91V8mK +njivY0+3tNM+qeFpfvXc6tDjwegpSg0097lV7duxPirn+V/1jZBycE5Kn4Mish1zqPJztyytoACV +WGT/AG38swVnoYPp09RFTnL08fN1uzp1mjw4dJKWCG6fub3dfucvL3Xqfi8uPHhq+6+d1mKbljfR +Lpa5o6dFoHlyJKLaT3lXCPY+mzcsUovlPh7nS4Y+hwUVBS39qoy8k5Z7tuu3z+t1HWp6eGOMIQk1 +t3p8/wBjHS2oyT5+D0830jE3/DySj+dzmh9Py4XJ+2d+Ga4ZTblzlsawZyxzh90HH8oxOpyaQhkA +IDdg02XUSrHG13b4R6Wn0Wn08l6s4zyvhSdL+hXLORbHC15+HR5Mq6muiHl9/wAHXj00MNUt33fJ +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 +</content> + <content_md5>e1c5c4e1e34e19e2facb438752e06c3f</content_md5> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + <content base64="1"> +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 +oDglIOy49+o2eaEKg//Z +</content> + <content_sha1>c3511df85d21bc578faf71c6a19eeb3ff44af370</content_sha1> + </file> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + <content base64="1"> +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 +</content> + <content_sha1>e873c1e2ffd0f191e183a1057de3eef4d62e782d</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportExportXml/impexp-group-file-and-file_reference-item-on-pid-zero.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportExportXml/impexp-group-file-and-file_reference-item-on-pid-zero.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml new file mode 100644 index 0000000000000000000000000000000000000000..0f22e24884a871ad392738aef69960f9bf2a8f95 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml @@ -0,0 +1,490 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_impexpgroupfiles_item" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test item</title> + <size>204</size> + <relations index="rels" type="array"> + <element index="sys_file:3" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + <softrefs type="array"></softrefs> + <filerefs type="array"> + <file index="0">66a2b7534be9ebf810cd55164c5f085d</file> + </filerefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>0</pid> + <title>typo3_image5.jpg</title> + <size>528</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="3">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="tx_impexpgroupfiles_item" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + </node> + </pagetree> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_impexpgroupfiles_item:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Test item</field> + <field index="images">typo3_image4.jpg</field> + <field index="image_references">fileadmin/user_upload/typo3_image5.jpg</field> + </fieldlist> + <related index="rels" type="array"> + <field index="images" type="array"> + <type>file</type> + <filerefs index="newValueFiles" type="array"> + <file index="0" type="array"> + <filename>typo3_image4.jpg</filename> + <ID>66a2b7534be9ebf810cd55164c5f085d</ID> + </file> + </filerefs> + </field> + <field index="image_references" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <table>sys_file</table> + <id>3</id> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image5.jpg</field> + <field index="identifier_hash">8180e85d25c96697ec9d2004683216831b91ffc1</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="extension">jpg</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image5.jpg</field> + <field index="sha1">c3511df85d21bc578faf71c6a19eeb3ff44af370</field> + <field index="size" type="integer">7425</field> + <field index="creation_date" type="integer">1393432184</field> + <field index="modification_date" type="integer">1393432183</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + </records> + <files type="array"> + <file index="66a2b7534be9ebf810cd55164c5f085d" type="array"> + <filesize>6758</filesize> + <filename>typo3_image4.jpg</filename> + <filemtime>1393866824</filemtime> + <relFileRef>uploads/tx_impexpgroupfiles/typo3_image4.jpg</relFileRef> + <record_ref>tx_impexpgroupfiles_item:1/images</record_ref> + <content base64="1"> +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 +bum/HHoj7VbS/qPUTat1yjHHkSpXcl8VZpcorUdVPb3V/lnBd5XddMnwv07D151nm6cm+mL5ryzf +nk4Rcu8dzLFnT92KXXFr2t/p+KMZpzVW07TvzuTldp9VrlNvUU79PpTe2yLmxuOFzUK22TVfuZrJ +HDU5Rc+rjwmvP9TKWraVq3N8t8L8Itjjfguvloz4Xi0M47dS9ylf3I4sDShKK233R1zySybTk2nz +8nDjdTbfdlrjcZ26vxMpc+mTjbafBsMMmytGSkZvRx6umXqVB43Lpi938mjPc4UlSXfuYau1CLXZ +mGOU5e3my0jj5+TKZeGLp0zUPbbal/k6DVh0/pU3Pqa42Np1YSydvL5cpb0EpP7lZQXs2zlsu449 +RF4cs01cmvZXBobtL57HpSdR6n+lbfBojjV9TVt9zmzni7+DjvP20R6kqlzVGWBb14ZNQ0si3q0Y +6eT9yvZ870Ze3XuYZSV2fBslJzUW2nsla+DQ76qava7N+LInpvSUY1GVqS+expxdVh+blMpJPhiC +g6nloCgCAoAgKKtgQGUoyg6kmn4ZiAAAEBQBAUgAAAZgFJVQFAEBQBAUBKFtRabk1XZAyhFStNX4 +RnyTeNWw/puyTjLH0yjN7cpU0acE4QXqNN3s21v4M4427U16a7X/APv+RigvcvUUk+V2RxOlax45 +rJj2jL7klt+TOU1t3vhBN449MY9T7JFjDpu3cny1/ggY50nC1scx05fsa+TnOzh/lhyew4Mk16sm +tk2d55+qxrFN1w90OWdN/wAXLVrbjyJrpkVxcXa4OPGr5bOic5RS36uxz2PQw/JlnbdJRa91V8mK +njivY0+3tNM+qeFpfvXc6tDjwegpSg0097lV7duxPirn+V/1jZBycE5Kn4Mish1zqPJztyytoACV +WGT/AG38swVnoYPp09RFTnL08fN1uzp1mjw4dJKWCG6fub3dfucvL3Xqfi8uPHhq+6+d1mKbljfR +Lpa5o6dFoHlyJKLaT3lXCPY+mzcsUovlPh7nS4Y+hwUVBS39qoy8k5Z7tuu3z+t1HWp6eGOMIQk1 +t3p8/wBjHS2oyT5+D0830jE3/DySj+dzmh9Py4XJ+2d+Ga4ZTblzlsawZyxzh90HH8oxOpyaQhkA +IDdg02XUSrHG13b4R6Wn0Wn08l6s4zyvhSdL+hXLORbHC15+HR5Mq6muiHl9/wAHXj00MNUt33fJ +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 +</content> + <content_md5>e1c5c4e1e34e19e2facb438752e06c3f</content_md5> + </file> + </files> + <files_fal type="array"> + <file index="23116a2a95820388bb7eede903382d4c" type="array"> + <filesize>7425</filesize> + <filename>typo3_image5.jpg</filename> + <filemtime>1393432183</filemtime> + <content base64="1"> +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 +oDglIOy49+o2eaEKg//Z +</content> + <content_sha1>c3511df85d21bc578faf71c6a19eeb3ff44af370</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml new file mode 100644 index 0000000000000000000000000000000000000000..63e166756e06fba731a78a676c966bc1b7a305a6 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/irre-records.xml @@ -0,0 +1,1884 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>IRRE</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tt_content" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test content</title> + <size>230</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + <element index="tx_irretutorial_1nff_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + <element index="tx_irretutorial_1ncsv_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + <element index="tx_irretutorial_1ncsv_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1ncsv_hotel" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (csv)</title> + <size>215</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_offer:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (csv)</title> + <size>217</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + <element index="tx_irretutorial_1ncsv_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1ncsv_offer" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Offer 2.2 (csv)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_price:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 1.2 (csv)</title> + <size>217</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1.1 (csv)</title> + <size>217</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1ncsv_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1ncsv_price" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Price 2.2.1 (csv)</title> + <size>215</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 1.2.1 (csv)</title> + <size>215</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1.1.1 (csv)</title> + <size>216</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1nff_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (nff)</title> + <size>296</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + <element index="tx_irretutorial_1nff_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (nff)</title> + <size>296</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_offer:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1nff_offer" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1.1 (nff)</title> + <size>314</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_price</table> + </element> + <element index="tx_irretutorial_1nff_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Offer 2.1 (nff)</title> + <size>314</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_price:4" type="array"> + <id>4</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 1.2 (nff)</title> + <size>314</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_1nff_price:3" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_1nff_price" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1.1.1 (nff)</title> + <size>315</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Price 1.2.1 (nff)</title> + <size>317</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="4" type="array"> + <uid>4</uid> + <pid>1</pid> + <title>Price 2.1.1 (nff)</title> + <size>321</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 1.1.2 (nff)</title> + <size>317</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (m:n ASym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_hotel_offer_rel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>1</title> + <size>234</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + <element index="tx_irretutorial_mnasym_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + <element index="tx_irretutorial_mnasym_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>2</title> + <size>234</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + <element index="tx_irretutorial_mnasym_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + <element index="tx_irretutorial_mnasym_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_offer" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 2 (m:n ASym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1 (m:n ASym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnasym_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnasym_price" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1 1:2 (m:n ASym)</title> + <size>238</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 2 1:1 (m:n ASym)</title> + <size>237</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnattr_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnattr_hotel_offer_rel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>1</title> + <size>253</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + <element index="tx_irretutorial_mnattr_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>2</title> + <size>253</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + <element index="tx_irretutorial_mnattr_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnattr_offer" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 2 (m:n Attr)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnattr_hotel_offer_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnmmasym_hotel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (m:n (MM) ASym)</title> + <size>221</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_offer:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + <element index="tx_irretutorial_mnmmasym_offer:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel 2 (m:n (MM) ASym)</title> + <size>221</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_offer:3" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnmmasym_offer" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Offer 2.1 (m:n (MM) ASym)</title> + <size>239</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_price:3" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Offer 1.2 (m:n (MM) ASym)</title> + <size>240</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_price:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Offer 1.1 (m:n (MM) ASym)</title> + <size>240</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnmmasym_price:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnmmasym_price" type="array"> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Price (m:n (MM) ASym)</title> + <size>236</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Price 1.2.2 (m:n (MM) ASym)</title> + <size>243</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Price 1.1.1 (m:n (MM) ASym)</title> + <size>243</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnsym_hotel" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Hotel Branch 1.1 (mm sym)</title> + <size>225</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="3" type="array"> + <uid>3</uid> + <pid>1</pid> + <title>Hotel branch 1.2 (mm sym)</title> + <size>225</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Hotel 1 (mm sym)</title> + <size>216</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel_rel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + <element index="tx_irretutorial_mnsym_hotel_rel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tx_irretutorial_mnsym_hotel_rel" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>1</title> + <size>220</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + <element index="tx_irretutorial_mnsym_hotel:2" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>2</title> + <size>220</size> + <relations index="rels" type="array"> + <element index="tx_irretutorial_mnsym_hotel:1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + <element index="tx_irretutorial_mnsym_hotel:3" type="array"> + <id>3</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="tt_content" type="array"> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1ncsv_hotel" type="array"> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1ncsv_offer" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1ncsv_price" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_1nff_hotel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_1nff_offer" type="array"> + <item index="1">1</item> + <item index="3">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_1nff_price" type="array"> + <item index="1">1</item> + <item index="3">1</item> + <item index="4">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnasym_hotel" type="array"> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnasym_hotel_offer_rel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnasym_offer" type="array"> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnasym_price" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnattr_hotel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnattr_hotel_offer_rel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnattr_offer" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnmmasym_hotel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + <table index="tx_irretutorial_mnmmasym_offer" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnmmasym_price" type="array"> + <item index="3">1</item> + <item index="2">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnsym_hotel" type="array"> + <item index="2">1</item> + <item index="3">1</item> + <item index="1">1</item> + </table> + <table index="tx_irretutorial_mnsym_hotel_rel" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + </node> + </pagetree> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">IRRE</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tt_content:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">text</field> + <field index="header">Test content</field> + <field index="deleted" type="integer">0</field> + <field index="tx_irretutorial_1nff_hotels" type="integer">2</field> + <field index="tx_irretutorial_1ncsv_hotels">1,2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="tx_irretutorial_1nff_hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_hotel</table> + </element> + </relations> + </field> + <field index="tx_irretutorial_1ncsv_hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_hotel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 2 (csv)</field> + <field index="offers">3</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (csv)</field> + <field index="offers">1,2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_offer:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2.2 (csv)</field> + <field index="prices">3</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.2 (csv)</field> + <field index="prices">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.1 (csv)</field> + <field index="prices">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1ncsv_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_price:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 2.2.1 (csv)</field> + <field index="price" type="double">112</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.2.1 (csv)</field> + <field index="price" type="double">90</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1ncsv_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.1.1 (csv)</field> + <field index="price" type="double">567</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tt_content</field> + <field index="parentidentifier"></field> + <field index="title">Hotel 1 (nff)</field> + <field index="offers" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tt_content</field> + <field index="parentidentifier"></field> + <field index="title">Hotel 2 (nff)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_hotel</field> + <field index="parentidentifier"></field> + <field index="title">Offer 1.1 (nff)</field> + <field index="prices" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_1nff_price</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_offer:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">2</field> + <field index="parenttable">tx_irretutorial_1nff_hotel</field> + <field index="parentidentifier"></field> + <field index="title">Offer 2.1 (nff)</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>4</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_hotel</field> + <field index="parentidentifier"></field> + <field index="title">Offer 1.2 (nff)</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_1nff_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 1.1.1 (nff)</field> + <field index="price" type="double">4</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">2</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 1.2.1 (nff)</field> + <field index="price" type="double">678</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:4" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">4</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">3</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 2.1.1 (nff)</field> + <field index="price" type="double">5467567</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_1nff_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">2</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="parenttable">tx_irretutorial_1nff_offer</field> + <field index="parentidentifier"></field> + <field index="title">Price 1.1.2 (nff)</field> + <field index="price" type="double">869</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (m:n ASym)</field> + <field index="offers" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + <element index="1" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_hotel_offer_rel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="offerid" type="integer">2</field> + <field index="hotelsort" type="integer">2</field> + <field index="offersort" type="integer">1</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + </relations> + </field> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_hotel_offer_rel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="offerid" type="integer">1</field> + <field index="hotelsort" type="integer">1</field> + <field index="offersort" type="integer">1</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_offer</table> + </element> + </relations> + </field> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2 (m:n ASym)</field> + <field index="hotels" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1 (m:n ASym)</field> + <field index="hotels" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnasym_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">1</field> + <field index="title">Price 1 1:2 (m:n ASym)</field> + <field index="price" type="double">678</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnasym_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="parentid" type="integer">2</field> + <field index="title">Price 2 1:1 (m:n ASym)</field> + <field index="price" type="double">45</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (m:n Attr)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">512</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 2 (m:n Attr)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel_offer_rel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="offerid" type="integer">1</field> + <field index="hotelsort" type="integer">1</field> + <field index="offersort" type="integer">0</field> + <field index="quality" type="integer">2</field> + <field index="allincl" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_hotel_offer_rel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">2</field> + <field index="offerid" type="integer">2</field> + <field index="hotelsort" type="integer">1</field> + <field index="offersort" type="integer">0</field> + <field index="quality" type="integer">4</field> + <field index="allincl" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel</table> + </element> + </relations> + </field> + <field index="offerid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1 (m:n Attr)</field> + <field index="hotels" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnattr_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">512</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2 (m:n Attr)</field> + <field index="hotels" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotels" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnattr_hotel_offer_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (m:n (MM) ASym)</field> + <field index="offers" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">512</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 2 (m:n (MM) ASym)</field> + <field index="offers" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="offers" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_offer</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_offer:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 2.1 (m:n (MM) ASym)</field> + <field index="hotels" type="integer">0</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_offer:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.2 (m:n (MM) ASym)</field> + <field index="hotels" type="integer">0</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_offer:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Offer 1.1 (m:n (MM) ASym)</field> + <field index="hotels" type="integer">0</field> + <field index="prices" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="prices" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnmmasym_price</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_price:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">64</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price (m:n (MM) ASym)</field> + <field index="price" type="double">223</field> + <field index="offers" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_price:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.2.2 (m:n (MM) ASym)</field> + <field index="price" type="double">567</field> + <field index="offers" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnmmasym_price:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Price 1.1.1 (m:n (MM) ASym)</field> + <field index="price" type="double">567</field> + <field index="offers" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">128</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel Branch 1.1 (mm sym)</field> + <field index="branches" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="branches" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel:3" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">3</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">192</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel branch 1.2 (mm sym)</field> + <field index="branches" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="branches" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="sorting" type="integer">256</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Hotel 1 (mm sym)</field> + <field index="branches" type="integer">2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="branches" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel_rel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel_rel:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="branchid" type="integer">2</field> + <field index="hotelsort" type="integer">1</field> + <field index="branchsort" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + <field index="branchid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>2</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="tx_irretutorial_mnsym_hotel_rel:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="cruser_id" type="integer">1</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l18n_parent" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="hotelid" type="integer">1</field> + <field index="branchid" type="integer">3</field> + <field index="hotelsort" type="integer">2</field> + <field index="branchsort" type="integer">0</field> + </fieldlist> + <related index="rels" type="array"> + <field index="hotelid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + <field index="branchid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>3</id> + <table>tx_irretutorial_mnsym_hotel</table> + </element> + </relations> + </field> + </related> + </tablerow> + </records> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-different-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-different-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-same-image.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-existing-same-image.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml new file mode 100644 index 0000000000000000000000000000000000000000..fc99068833451426d294caf6c5eacb565dcf71d2 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml @@ -0,0 +1,463 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Dummy 1-2</title> + <size>143</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tt_content" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test content</title> + <size>196</size> + <relations index="rels" type="array"> + <element index="sys_file_reference:1" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> + <softrefs type="array"> + <softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:1</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:1</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> + </subst> + </softref_element> + </softrefs> + </rec> + </table> + <table index="sys_language" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Deutsch</title> + <size>97</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_reference" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>typo3_image2.jpg</title> + <size>277</size> + <relations index="rels" type="array"> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>502</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file_metadata:2" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_storage" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>fileadmin/ (auto-created)</title> + <size>694</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_metadata" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>266</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>263</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_language:1" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_language" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file_storage" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file_metadata" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="pages" type="array"> + <item index="2">1</item> + </table> + <table index="tt_content" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file_reference" type="array"> + <item index="1">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + <node index="subrow" type="array"> + <node index="2" type="array"> + <uid>2</uid> + </node> + </node> + </node> + </pagetree> + <files_fal type="array"> + <file index="4a705ca3ef43b53dc00de861ba2c86af" type="array"> + <filesize>7958</filesize> + <filename>typo3_image2.jpg</filename> + <filemtime>1389878273</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="pages:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Dummy 1-2</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tt_content:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">textpic</field> + <field index="header">Test content</field> + <field index="image" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="image" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> + </field> + <field index="header_link" type="array"> + <softrefs type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <matchString>file:1</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:1</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent> + </softrefs> + </field> + </related> + </tablerow> + <tablerow index="sys_language:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Deutsch</field> + <field index="flag">de</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="sys_file_reference:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="uid_local" type="integer">1</field> + <field index="uid_foreign" type="integer">1</field> + <field index="tablenames">tt_content</field> + <field index="fieldname">image</field> + <field index="sorting_foreign" type="integer">0</field> + <field index="table_local">sys_file</field> + <field index="title" type="NULL"></field> + <field index="description" type="NULL"></field> + <field index="alternative" type="NULL"></field> + <field index="link"></field> + </fieldlist> + <related index="rels" type="array"> + <field index="uid_local" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image2.jpg</field> + <field index="identifier_hash">f90bb9a35622f35b5279195e324eddbaec8164b2</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image2.jpg</field> + <field index="sha1">da9acdf1e105784a57bbffec9520969578287797</field> + <field index="size" type="integer">7958</field> + <field index="creation_date" type="integer">1389878273</field> + <field index="modification_date" type="integer">1389878273</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + <field index="metadata" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_storage:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="name">fileadmin/ (auto-created)</field> + <field index="description" type="NULL"></field> + <field index="driver">Local</field> + <field index="configuration"><?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3FlexForms> + <data> + <sheet index="sDEF"> + <language index="lDEF"> + <field index="basePath"> + <value index="vDEF">fileadmin/</value> + </field> + <field index="pathType"> + <value index="vDEF">relative</value> + </field> + <field index="caseSensitive"> + <value index="vDEF">1</value> + </field> + </language> + </sheet> + </data> +</T3FlexForms></field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"> + <field index="configuration" type="array"> + <type>flex</type> + <flexform index="flexFormRels" type="array"> + <db_relations index="db" type="array"></db_relations> + <file_relations index="file" type="array"></file_relations> + <softref_relations index="softrefs" type="array"></softref_relations> + </flexform> + </field> + </related> + </tablerow> + <tablerow index="sys_file_metadata:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l10n_parent" type="integer">0</field> + <field index="file" type="integer">1</field> + <field index="title">Dummy image</field> + <field index="width" type="integer">400</field> + <field index="height" type="integer">300</field> + <field index="description">This is a dummy image.</field> + <field index="alternative">Photo of program code</field> + </fieldlist> + <related index="rels" type="array"> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_metadata:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">1</field> + <field index="l10n_parent" type="integer">1</field> + <field index="file" type="integer">1</field> + <field index="title">Beispiel Bild</field> + <field index="width" type="integer">0</field> + <field index="height" type="integer">0</field> + <field index="description">Nur ein Beispielbild.</field> + <field index="alternative">Foto von Programmcode</field> + </fieldlist> + <related index="rels" type="array"> + <field index="sys_language_uid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + </relations> + </field> + <field index="l10n_parent" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + </records> + <files_fal type="array"> + <file index="4a705ca3ef43b53dc00de861ba2c86af" type="array"> + <filesize>7958</filesize> + <filename>typo3_image2.jpg</filename> + <filemtime>1389878273</filemtime> + <content_sha1>da9acdf1e105784a57bbffec9520969578287797</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml.files/da9acdf1e105784a57bbffec9520969578287797 diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-forced-uids.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-forced-uids.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-forced-uids.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-forced-uids.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-spaces-in-path.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-spaces-in-path.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-with-spaces-in-path.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-with-spaces-in-path.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image.xml similarity index 56% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image.xml index a1856bfa7162600c1c9001e20d74c16ca291f248..23580a6830e716b532231140fef2f67a5946f884 100644 --- a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/PDO/pages-and-ttcontent-with-rte-image-n-file-link.xml +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image.xml @@ -7,7 +7,7 @@ <uid>1</uid> <pid>0</pid> <title>Root</title> - <size>162</size> + <size>138</size> <relations index="rels" type="array"></relations> <softrefs type="array"></softrefs> </rec> @@ -15,7 +15,7 @@ <uid>2</uid> <pid>1</pid> <title>Dummy 1-2</title> - <size>167</size> + <size>143</size> <relations index="rels" type="array"></relations> <softrefs type="array"></softrefs> </rec> @@ -23,62 +23,75 @@ <table index="tt_content" type="array"> <rec index="1" type="array"> <uid>1</uid> - <pid>2</pid> - <title>Text element with image in RTE</title> - <size>464</size> - <relations index="rels" type="array"></relations> + <pid>1</pid> + <title>Test content</title> + <size>196</size> + <relations index="rels" type="array"> + <element index="sys_file_reference:1" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> <softrefs type="array"> - <softref_element index="bodytext:rtehtmlarea_images:1" type="array"> - <field>bodytext</field> - <spKey>rtehtmlarea_images</spKey> - <matchString><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" /></matchString> + <softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:1</matchString> <subst type="array"> <type>db</type> <recordRef>sys_file:1</recordRef> - <tokenID>00e731fe86bdecc2a8f81302b206db00</tokenID> - <tokenValue>1</tokenValue> - </subst> - </softref_element> - <softref_element index="bodytext:typolink_tag:747a4a59a9f66015a82d1648e919e0b8:1" type="array"> - <field>bodytext</field> - <spKey>typolink_tag</spKey> - <matchString>file:2 - download "Initiates file download"</matchString> - <subst type="array"> - <type>db</type> - <recordRef>sys_file:2</recordRef> - <tokenID>747a4a59a9f66015a82d1648e919e0b8</tokenID> - <tokenValue>file:2</tokenValue> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> </subst> </softref_element> </softrefs> </rec> </table> - <table index="sys_file" type="array"> + <table index="sys_language" type="array"> <rec index="1" type="array"> <uid>1</uid> <pid>0</pid> + <title>Deutsch</title> + <size>97</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="sys_file_reference" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> <title>typo3_image2.jpg</title> - <size>558</size> - <relationLevel>1</relationLevel> + <size>277</size> <relations index="rels" type="array"> - <element index="sys_file_storage:1" type="array"> + <element index="sys_file:1" type="array"> <id>1</id> - <table>sys_file_storage</table> + <table>sys_file</table> </element> </relations> <softrefs type="array"></softrefs> </rec> - <rec index="2" type="array"> - <uid>2</uid> + </table> + <table index="sys_file" type="array"> + <rec index="1" type="array"> + <uid>1</uid> <pid>0</pid> - <title>typo3_image3.jpg</title> - <size>558</size> + <title>typo3_image2.jpg</title> + <size>502</size> <relationLevel>1</relationLevel> <relations index="rels" type="array"> <element index="sys_file_storage:1" type="array"> <id>1</id> <table>sys_file_storage</table> </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file_metadata:2" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> </relations> <softrefs type="array"></softrefs> </rec> @@ -88,35 +101,80 @@ <uid>1</uid> <pid>0</pid> <title>fileadmin/ (auto-created)</title> - <size>722</size> + <size>694</size> <relationLevel>2</relationLevel> <relations index="rels" type="array"></relations> <softrefs type="array"></softrefs> </rec> </table> + <table index="sys_file_metadata" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>266</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image2.jpg</title> + <size>263</size> + <relationLevel>2</relationLevel> + <relations index="rels" type="array"> + <element index="sys_language:1" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + <element index="sys_file_metadata:1" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="sys_file:1" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + </table> </records> <pid_lookup type="array"> <page_contents index="0" type="array"> <table index="pages" type="array"> <item index="1">1</item> </table> + <table index="sys_language" type="array"> + <item index="1">1</item> + </table> <table index="sys_file" type="array"> <item index="1">1</item> - <item index="2">1</item> </table> <table index="sys_file_storage" type="array"> <item index="1">1</item> </table> + <table index="sys_file_metadata" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> </page_contents> <page_contents index="1" type="array"> <table index="pages" type="array"> <item index="2">1</item> </table> - </page_contents> - <page_contents index="2" type="array"> <table index="tt_content" type="array"> <item index="1">1</item> </table> + <table index="sys_file_reference" type="array"> + <item index="1">1</item> + </table> </page_contents> </pid_lookup> <pagetree type="array"> @@ -135,128 +193,128 @@ <filename>typo3_image2.jpg</filename> <filemtime>1389878273</filemtime> </file> - <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> - <filesize>5565</filesize> - <filename>typo3_image3.jpg</filename> - <filemtime>1392907534</filemtime> - </file> </files_fal> </header> <records type="array"> <tablerow index="pages:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">0</field> - <field index="deleted">0</field> - <field index="perms_everybody">15</field> - <field index="hidden">0</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> <field index="title">Root</field> - <field index="doktype">1</field> + <field index="doktype" type="integer">1</field> </fieldlist> <related index="rels" type="array"></related> </tablerow> <tablerow index="pages:2" type="array"> <fieldlist index="data" type="array"> - <field index="uid">2</field> - <field index="pid">1</field> - <field index="deleted">0</field> - <field index="perms_everybody">15</field> - <field index="hidden">0</field> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> <field index="title">Dummy 1-2</field> - <field index="doktype">1</field> + <field index="doktype" type="integer">1</field> </fieldlist> <related index="rels" type="array"></related> </tablerow> <tablerow index="tt_content:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">2</field> - <field index="t3ver_oid">0</field> - <field index="hidden">0</field> - <field index="CType">text</field> - <field index="header">Text element with image in RTE</field> - <field index="bodytext"><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" />&nbsp;&nbsp;And here a <link file:2 - download "Initiates file download">link to an image</link>.</field> - <field index="deleted">0</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">textpic</field> + <field index="header">Test content</field> + <field index="image" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:1</field> </fieldlist> <related index="rels" type="array"> - <field index="bodytext" type="array"> + <field index="image" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_reference</table> + </element> + </relations> + </field> + <field index="header_link" type="array"> <softrefs type="array"> <keys type="array"> - <softref_key index="rtehtmlarea_images" type="array"> - <softref_element index="1" type="array"> - <matchString><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="1" height="225" width="300" alt="" style="" /></matchString> + <softref_key index="typolink" type="array"> + <softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <matchString>file:1</matchString> <subst type="array"> <type>db</type> <recordRef>sys_file:1</recordRef> - <tokenID>00e731fe86bdecc2a8f81302b206db00</tokenID> - <tokenValue>1</tokenValue> - </subst> - </softref_element> - </softref_key> - <softref_key index="typolink_tag" type="array"> - <softref_element index="747a4a59a9f66015a82d1648e919e0b8:1" type="array"> - <matchString>file:2 - download "Initiates file download"</matchString> - <subst type="array"> - <type>db</type> - <recordRef>sys_file:2</recordRef> - <tokenID>747a4a59a9f66015a82d1648e919e0b8</tokenID> - <tokenValue>file:2</tokenValue> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:1</tokenValue> </subst> </softref_element> </softref_key> </keys> - <tokenizedContent><img src="fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg" title="typo3_image2.jpg" data-htmlarea-file-uid="{softref:00e731fe86bdecc2a8f81302b206db00}" height="225" width="300" alt="" style="" />&nbsp;&nbsp;And here a <LINK {softref:747a4a59a9f66015a82d1648e919e0b8} - download "Initiates file download">link to an image</link>.</tokenizedContent> + <tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent> </softrefs> </field> </related> </tablerow> - <tablerow index="sys_file:1" type="array"> + <tablerow index="sys_language:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">0</field> - <field index="storage">1</field> - <field index="type">2</field> - <field index="metadata">0</field> - <field index="identifier">/user_upload/typo3_image2.jpg</field> - <field index="identifier_hash">f90bb9a35622f35b5279195e324eddbaec8164b2</field> - <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> - <field index="extension">jpg</field> - <field index="mime_type">image/jpeg</field> - <field index="name">typo3_image2.jpg</field> - <field index="sha1">da9acdf1e105784a57bbffec9520969578287797</field> - <field index="size">7958</field> - <field index="creation_date">1389878273</field> - <field index="modification_date">1389878273</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="title">Deutsch</field> + <field index="flag">de</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="sys_file_reference:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="uid_local" type="integer">1</field> + <field index="uid_foreign" type="integer">1</field> + <field index="tablenames">tt_content</field> + <field index="fieldname">image</field> + <field index="sorting_foreign" type="integer">0</field> + <field index="table_local">sys_file</field> + <field index="title" type="NULL"></field> + <field index="description" type="NULL"></field> + <field index="alternative" type="NULL"></field> + <field index="link"></field> </fieldlist> <related index="rels" type="array"> - <field index="storage" type="array"> + <field index="uid_local" type="array"> <type>db</type> <relations index="itemArray" type="array"> <element index="0" type="array"> <id>1</id> - <table>sys_file_storage</table> + <table>sys_file</table> </element> </relations> </field> </related> </tablerow> - <tablerow index="sys_file:2" type="array"> + <tablerow index="sys_file:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">2</field> - <field index="pid">0</field> - <field index="storage">1</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> <field index="type">2</field> - <field index="metadata">0</field> - <field index="identifier">/user_upload/typo3_image3.jpg</field> - <field index="identifier_hash">25777b72e5e1cbed2d1b33e4fe5b737304b5bd28</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image2.jpg</field> + <field index="identifier_hash">f90bb9a35622f35b5279195e324eddbaec8164b2</field> <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> - <field index="extension">jpg</field> <field index="mime_type">image/jpeg</field> - <field index="name">typo3_image3.jpg</field> - <field index="sha1">e873c1e2ffd0f191e183a1057de3eef4d62e782d</field> - <field index="size">5565</field> - <field index="creation_date">1393346082</field> - <field index="modification_date">1392907534</field> + <field index="name">typo3_image2.jpg</field> + <field index="sha1">da9acdf1e105784a57bbffec9520969578287797</field> + <field index="size" type="integer">7958</field> + <field index="creation_date" type="integer">1389878273</field> + <field index="modification_date" type="integer">1389878273</field> </fieldlist> <related index="rels" type="array"> <field index="storage" type="array"> @@ -268,12 +326,25 @@ </element> </relations> </field> + <field index="metadata" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + <element index="1" type="array"> + <id>2</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> </related> </tablerow> <tablerow index="sys_file_storage:1" type="array"> <fieldlist index="data" type="array"> - <field index="uid">1</field> - <field index="pid">0</field> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> <field index="name">fileadmin/ (auto-created)</field> <field index="description" type="NULL"></field> <field index="driver">Local</field> @@ -295,11 +366,11 @@ </sheet> </data> </T3FlexForms></field> - <field index="is_default">0</field> - <field index="is_browsable">1</field> - <field index="is_public">1</field> - <field index="is_writable">1</field> - <field index="is_online">1</field> + <field index="is_default" type="integer">0</field> + <field index="is_browsable" type="integer">1</field> + <field index="is_public" type="integer">1</field> + <field index="is_writable" type="integer">1</field> + <field index="is_online" type="integer">1</field> </fieldlist> <related index="rels" type="array"> <field index="configuration" type="array"> @@ -312,6 +383,74 @@ </field> </related> </tablerow> + <tablerow index="sys_file_metadata:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">0</field> + <field index="l10n_parent" type="integer">0</field> + <field index="file" type="integer">1</field> + <field index="title">Dummy image</field> + <field index="width" type="integer">400</field> + <field index="height" type="integer">300</field> + <field index="description">This is a dummy image.</field> + <field index="alternative">Photo of program code</field> + </fieldlist> + <related index="rels" type="array"> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file_metadata:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="sys_language_uid" type="integer">1</field> + <field index="l10n_parent" type="integer">1</field> + <field index="file" type="integer">1</field> + <field index="title">Beispiel Bild</field> + <field index="width" type="integer">0</field> + <field index="height" type="integer">0</field> + <field index="description">Nur ein Beispielbild.</field> + <field index="alternative">Foto von Programmcode</field> + </fieldlist> + <related index="rels" type="array"> + <field index="sys_language_uid" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_language</table> + </element> + </relations> + </field> + <field index="l10n_parent" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_metadata</table> + </element> + </relations> + </field> + <field index="file" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file</table> + </element> + </relations> + </field> + </related> + </tablerow> </records> <files_fal type="array"> <file index="4a705ca3ef43b53dc00de861ba2c86af" type="array"> @@ -319,254 +458,148 @@ <filename>typo3_image2.jpg</filename> <filemtime>1389878273</filemtime> <content base64="1"> -/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4p -LSwzOko+MzZGNywtQFdBRkxOUlNSMj5aYVpQYEpRUk//2wBDAQ4ODhMREyYVFSZPNS01T09PT09P -T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0//wAARCAEsAZADASIA -AhEBAxEB/8QAGgAAAgMBAQAAAAAAAAAAAAAAAAECBAUDBv/EADsQAAICAgEDAwIEAwYFBAMAAAAB -AgMEERIFITETQVEiYRQycaGBkcEVI0JSYrEkM0PR8FNyguGSovH/xAAYAQEBAQEBAAAAAAAAAAAA -AAAAAQIDBP/EACARAQEBAAIDAAMBAQAAAAAAAAABEQIhEjFBAxNRYXH/2gAMAwEAAhEDEQA/APKJ -bJJGY/xVEVOUuUfgv490boKSIrsNIEMAR0we2bNfMSBPE7Z6+8WBpoYIYQIAGAe4B7DAQD/gACGG -gKo9gAAgEMAoEMAEMAAQuK3vXckATFaOFVB2SrTg7Fp6ZVlg2xk7J3c1GuUV27vfyaehNJpp+GXR -k4SyLrMac6+FdUOz3+btohCzjhZlMW1ZGUnr318mvXXGuEYQWoxWkJ1QbbcE21pvXsDWP6cK7HHE -lqSpVj0/LTLE8m25XSpjCdcIxbjL37bZ2WJi4W71FxSTT9+zOfTcfjgWai16rk0n8ewHazNqoqql -ZtKxdtI6xuqlGElNamtx7+SpXXZJYauqadbcX7/4fJnzjUo2u7tKFb9Pfs+T8AxvkeSaTTTT8dwW -3UnHW3Htsyo32V4dcrKmvSs7NPfLu0RGqBXjmUuMHOXCU20oy87+DrfZ6VUrOMpKPdpeQJsQJpxT -XhoZAAAAADDQUgZIAqLQmiWhaAi0cbqK7lqyKf8A5/8ARY0RaA8zbk1zxuz7/BDpln1Sj7PuTlRi -8XNNHPp0N3ylHwiz2taqGIkAx0PWfX900L+Iodsylr50BsDEMiIXWwpg5zekVquoVTvnX2Sj35b7 -E8+KljSThzXwjyvo2xvaUZxXnXvoRcezTTSae0NFfB08SvjJyWvLLBWRsZi5uRK3Ldau9OutbbRL -DzHXeqpXetXN6Un5TMzk6frua2AEu4GmDAAAAAPYAAAAAAAAQwLqEAAAAAAJpPs1tfALstIYBCKH -Ucay7tXXXJNa+rtxfyXwAjCPGuMfhJFGWNfHlCLjKr1FOPyvq3/3L4A1i5VHG6UrXOuDlNckt+dM -1Z6lQ15Ti/8AY6Nb8i120DWdblXV00+kotKrnLl8didObGMb/WjOPCb8rfZvtr+YXdNjOpV12zhp -NfPZ+37Cvx7nC2EYqUZNT7PT2tdv2Iqysmlx2ppvjzS33aOsJKcIyj4a2jJjVCNtcI1zj6kXFqa7 -rz3TLvT1rCglY5tLvt719gLSGZtOfaowV1acmubcXrUfk7wzYTsrSTipycfq7b18EFv3AUZRktxa -f6DAAAApCZITA8y+npvXJ8fjZapohUtQR00MqgkL3H7DAEW9XVP/AFon7nO164P4ki4jaXgZFPsS -JiGcZYtUrvVcfr1o6jWwFGEYLUVpfBIQwPNZsOPUp80+HLb/AEIyspdlqqTjvXD9TYz8Wdk421RU -pR7OL9zlRCu3Ih/wjjx8trwzM4vROcwdKvsUrKL2+ce65fBKrPm5ZFktOqvxo59XrsrlHJo3y8S1 -8DpxZf2RKOvrmuQys9Wb/To6pOUoO6njXN6Uy1dn00WuFjafHkn8mVRj0XYyUspwa8xl7MtX0Qn1 -HFjNqUeHn50IXjx1foy6b63ZXP6Y+d9tE4XV2fknGX6Mp2dP1Rkxrkl6r2l8FTp6ooyIwurdV67J -77SL2z48bLY1G7vxS1r0ePf52djN9GWN1KnjbOULeW4t9vBPOyL45FVGNrnPvthLx29L4GbHPtro -v9aC9WnW0vdM6Y3UVfeq51ShzW4N+5dTwq8AGJVkZVvV9x1xTceO/ZMrLbAzcnKzKMyNUa4TjZ+X -5L1k/TplZLf0x20gjoIjVNWVxsj4ktoU7oVzhCUtOfZIgmAAUGgAAhAxiATWhaGIBAMQAKEIw3xi -lye3peWMZFZ8eny9DSscbHtNvv8AT40DxrYSc51qcY2c1GP3TTff9UzQGUVMBcFdWoNKM+zcdb/8 -+S2AEUAAAGhNDADzFnUIxm4xi5a8tHfHyoZC7dn8FHBUYVTtl3/gVqreOXzj2TYzvGvjf33GRj3i -n8kgHo53/wDLb34aOhC/vVL9CjYr7wT+xJHPHe6IP5ijqRAA215ZkZnV1W3GvSkpaaa9iWmNdAVs -XNqynJVy24+S0VC9wSS8CssjXBzm0kl3ZVq6pjWTUFJpt6W0S2RqS31FtpNd1sel49jjbl0VTUbL -Ixb7rZ2hOM4qUWmn4aLqZfatZ0/FsnylUtvyT/C186pradS1H9Ds5R3rfdjC+Vc7oOyqUIy4trs/ -gzZ9OyrLK/VujOMHveu5rAMOPKz0o9Qquc6LaIc5Vyb1s5ZSujLHzFU+UNqcP1NMBizmwrFLJll3 -quUY+nr6kWbklfgTS1vt+xp6Wta7fApVwk1yinx7rt4GF5mYvUYrDzq8ujW5bU1v7G2Z2X0qrIvV -vOS+rclvsysajmSUsjAtj4lL3+6IZzyL8qzHps9OEK+T7b5b9jtl9PnfOuVV7rVeuMdbSaIZGHlO -aspsjzlXwsb/AN0MNPHsvjgYjogpp6U/sin1Cnl1ip3OShPSjJPWmXq4ZOL0+quEFOyLSa37HDrU -264VyonKLafKPs/gDUS0kvsM5YnNYtSt/PxW/wBTsEINDEEITRIGBFi0SEBEBgAgAZAAMAoAYAIB -gFLQEhAeGrnOa9FeGzvlVqp1xUdP3Ot2JOu31aV2FXjXXXqdvZIN60af+VH9DoKK0kvgY1DI2Ldc -l9iQS1xYGhhPeJX/AO0sFXpr3hV/bt+5aCA851jEvnZK2VcYxXuvc9IKUVJakk19wayOiUTx5uMq -/K3zRsiSSWktaGW3WWZ1uzjTCD8Sl3M+VlltUV6MY1SfGL13NLrNLtxlJeIPbM9YuZZRD02nXDvH -TOfevR+Ozx7WJQhf0ybtjytqXHk/1LvSZb6fX9tnGvGnV0671fzzTbJ9ElvB1vxJlntnld40TliX -58GrmrYduPyX5NJbb7GV1SuFeXj2Rgk3Lu9eTr1mc44aUXpSkk9Deks3MX42Vzeozi/0ZLa35KON -0/Hp4XVp8kt+fPYyZ3TsuunOyxWReoKPgW2E4TlenpNgYVmRlXWYyrscJWx0+53ryMiiOVTObsnW -txloeRfx3GsBmdOuyruM53Vzr13S8oh/alnrSlwh6EZcW99y+SeF3GsRU483BSXJLbQ01KKa8MzM -rJjidTc5RlJzqSSiu77lYaYGbkdQrdWPZCxw5TW0+3b3O2XmQjjxspth3nFefK33CYuCaT8pMg76 -oxTlZHT8PY421zr9SM4uHyn2AmAnJRg5N9kt7K9WS5YX4mxJLTlr7BFkGQpm7KoTceLkt6+CZQhD -AIRFkgZFRESEAAAAMAGFIYDAQDAKAAYGGh+wt6W2xRnGXhphtIAAIfuDAZRa6U/+F18SZdKHSn/d -WL4my+vIQwACIYAgKFKKnFxktp+xSfTVF8a7ZxrfmOy+BFls9ISrTqde+2tFLG6bLGtUoZEuPlx9 -jQAdE5WKnUMSWXGChNRlB72L8JO3CdGTPnLfaSXguhodHlcxmUVdRrlGDnCVce38CMqMvGvsnjQj -Oub3p+zNUCZF86yp05NuRi3TqUXB/Uo+yJzhZX1C65VOUXX/ADfwaQFw86wq4zefVKnHnTt6mn40 -RdVFFt1eTRZLcnKMo+6N/wBxaXwTGv2IUtOmHFNR4rSZUuin1amUlv8Au5a/mXtaONtMpzU42uDS -12imac9ZVkI/gLpSgn6WQ349tnfNrxbem2OpQagt/T7Fn8LZxlFXLUvKcF3I14VlUJQhKpRl5XDz -+4FTKx8V1Y8KnFVu1OWn8onjU0zhm0b1Rz/l27kMjptiqUK41OLmm0tosRxLIY0seNdXpy3vUn/2 -CJZr4YMKKnt2arj/AOfoLNSVFOJHt6klH/4ryJY98XR/dRapX0rn/wDROUb5ZMLpUPcItJKa9wK+ -U7/XunXc4Rx4JqC8S/U515WVzd7s3T6vHhryn9zrl49t9jmq7a+UeM1Fxe1/M410zllT5QtVMLOS -rUV518gKrqWQ6rJ7jN8VKKS1rvrX7naWblVwUJQr9X1OLbeo+Noiq7Y1yp+v0tfSvTe132PJbkre -MFJWNNxnXL418Adp504X8ZU/RHUZz34k0KfUYQrU5Ql3hGel38vRU4TSjW7E4T4OxtPaa/8A4QrU -/USslVxhGMY/Wu+pJgX458JutKuzlP2Ufy99dzrj5VeQ5qtt8Xp7WitbdCrKVlPCyM48JKMkmu+9 -/uzjiNYytahOU4Q1vltS7+wMaEsmmNrqlYlNR5NfCHHIpkotWw1J6XfyzOyYylbOKrk3Y+akl4XB -poWRXXjzqaremo8e35XyTf6dgdL34qX4lV8Nwc+HLfvx34LEJOSbcdabRQ2oY9F1n07u5t/G9/8A -dEH6UZ+lObhVC98vq1ra2ge2oMxIzu579d/TKUnFS2+z8P7djpG7K5Qrrscprlybaab7a/h3C41t -pPW+79h77marrJQjKM92RiouUl4cp68fbTDGvsyLKZ3KG1LcWl7NSX9CDSDffRU9RSsdkIy1LhtS -3HxJpsUuocJJSpluTajprv30v6gefzrb5P06k9P4I9MclbKMmaDUXHkl5Rn4j1myXcT21Wmh/wAQ -/iNFUDEMI79L7Tuj/qTNEzOmvWTcvlJml/IiJFDqWbLES1BuL8tF7ZT6jjW5NahVNRT8gZmB1d/T -VLlOUpefsehXfuebwel3QtcoNxnCXba7NG9faqMeVk34Rb1E91TvyLLOpV0UTail9ekaZl9Hqcoz -yrPz2P8AY0yFPsAAEAxAA/cBAAwEMADsIAGIAAA0AAAaAAgAAABaWxiKDQaAAF2E0n8DEwIOuD8x -j/Ii6KX5qg//AIo6CIOX4XH/APRh/wDijjb0+i6UG1KKi96i9J/qWh+wVyWLTrWppfab/wC4PEqk -mm59/P1s7IZRX/BV7bUppvy+z3+xH+z6ta5PW9/lj5/kWwAo2YDjjTrpmvqXiUez9/Yjj9OlTXr1 -Y73F74v28e5oDGqq241tjbdkd8XHsmv6nN4VvLaktcm9cu3nevHz3Lw0QeYnkRx4RU9717GfVkRh -lOzUtM15Vwl+aKYelV/6a/kSe2kMe+N6bSaOyFGMY/lSX6EkUAxMa+NATwXrOkvmBqoycXtnw+8W -avsEpjEMIZl9Vc77qsSO9Sacn8I0xcY8uWu4w0qa1VVGEfEVpHQQwgAA2AAGwAAAAgAAAAAAoAAC -AA2GwAAAAAAAAAAAQOSW+67efsJTi5OKabXlANkSQgIsRCnIpv5elZGXHs9M6BSA4X5dVFSsm24y -ek4rfc7xlySa91sYGiRzqtjbWpR3p7Xf9TogAZCyyNdcpvxFN9glZCP5pxXbfd+wMSGV3lVK5wlZ -BJJPfL3fsRyL7acmrtWqGm5ye9rQXFpLuNFa7IeqJVThxnZxba8rTfb+RXv6lHjuiyPZRl3Xlbaa -/mkgKfsBWvyONPOtb2VZX53DlwSj+gbagFTCyfxEHyX1LyWkAx+5ysthX+aWhV5Fdn5ZL9AjtU9Z -1L7d9r9jYMaL1lUP/Vo2UKgQNpLbekRnbXDtOUV+rOVqpy65VKxPfniyaOynCTSUk38bJmDiVLG6 -z6cW2u+tm948iXYvPj4+gMpWdUxK5uMrO67dkdLM2mvFWQ39D8fLHlE8eX8WQXhFHH6nVfbGuEJp -v3aFldTjRf6MK5WT17DTw5bmL6DwjhiZDyK3KVcq2vZljRWb17Zd3WsaqbjKM/pevBZws2GYpOEJ -RUf8yKnXaYRwlNQSasi32LN7tqwFZixjySTa15RehcAysbqM83Mrhj9oRjuza8fY1iWYjLzOpW0Z -U6aqOfCPJvfsO/qF0sCOVi1xlHTcuXsVc+2eP1luup2Ssq1pHTCUZdAtint8Zcl8MvxpqUTdlELH -rcop9jommZVts49AhKt6bjFb+DhZCXS8mv07JSjbB7Unvul5GI2nOG+Kkt/GzN6ZZmZOrrbo+mpN -OOipTRXX+ByXJu62zcm352d+lU3+pY1kJVQtknXrz3LmDT/EU8VL1I6b4p79/g5252NTb6dlsYz+ -DJ1VR1309v0FLaXtGbRzyJ0/gbXNJ3yyH+q7kkXGtHqmHKajG5Nt6XZijm4ubJ40LJblHe12/kzH -ophGlWRjqXGD/wD37lrp7qlZh1ULc63N2dvHsXEXsO2OP06UrJNqpyTbe29NnbEyo5UJNQlCUXpx -ktNFCa9bHzcKCl6inKS7dn32SwrsXGrna4X18tJuxeX9iYF1Buq3JhvtfWmv13r+p3ot45WRGdKh -KEE+W98kcsuC6gse3HTfp2rlvt29zvbj2vqDnGMXTZXwm9915AovrU1W5OuG9bWnvs09fx2jRw8h -5VHqaWm2lopLpt06VRZGiMISjqUV3lp+/wDA7VUZWHUqcaFc48nJyk9eWXoZ9M5waePHhJf3MpuP -bbl+/Y7rKyPXpjbbwipOEmobUpJ67/BeWGniOiUmm5OSa/wvezn/AGbDhCMrrWovk+/5nvfcnQr1 -q6PT7vWnBqM3rita1Lucr7boX2v1p8ZzdaS8RXZ7/dl+zp+PY7OfNqx7kuT0TWHjqHDgnH7v7a/2 -GjIq5O3gr3GmEZLbnptbl3Xy/H8i/iSss6TN7l6zjLlvzy7llY+KuK9KvUfHbwdVKuPjS350hVY9 -dUZ+nCDdkHCUW47STe+P9UdI0xsthJV28HGKUXH4fdNv9DV9SK9mL1V7ImN+dZSxr4p8aJKcNOMu -3d+3n29jSyap2KDhFNrltPw9xa/30T9V/AvUl9hiW6qRoyFTTjqqDVDTU5P6Za7Lt53oF0+70XV6 -sNS87jv33/u5fsWucvkOUvllZYOLDVEVJJkc26NVLT8vwjhh5DWPJze+Pg40xeZe7LH2XjZL3W/U -d+l1yjGU2tci9ZJQg5P2QoOC1GLRHJW6JfoNRUx8OzqEpS9RLT8M7X9JeLS7XetrxpFPAy3i5PLb -4vyWusZ6v411S3H3GiWNc7VVKXdxmj0TeoN/CPK4T/un9mj1S7w/VCoxsah9SybbMiT4xekkaeLg -04snKpS2+3dmXFZHTsmbjW7IS76RexMzIvtSnjuENeWZ4uvPbOr0qXfR12D+Wi71a2VWFJw7OXbf -wVeoYuTPOjdjw5cdFl0X5WHKvKSU/bRO8xLZ1VaGPRX0j1JRjycd8mu+wqx5ZfSKowaUova2Rh0v -LsrjTdcvRj4SLcOn2QwlRG5xalvki9reU/vbhTlXY10KcmqOnLSml5JZeFP8Q8jHuUJtd0/cnX0t -+rCd18p8HtJnW/ptN9rtlKabXhMZWby4y7EOl5lmQ7K7UucH5Xg0Svi4lWLFqpd35bfksFnTnzst -2M/rcd9Ms17af7knkKnpSta2+HZfcuTjGcXGSTT9mHGOktLS9tFZ1gYNOR0+yvIlHlC/86S7xNOf -VcWDac3te2i6c/RpT3wjv50XdNZWQ778ynNwquaUWvq7FnAxboYd8b0lZc22l7bReTil20kDnH5G -9YazsfByHhzxcqcHDilHj7BX0+1TjZmXK2NUWopL9zQ9SP3E7V8Darz9ddbyMdUXTtkrFqL/AOnE -1Y9KqjkO5WW7c+elLts7xVcJucK4qT8vRP1X9haa5/gMf05QcW1KXNtvvsb6fiuyVkqYuUvLfuS9 -ST9xc5fLG0Tjj0xWo1wS8eCGHjrHq4tR5cm9pfL2G38iJtFjlFe6IuUH50ziAHb1ILwJ2r4OQAT9 -V/BF2y+xETAbsl8kXOT92AALb+WAAFA0AIoYxDSb8IAAmq5P2JKl+7A5oZ1VS92ySrivYaPLQxOO -M61rb8s4x6ZJf9Vr9DS+A8EaU6cFVT5epJstzjyi4/I/YfsBQXTU3tyJrp1fu22XQXsVFZ0Qpplw -RvVPdUX8oyLluqf6F2i9/hINJb4/0IYujWvCM2jqMbK4uc4qT8otRtcltSWvsExYHtFbk/lhthFn -kt+ULnFe5XGB2dkfkPVXsjiCA6u77Cdr9kcwAn6khc5fJECofJ/LFsAAAAAAAAKAAYCGAAAAAAAB -p/AABJQk/Zj9KX2A5gdvR+WNVRXkCuLX2bLXCPwg0BWUJPwmSVTOwBXNVL3ZNVx+7JDASjFeESAA -AYAADBDCvO8k1tNNHCzNork4ufcp9PnPnKty2l2LKxKItysSbfyTFdKMuq56g/5lj+BjcVHqOqda -37GwvACdkI+WiLyKl5mjIypTV8lt+S7/AGZJ9PV+5c/OgLH4iqyMoxa3os0Rsswa1Cah203rZh4P -a/TN7pzf4RL4bGJWHKiLpsaluUH9TNjo0nLAht7abKFVSstzaXLW3vuPpWVkRiqK6uUFLTkIVvDE -t6GgyYAAAADCF7jAAD2AAAAACgAfGT8IarkBEDoqvlklWgOI9HdQivYetEHBQk/YkqpM7ABz9H5Y -1VEmMKioRXsPQwAWg0MQADQAAtC0SYgI6DQwCjQ9CGAD0AFAPQAAaGkAIDw/TrIws4TTUn8l7Ixp -Xf42l8GfW3dnKcI9ky3bmTrscVW9L3M+2/SnOmzCsU97T7bNeqTnWpa1tGdKN2bbHceMEadcVCCj -8F+J9Z1tcI50ZXdob2zWl1jChXwjuSS1pI4W0QtjqaKq6bFS/N2IiNChfmStri41+xqdN/5El8TZ -yrqhVHjBaRPClwhe2u0Zt9ijNtpU+oZafnW13LfQH/w84/EivPFtzMq+yqcq+y7NabNHpeK8XGUZ -rU2+/cSFXUMFF/ckq5fBGSAmqnruyfpLfdgcRo7cI/BJKK9ga4cX7Iarl8aO4BHJVP3ZJVL5JgBF -QivYaS+Bh4KAAAIAAAAYAFAAAAAwCgAABAMAEAxAAhiYUmA2IAGCABjACgABsAABgearprrWoxS0 -TlGMlpxQx9tGWiUVFaSAG0vL8j7exQDF7jSAZ06bCLtvX+pM5o69N7ZV6+yYRdhj1wnKaX1S8s6K -MV7EtBomoAGBECABgIEMAABvwL3KgAA9wABhooTABhCAYaAAAAoAYAIYAAhgAUhgACAYyqiAw0QR -aESFoAAYAMAGUIYAFAw0MDxUeoWxtUbocUzRjNOO/byY+XdHIyYqC7J+S3l3ejjKEX9TWjO9NfcU -8vJlPKSjJ8YvRs1PdUX8ow7KVVTCUmuUu5q4uRXOEYKSctF+JVsfuIYB8HTAes+xfMP6nP2J4j11 -KP8Aqg/9yalayBCQyIAAAgGHuABsAABiAEAbBB7AVDDYgQQwEMoAAAoAAABiGAbAAAA2ABQMQAAx -AFP2EAAIAAAGIYDGIApgIYAMQwPEZuJXXXzj2ZCnEnlVJynpLwdI4t2RJO6TUV7GjXWq4KMV4GNf -8ZWXg+lWpKTky90+mEKIzUdSa7stOMZLuk19xpJL4EQ0MAQDQUduoVP5TX7ARX05mO/9WgjZGR2o -pt+EZt/XMWpuMFOyS/yoymNQCpgZ1ebXygtNeUWy4hhoQyAGICgYB8AiBiGIqAABAMBAUMAAAGIA -GAhlAAARQAAUMBAAwAAAQwCkIYEANCACQCGUAABFAxDA84SRWnl0wenNb+Dor4yqcoNPSEbx2AyZ -Z99k3GqKR2xI5MrVK1vivYSJWghoF4ABohN6spl8TR0Xg5ZHatP4af7hG1OPOuUd9mtGdfVjdNwJ -tQi209N+W2ace6Rk9SpsyeoY8JRboT3Iz/iK3TqMrGwHdTDcpvai/g6/2xkY71mY8o6em0at11eL -Q5z7RivYyYUX9XtjbkR9PHj+WP8Am7mvdGphZcMuvnWpa+6LBGquFVahXFRivZEyIPcA9hgINDAI -QD+RDAtdhh7gEAAGygHoQwoAAAAACgDQwANAAAAAPYCANjAQaGAUtCJCAASBDCgBgAgGBAAAAeLn -g0V0tyffXlnPpybhNd2h34+Tcnyfb4I4Nk67vQklpkjdQpulRdPjW5NsuY/UVKfCyPFlpKuCfZIz -cnhbmQjSttPu0WfwbCe1tDIwTjFL4JIiGc8lf3MzoRuTdMl9mBr1PlVB/KRSy8G3JyoT9aUa4/4U -yzhvliVP/SjuifWUZVQnWoTjyivZk4xUUlFaS+AGEAAAAAAAxDABAP5EVAAAgAAAoBgAAAAAAAAM -AAoAGIgBiGAhgAUAAAIBgFLQwAAGAAAAAAIAIPHT6hXx+hbZzxKLJ3+tYuO+6LFWNUnvguxZS7D0 -2pWYM7LOTsff2+Czi4sKO6W5P3Z3Q/8AKND+40u4ew17/YAXgckuLQf0GwmLnTHywavstfuW0Uuk -98TXxJl74ImEA/dgvACAYAwa9gH7/wAQQTB8CGACAloRTCAYIJhAP3AGAAGAgGBTCGCALg0A2AMA -AgKDQDAgQD9xAwAMAYQDF7gwAMBphAP3ALhAMTIEAAB//9k= +/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAA0JCgsKCA0LCgsODg0PEyAVExISEyccHhcgLikxMC4p +LSwzOko+MzZGNywtQFdBRkxOUlNSMj5aYVpQYEpRUk//2wBDAQ4ODhMREyYVFSZPNS01T09PT09P +T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0//wAARCAEsAZADASIA +AhEBAxEB/8QAGgAAAgMBAQAAAAAAAAAAAAAAAAECBAUDBv/EADsQAAICAgEDAwIEAwYFBAMAAAAB +AgMEERIFITETQVEiYRQycaGBkcEVI0JSYrEkM0PR8FNyguGSovH/xAAYAQEBAQEBAAAAAAAAAAAA +AAAAAQIDBP/EACARAQEBAAIDAAMBAQAAAAAAAAABEQIhEjFBAxNRYXH/2gAMAwEAAhEDEQA/APKJ +bJJGY/xVEVOUuUfgv490boKSIrsNIEMAR0we2bNfMSBPE7Z6+8WBpoYIYQIAGAe4B7DAQD/gACGG +gKo9gAAgEMAoEMAEMAAQuK3vXckATFaOFVB2SrTg7Fp6ZVlg2xk7J3c1GuUV27vfyaehNJpp+GXR +k4SyLrMac6+FdUOz3+btohCzjhZlMW1ZGUnr318mvXXGuEYQWoxWkJ1QbbcE21pvXsDWP6cK7HHE +lqSpVj0/LTLE8m25XSpjCdcIxbjL37bZ2WJi4W71FxSTT9+zOfTcfjgWai16rk0n8ewHazNqoqql +ZtKxdtI6xuqlGElNamtx7+SpXXZJYauqadbcX7/4fJnzjUo2u7tKFb9Pfs+T8AxvkeSaTTTT8dwW +3UnHW3Htsyo32V4dcrKmvSs7NPfLu0RGqBXjmUuMHOXCU20oy87+DrfZ6VUrOMpKPdpeQJsQJpxT +XhoZAAAAADDQUgZIAqLQmiWhaAi0cbqK7lqyKf8A5/8ARY0RaA8zbk1zxuz7/BDpln1Sj7PuTlRi +8XNNHPp0N3ylHwiz2taqGIkAx0PWfX900L+Iodsylr50BsDEMiIXWwpg5zekVquoVTvnX2Sj35b7 +E8+KljSThzXwjyvo2xvaUZxXnXvoRcezTTSae0NFfB08SvjJyWvLLBWRsZi5uRK3Ldau9OutbbRL +DzHXeqpXetXN6Un5TMzk6frua2AEu4GmDAAAAAPYAAAAAAAAQwLqEAAAAAAJpPs1tfALstIYBCKH +Ucay7tXXXJNa+rtxfyXwAjCPGuMfhJFGWNfHlCLjKr1FOPyvq3/3L4A1i5VHG6UrXOuDlNckt+dM +1Z6lQ15Ti/8AY6Nb8i120DWdblXV00+kotKrnLl8didObGMb/WjOPCb8rfZvtr+YXdNjOpV12zhp +NfPZ+37Cvx7nC2EYqUZNT7PT2tdv2Iqysmlx2ppvjzS33aOsJKcIyj4a2jJjVCNtcI1zj6kXFqa7 +rz3TLvT1rCglY5tLvt719gLSGZtOfaowV1acmubcXrUfk7wzYTsrSTipycfq7b18EFv3AUZRktxa +f6DAAAApCZITA8y+npvXJ8fjZapohUtQR00MqgkL3H7DAEW9XVP/AFon7nO164P4ki4jaXgZFPsS +JiGcZYtUrvVcfr1o6jWwFGEYLUVpfBIQwPNZsOPUp80+HLb/AEIyspdlqqTjvXD9TYz8Wdk421RU +pR7OL9zlRCu3Ih/wjjx8trwzM4vROcwdKvsUrKL2+ce65fBKrPm5ZFktOqvxo59XrsrlHJo3y8S1 +8DpxZf2RKOvrmuQys9Wb/To6pOUoO6njXN6Uy1dn00WuFjafHkn8mVRj0XYyUspwa8xl7MtX0Qn1 +HFjNqUeHn50IXjx1foy6b63ZXP6Y+d9tE4XV2fknGX6Mp2dP1Rkxrkl6r2l8FTp6ooyIwurdV67J +77SL2z48bLY1G7vxS1r0ePf52djN9GWN1KnjbOULeW4t9vBPOyL45FVGNrnPvthLx29L4GbHPtro +v9aC9WnW0vdM6Y3UVfeq51ShzW4N+5dTwq8AGJVkZVvV9x1xTceO/ZMrLbAzcnKzKMyNUa4TjZ+X +5L1k/TplZLf0x20gjoIjVNWVxsj4ktoU7oVzhCUtOfZIgmAAUGgAAhAxiATWhaGIBAMQAKEIw3xi +lye3peWMZFZ8eny9DSscbHtNvv8AT40DxrYSc51qcY2c1GP3TTff9UzQGUVMBcFdWoNKM+zcdb/8 ++S2AEUAAAGhNDADzFnUIxm4xi5a8tHfHyoZC7dn8FHBUYVTtl3/gVqreOXzj2TYzvGvjf33GRj3i +n8kgHo53/wDLb34aOhC/vVL9CjYr7wT+xJHPHe6IP5ijqRAA215ZkZnV1W3GvSkpaaa9iWmNdAVs +XNqynJVy24+S0VC9wSS8CssjXBzm0kl3ZVq6pjWTUFJpt6W0S2RqS31FtpNd1sel49jjbl0VTUbL +Ixb7rZ2hOM4qUWmn4aLqZfatZ0/FsnylUtvyT/C186pradS1H9Ds5R3rfdjC+Vc7oOyqUIy4trs/ +gzZ9OyrLK/VujOMHveu5rAMOPKz0o9Qquc6LaIc5Vyb1s5ZSujLHzFU+UNqcP1NMBizmwrFLJll3 +quUY+nr6kWbklfgTS1vt+xp6Wta7fApVwk1yinx7rt4GF5mYvUYrDzq8ujW5bU1v7G2Z2X0qrIvV +vOS+rclvsysajmSUsjAtj4lL3+6IZzyL8qzHps9OEK+T7b5b9jtl9PnfOuVV7rVeuMdbSaIZGHlO +aspsjzlXwsb/AN0MNPHsvjgYjogpp6U/sin1Cnl1ip3OShPSjJPWmXq4ZOL0+quEFOyLSa37HDrU +264VyonKLafKPs/gDUS0kvsM5YnNYtSt/PxW/wBTsEINDEEITRIGBFi0SEBEBgAgAZAAMAoAYAIB +gFLQEhAeGrnOa9FeGzvlVqp1xUdP3Ot2JOu31aV2FXjXXXqdvZIN60af+VH9DoKK0kvgY1DI2Ldc +l9iQS1xYGhhPeJX/AO0sFXpr3hV/bt+5aCA851jEvnZK2VcYxXuvc9IKUVJakk19wayOiUTx5uMq +/K3zRsiSSWktaGW3WWZ1uzjTCD8Sl3M+VlltUV6MY1SfGL13NLrNLtxlJeIPbM9YuZZRD02nXDvH +TOfevR+Ozx7WJQhf0ybtjytqXHk/1LvSZb6fX9tnGvGnV0671fzzTbJ9ElvB1vxJlntnld40TliX +58GrmrYduPyX5NJbb7GV1SuFeXj2Rgk3Lu9eTr1mc44aUXpSkk9Deks3MX42Vzeozi/0ZLa35KON +0/Hp4XVp8kt+fPYyZ3TsuunOyxWReoKPgW2E4TlenpNgYVmRlXWYyrscJWx0+53ryMiiOVTObsnW +txloeRfx3GsBmdOuyruM53Vzr13S8oh/alnrSlwh6EZcW99y+SeF3GsRU483BSXJLbQ01KKa8MzM +rJjidTc5RlJzqSSiu77lYaYGbkdQrdWPZCxw5TW0+3b3O2XmQjjxspth3nFefK33CYuCaT8pMg76 +oxTlZHT8PY421zr9SM4uHyn2AmAnJRg5N9kt7K9WS5YX4mxJLTlr7BFkGQpm7KoTceLkt6+CZQhD +AIRFkgZFRESEAAAAMAGFIYDAQDAKAAYGGh+wt6W2xRnGXhphtIAAIfuDAZRa6U/+F18SZdKHSn/d +WL4my+vIQwACIYAgKFKKnFxktp+xSfTVF8a7ZxrfmOy+BFls9ISrTqde+2tFLG6bLGtUoZEuPlx9 +jQAdE5WKnUMSWXGChNRlB72L8JO3CdGTPnLfaSXguhodHlcxmUVdRrlGDnCVce38CMqMvGvsnjQj +Oub3p+zNUCZF86yp05NuRi3TqUXB/Uo+yJzhZX1C65VOUXX/ADfwaQFw86wq4zefVKnHnTt6mn40 +RdVFFt1eTRZLcnKMo+6N/wBxaXwTGv2IUtOmHFNR4rSZUuin1amUlv8Au5a/mXtaONtMpzU42uDS +12imac9ZVkI/gLpSgn6WQ349tnfNrxbem2OpQagt/T7Fn8LZxlFXLUvKcF3I14VlUJQhKpRl5XDz ++4FTKx8V1Y8KnFVu1OWn8onjU0zhm0b1Rz/l27kMjptiqUK41OLmm0tosRxLIY0seNdXpy3vUn/2 +CJZr4YMKKnt2arj/AOfoLNSVFOJHt6klH/4ryJY98XR/dRapX0rn/wDROUb5ZMLpUPcItJKa9wK+ +U7/XunXc4Rx4JqC8S/U515WVzd7s3T6vHhryn9zrl49t9jmq7a+UeM1Fxe1/M410zllT5QtVMLOS +rUV518gKrqWQ6rJ7jN8VKKS1rvrX7naWblVwUJQr9X1OLbeo+Noiq7Y1yp+v0tfSvTe132PJbkre +MFJWNNxnXL418Adp504X8ZU/RHUZz34k0KfUYQrU5Ql3hGel38vRU4TSjW7E4T4OxtPaa/8A4QrU +/USslVxhGMY/Wu+pJgX458JutKuzlP2Ufy99dzrj5VeQ5qtt8Xp7WitbdCrKVlPCyM48JKMkmu+9 +/uzjiNYytahOU4Q1vltS7+wMaEsmmNrqlYlNR5NfCHHIpkotWw1J6XfyzOyYylbOKrk3Y+akl4XB +poWRXXjzqaremo8e35XyTf6dgdL34qX4lV8Nwc+HLfvx34LEJOSbcdabRQ2oY9F1n07u5t/G9/8A +dEH6UZ+lObhVC98vq1ra2ge2oMxIzu579d/TKUnFS2+z8P7djpG7K5Qrrscprlybaab7a/h3C41t +pPW+79h77marrJQjKM92RiouUl4cp68fbTDGvsyLKZ3KG1LcWl7NSX9CDSDffRU9RSsdkIy1LhtS +3HxJpsUuocJJSpluTajprv30v6gefzrb5P06k9P4I9MclbKMmaDUXHkl5Rn4j1myXcT21Wmh/wAQ +/iNFUDEMI79L7Tuj/qTNEzOmvWTcvlJml/IiJFDqWbLES1BuL8tF7ZT6jjW5NahVNRT8gZmB1d/T +VLlOUpefsehXfuebwel3QtcoNxnCXba7NG9faqMeVk34Rb1E91TvyLLOpV0UTail9ekaZl9Hqcoz +yrPz2P8AY0yFPsAAEAxAA/cBAAwEMADsIAGIAAA0AAAaAAgAAABaWxiKDQaAAF2E0n8DEwIOuD8x +j/Ii6KX5qg//AIo6CIOX4XH/APRh/wDijjb0+i6UG1KKi96i9J/qWh+wVyWLTrWppfab/wC4PEqk +mm59/P1s7IZRX/BV7bUppvy+z3+xH+z6ta5PW9/lj5/kWwAo2YDjjTrpmvqXiUez9/Yjj9OlTXr1 +Y73F74v28e5oDGqq241tjbdkd8XHsmv6nN4VvLaktcm9cu3nevHz3Lw0QeYnkRx4RU9717GfVkRh +lOzUtM15Vwl+aKYelV/6a/kSe2kMe+N6bSaOyFGMY/lSX6EkUAxMa+NATwXrOkvmBqoycXtnw+8W +avsEpjEMIZl9Vc77qsSO9Sacn8I0xcY8uWu4w0qa1VVGEfEVpHQQwgAA2AAGwAAAAgAAAAAAoAAC +AA2GwAAAAAAAAAAAQOSW+67efsJTi5OKabXlANkSQgIsRCnIpv5elZGXHs9M6BSA4X5dVFSsm24y +ek4rfc7xlySa91sYGiRzqtjbWpR3p7Xf9TogAZCyyNdcpvxFN9glZCP5pxXbfd+wMSGV3lVK5wlZ +BJJPfL3fsRyL7acmrtWqGm5ye9rQXFpLuNFa7IeqJVThxnZxba8rTfb+RXv6lHjuiyPZRl3Xlbaa +/mkgKfsBWvyONPOtb2VZX53DlwSj+gbagFTCyfxEHyX1LyWkAx+5ysthX+aWhV5Fdn5ZL9AjtU9Z +1L7d9r9jYMaL1lUP/Vo2UKgQNpLbekRnbXDtOUV+rOVqpy65VKxPfniyaOynCTSUk38bJmDiVLG6 +z6cW2u+tm948iXYvPj4+gMpWdUxK5uMrO67dkdLM2mvFWQ39D8fLHlE8eX8WQXhFHH6nVfbGuEJp +v3aFldTjRf6MK5WT17DTw5bmL6DwjhiZDyK3KVcq2vZljRWb17Zd3WsaqbjKM/pevBZws2GYpOEJ +RUf8yKnXaYRwlNQSasi32LN7tqwFZixjySTa15RehcAysbqM83Mrhj9oRjuza8fY1iWYjLzOpW0Z +U6aqOfCPJvfsO/qF0sCOVi1xlHTcuXsVc+2eP1luup2Ssq1pHTCUZdAtint8Zcl8MvxpqUTdlELH +rcop9jommZVts49AhKt6bjFb+DhZCXS8mv07JSjbB7Unvul5GI2nOG+Kkt/GzN6ZZmZOrrbo+mpN +OOipTRXX+ByXJu62zcm352d+lU3+pY1kJVQtknXrz3LmDT/EU8VL1I6b4p79/g5252NTb6dlsYz+ +DJ1VR1309v0FLaXtGbRzyJ0/gbXNJ3yyH+q7kkXGtHqmHKajG5Nt6XZijm4ubJ40LJblHe12/kzH +ophGlWRjqXGD/wD37lrp7qlZh1ULc63N2dvHsXEXsO2OP06UrJNqpyTbe29NnbEyo5UJNQlCUXpx +ktNFCa9bHzcKCl6inKS7dn32SwrsXGrna4X18tJuxeX9iYF1Buq3JhvtfWmv13r+p3ot45WRGdKh +KEE+W98kcsuC6gse3HTfp2rlvt29zvbj2vqDnGMXTZXwm9915AovrU1W5OuG9bWnvs09fx2jRw8h +5VHqaWm2lopLpt06VRZGiMISjqUV3lp+/wDA7VUZWHUqcaFc48nJyk9eWXoZ9M5waePHhJf3MpuP +bbl+/Y7rKyPXpjbbwipOEmobUpJ67/BeWGniOiUmm5OSa/wvezn/AGbDhCMrrWovk+/5nvfcnQr1 +q6PT7vWnBqM3rita1Lucr7boX2v1p8ZzdaS8RXZ7/dl+zp+PY7OfNqx7kuT0TWHjqHDgnH7v7a/2 +GjIq5O3gr3GmEZLbnptbl3Xy/H8i/iSss6TN7l6zjLlvzy7llY+KuK9KvUfHbwdVKuPjS350hVY9 +dUZ+nCDdkHCUW47STe+P9UdI0xsthJV28HGKUXH4fdNv9DV9SK9mL1V7ImN+dZSxr4p8aJKcNOMu +3d+3n29jSyap2KDhFNrltPw9xa/30T9V/AvUl9hiW6qRoyFTTjqqDVDTU5P6Za7Lt53oF0+70XV6 +sNS87jv33/u5fsWucvkOUvllZYOLDVEVJJkc26NVLT8vwjhh5DWPJze+Pg40xeZe7LH2XjZL3W/U +d+l1yjGU2tci9ZJQg5P2QoOC1GLRHJW6JfoNRUx8OzqEpS9RLT8M7X9JeLS7XetrxpFPAy3i5PLb +4vyWusZ6v411S3H3GiWNc7VVKXdxmj0TeoN/CPK4T/un9mj1S7w/VCoxsah9SybbMiT4xekkaeLg +04snKpS2+3dmXFZHTsmbjW7IS76RexMzIvtSnjuENeWZ4uvPbOr0qXfR12D+Wi71a2VWFJw7OXbf +wVeoYuTPOjdjw5cdFl0X5WHKvKSU/bRO8xLZ1VaGPRX0j1JRjycd8mu+wqx5ZfSKowaUova2Rh0v +LsrjTdcvRj4SLcOn2QwlRG5xalvki9reU/vbhTlXY10KcmqOnLSml5JZeFP8Q8jHuUJtd0/cnX0t ++rCd18p8HtJnW/ptN9rtlKabXhMZWby4y7EOl5lmQ7K7UucH5Xg0Svi4lWLFqpd35bfksFnTnzst +2M/rcd9Ms17af7knkKnpSta2+HZfcuTjGcXGSTT9mHGOktLS9tFZ1gYNOR0+yvIlHlC/86S7xNOf +VcWDac3te2i6c/RpT3wjv50XdNZWQ778ynNwquaUWvq7FnAxboYd8b0lZc22l7bReTil20kDnH5G +9YazsfByHhzxcqcHDilHj7BX0+1TjZmXK2NUWopL9zQ9SP3E7V8Darz9ddbyMdUXTtkrFqL/AOnE +1Y9KqjkO5WW7c+elLts7xVcJucK4qT8vRP1X9haa5/gMf05QcW1KXNtvvsb6fiuyVkqYuUvLfuS9 +ST9xc5fLG0Tjj0xWo1wS8eCGHjrHq4tR5cm9pfL2G38iJtFjlFe6IuUH50ziAHb1ILwJ2r4OQAT9 +V/BF2y+xETAbsl8kXOT92AALb+WAAFA0AIoYxDSb8IAAmq5P2JKl+7A5oZ1VS92ySrivYaPLQxOO +M61rb8s4x6ZJf9Vr9DS+A8EaU6cFVT5epJstzjyi4/I/YfsBQXTU3tyJrp1fu22XQXsVFZ0Qpplw +RvVPdUX8oyLluqf6F2i9/hINJb4/0IYujWvCM2jqMbK4uc4qT8otRtcltSWvsExYHtFbk/lhthFn +kt+ULnFe5XGB2dkfkPVXsjiCA6u77Cdr9kcwAn6khc5fJECofJ/LFsAAAAAAAAKAAYCGAAAAAAAB +p/AABJQk/Zj9KX2A5gdvR+WNVRXkCuLX2bLXCPwg0BWUJPwmSVTOwBXNVL3ZNVx+7JDASjFeESAA +AYAADBDCvO8k1tNNHCzNork4ufcp9PnPnKty2l2LKxKItysSbfyTFdKMuq56g/5lj+BjcVHqOqda +37GwvACdkI+WiLyKl5mjIypTV8lt+S7/AGZJ9PV+5c/OgLH4iqyMoxa3os0Rsswa1Cah203rZh4P +a/TN7pzf4RL4bGJWHKiLpsaluUH9TNjo0nLAht7abKFVSstzaXLW3vuPpWVkRiqK6uUFLTkIVvDE +t6GgyYAAAADCF7jAAD2AAAAACgAfGT8IarkBEDoqvlklWgOI9HdQivYetEHBQk/YkqpM7ABz9H5Y +1VEmMKioRXsPQwAWg0MQADQAAtC0SYgI6DQwCjQ9CGAD0AFAPQAAaGkAIDw/TrIws4TTUn8l7Ixp +Xf42l8GfW3dnKcI9ky3bmTrscVW9L3M+2/SnOmzCsU97T7bNeqTnWpa1tGdKN2bbHceMEadcVCCj +8F+J9Z1tcI50ZXdob2zWl1jChXwjuSS1pI4W0QtjqaKq6bFS/N2IiNChfmStri41+xqdN/5El8TZ +yrqhVHjBaRPClwhe2u0Zt9ijNtpU+oZafnW13LfQH/w84/EivPFtzMq+yqcq+y7NabNHpeK8XGUZ +rU2+/cSFXUMFF/ckq5fBGSAmqnruyfpLfdgcRo7cI/BJKK9ga4cX7Iarl8aO4BHJVP3ZJVL5JgBF +QivYaS+Bh4KAAAIAAAAYAFAAAAAwCgAABAMAEAxAAhiYUmA2IAGCABjACgABsAABgearprrWoxS0 +TlGMlpxQx9tGWiUVFaSAG0vL8j7exQDF7jSAZ06bCLtvX+pM5o69N7ZV6+yYRdhj1wnKaX1S8s6K +MV7EtBomoAGBECABgIEMAABvwL3KgAA9wABhooTABhCAYaAAAAoAYAIYAAhgAUhgACAYyqiAw0QR +aESFoAAYAMAGUIYAFAw0MDxUeoWxtUbocUzRjNOO/byY+XdHIyYqC7J+S3l3ejjKEX9TWjO9NfcU +8vJlPKSjJ8YvRs1PdUX8ow7KVVTCUmuUu5q4uRXOEYKSctF+JVsfuIYB8HTAes+xfMP6nP2J4j11 +KP8Aqg/9yalayBCQyIAAAgGHuABsAABiAEAbBB7AVDDYgQQwEMoAAAoAAABiGAbAAAA2ABQMQAAx +AFP2EAAIAAAGIYDGIApgIYAMQwPEZuJXXXzj2ZCnEnlVJynpLwdI4t2RJO6TUV7GjXWq4KMV4GNf +8ZWXg+lWpKTky90+mEKIzUdSa7stOMZLuk19xpJL4EQ0MAQDQUduoVP5TX7ARX05mO/9WgjZGR2o +pt+EZt/XMWpuMFOyS/yoymNQCpgZ1ebXygtNeUWy4hhoQyAGICgYB8AiBiGIqAABAMBAUMAAAGIA +GAhlAAARQAAUMBAAwAAAQwCkIYEANCACQCGUAABFAxDA84SRWnl0wenNb+Dor4yqcoNPSEbx2AyZ +Z99k3GqKR2xI5MrVK1vivYSJWghoF4ABohN6spl8TR0Xg5ZHatP4af7hG1OPOuUd9mtGdfVjdNwJ +tQi209N+W2ace6Rk9SpsyeoY8JRboT3Iz/iK3TqMrGwHdTDcpvai/g6/2xkY71mY8o6em0at11eL +Q5z7RivYyYUX9XtjbkR9PHj+WP8Am7mvdGphZcMuvnWpa+6LBGquFVahXFRivZEyIPcA9hgINDAI +QD+RDAtdhh7gEAAGygHoQwoAAAAACgDQwANAAAAAPYCANjAQaGAUtCJCAASBDCgBgAgGBAAAAeLn +g0V0tyffXlnPpybhNd2h34+Tcnyfb4I4Nk67vQklpkjdQpulRdPjW5NsuY/UVKfCyPFlpKuCfZIz +cnhbmQjSttPu0WfwbCe1tDIwTjFL4JIiGc8lf3MzoRuTdMl9mBr1PlVB/KRSy8G3JyoT9aUa4/4U +yzhvliVP/SjuifWUZVQnWoTjyivZk4xUUlFaS+AGEAAAAAAAxDABAP5EVAAAgAAAoBgAAAAAAAAM +AAoAGIgBiGAhgAUAAAIBgFLQwAAGAAAAAAIAIPHT6hXx+hbZzxKLJ3+tYuO+6LFWNUnvguxZS7D0 +2pWYM7LOTsff2+Czi4sKO6W5P3Z3Q/8AKND+40u4ew17/YAXgckuLQf0GwmLnTHywavstfuW0Uuk +98TXxJl74ImEA/dgvACAYAwa9gH7/wAQQTB8CGACAloRTCAYIJhAP3AGAAGAgGBTCGCALg0A2AMA +AgKDQDAgQD9xAwAMAYQDF7gwAMBphAP3ALhAMTIEAAB//9k= </content> <content_sha1>da9acdf1e105784a57bbffec9520969578287797</content_sha1> </file> - <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> - <filesize>5565</filesize> - <filename>typo3_image3.jpg</filename> - <filemtime>1392907534</filemtime> - <content base64="1"> -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 -</content> - <content_sha1>e873c1e2ffd0f191e183a1057de3eef4d62e782d</content_sha1> - </file> </files_fal> -</T3RecordDocument> \ No newline at end of file +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-rte-image-n-file-link.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-rte-image-n-file-link.xml similarity index 100% rename from typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/MySQL/pages-and-ttcontent-with-rte-image-n-file-link.xml rename to typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-rte-image-n-file-link.xml diff --git a/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml new file mode 100644 index 0000000000000000000000000000000000000000..660289ce7ed387926178206a1fd9124bf4b3a234 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent.xml @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<T3RecordDocument> + <header type="array"> + <records type="array"> + <table index="pages" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>0</pid> + <title>Root</title> + <size>138</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Dummy 1-2</title> + <size>143</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + <table index="tt_content" type="array"> + <rec index="1" type="array"> + <uid>1</uid> + <pid>1</pid> + <title>Test content</title> + <size>177</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"> + <softref_element index="header_link:typolink:2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softrefs> + </rec> + <rec index="2" type="array"> + <uid>2</uid> + <pid>1</pid> + <title>Test content 2</title> + <size>179</size> + <relations index="rels" type="array"></relations> + <softrefs type="array"> + <softref_element index="header_link:typolink:81b8b33df54ef433f1cbc7c3e513e6c4:0" type="array"> + <field>header_link</field> + <spKey>typolink</spKey> + <matchString>file:4</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:4</recordRef> + <tokenID>81b8b33df54ef433f1cbc7c3e513e6c4</tokenID> + <tokenValue>file:4</tokenValue> + </subst> + </softref_element> + </softrefs> + </rec> + </table> + <table index="sys_file" type="array"> + <rec index="2" type="array"> + <uid>2</uid> + <pid>0</pid> + <title>typo3_image3.jpg</title> + <size>502</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"> + <element index="sys_file_storage:1" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + <softrefs type="array"></softrefs> + </rec> + <rec index="4" type="array"> + <uid>4</uid> + <pid>0</pid> + <title>Empty.html</title> + <size>534</size> + <relationLevel>1</relationLevel> + <relations index="rels" type="array"></relations> + <softrefs type="array"></softrefs> + </rec> + </table> + </records> + <pid_lookup type="array"> + <page_contents index="0" type="array"> + <table index="pages" type="array"> + <item index="1">1</item> + </table> + <table index="sys_file" type="array"> + <item index="2">1</item> + <item index="4">1</item> + </table> + </page_contents> + <page_contents index="1" type="array"> + <table index="pages" type="array"> + <item index="2">1</item> + </table> + <table index="tt_content" type="array"> + <item index="1">1</item> + <item index="2">1</item> + </table> + </page_contents> + </pid_lookup> + <pagetree type="array"> + <node index="1" type="array"> + <uid>1</uid> + <node index="subrow" type="array"> + <node index="2" type="array"> + <uid>2</uid> + </node> + </node> + </node> + </pagetree> + <files_fal type="array"> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + </file> + <file index="006f2bbed1bef099981ce4cb9a0f8e14" type="array"> + <filesize>92</filesize> + <filename>Empty.html</filename> + <filemtime>1400176659</filemtime> + </file> + </files_fal> + </header> + <records type="array"> + <tablerow index="pages:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">0</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Root</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="pages:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="deleted" type="integer">0</field> + <field index="perms_everybody" type="integer">15</field> + <field index="hidden" type="integer">0</field> + <field index="title">Dummy 1-2</field> + <field index="doktype" type="integer">1</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + <tablerow index="tt_content:1" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">1</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">text</field> + <field index="header">Test content</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:2</field> + </fieldlist> + <related index="rels" type="array"> + <field index="header_link" type="array"> + <softrefs type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="2487ce518ed56d22f20f259928ff43f1:0" type="array"> + <matchString>file:2</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:2</recordRef> + <tokenID>2487ce518ed56d22f20f259928ff43f1</tokenID> + <tokenValue>file:2</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:2487ce518ed56d22f20f259928ff43f1}</tokenizedContent> + </softrefs> + </field> + </related> + </tablerow> + <tablerow index="tt_content:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">1</field> + <field index="t3ver_oid" type="integer">0</field> + <field index="hidden" type="integer">0</field> + <field index="CType">text</field> + <field index="header">Test content 2</field> + <field index="deleted" type="integer">0</field> + <field index="header_link">file:4</field> + </fieldlist> + <related index="rels" type="array"> + <field index="header_link" type="array"> + <softrefs type="array"> + <keys type="array"> + <softref_key index="typolink" type="array"> + <softref_element index="81b8b33df54ef433f1cbc7c3e513e6c4:0" type="array"> + <matchString>file:4</matchString> + <subst type="array"> + <type>db</type> + <recordRef>sys_file:4</recordRef> + <tokenID>81b8b33df54ef433f1cbc7c3e513e6c4</tokenID> + <tokenValue>file:4</tokenValue> + </subst> + </softref_element> + </softref_key> + </keys> + <tokenizedContent>{softref:81b8b33df54ef433f1cbc7c3e513e6c4}</tokenizedContent> + </softrefs> + </field> + </related> + </tablerow> + <tablerow index="sys_file:2" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">2</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">1</field> + <field index="type">2</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/user_upload/typo3_image3.jpg</field> + <field index="identifier_hash">25777b72e5e1cbed2d1b33e4fe5b737304b5bd28</field> + <field index="folder_hash">19669f1e02c2f16705ec7587044c66443be70725</field> + <field index="mime_type">image/jpeg</field> + <field index="name">typo3_image3.jpg</field> + <field index="sha1">e873c1e2ffd0f191e183a1057de3eef4d62e782d</field> + <field index="size" type="integer">5565</field> + <field index="creation_date" type="integer">1393346082</field> + <field index="modification_date" type="integer">1392907534</field> + </fieldlist> + <related index="rels" type="array"> + <field index="storage" type="array"> + <type>db</type> + <relations index="itemArray" type="array"> + <element index="0" type="array"> + <id>1</id> + <table>sys_file_storage</table> + </element> + </relations> + </field> + </related> + </tablerow> + <tablerow index="sys_file:4" type="array"> + <fieldlist index="data" type="array"> + <field index="uid" type="integer">4</field> + <field index="pid" type="integer">0</field> + <field index="storage" type="integer">0</field> + <field index="type">1</field> + <field index="metadata" type="integer">0</field> + <field index="identifier">/typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html</field> + <field index="identifier_hash">ae03df120da87352822f4aae6d476086cb8c0cf8</field> + <field index="folder_hash">85051482e1ba204348a9b9f6c1a37069e77de027</field> + <field index="mime_type">text/html</field> + <field index="name">Empty.html</field> + <field index="sha1">4a53ba5b5a156b82e3efd443f9a402f8c6e6dd08</field> + <field index="size" type="integer">92</field> + <field index="creation_date" type="integer">1400176659</field> + <field index="modification_date" type="integer">1400176659</field> + </fieldlist> + <related index="rels" type="array"></related> + </tablerow> + </records> + <files_fal type="array"> + <file index="0e290b0bb4f0b57f7f58fd5c342117fe" type="array"> + <filesize>5565</filesize> + <filename>typo3_image3.jpg</filename> + <filemtime>1392907534</filemtime> + <content base64="1"> +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 +</content> + <content_sha1>e873c1e2ffd0f191e183a1057de3eef4d62e782d</content_sha1> + </file> + <file index="006f2bbed1bef099981ce4cb9a0f8e14" type="array"> + <filesize>92</filesize> + <filename>Empty.html</filename> + <filemtime>1400176659</filemtime> + <content><!DOCTYPE html> +<html> +<head> +<title>An empty template</title> +</head> +<body></body> +</html></content> + <content_sha1>4a53ba5b5a156b82e3efd443f9a402f8c6e6dd08</content_sha1> + </file> + </files_fal> +</T3RecordDocument> diff --git a/typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php b/typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php deleted file mode 100644 index eec6d7911242e9bd5bc94a3f4511bc1c96904355..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/AbstractImportTestCase.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -use TYPO3\CMS\Core\Utility\GeneralUtility; - -/** - * Functional test for the Import - */ -abstract class AbstractImportTestCase extends \TYPO3\CMS\Core\Tests\Functional\DataHandling\AbstractDataHandlerActionTestCase -{ - /** - * Path to a XML fixture dependent on the current database. - * @var string - */ - protected $fixturePath = __DIR__ . '/../Fixtures/ImportExportXml/'; - - /** - * @var array - */ - protected $coreExtensionsToLoad = ['impexp']; - - /** - * @var \TYPO3\CMS\Impexp\Import - */ - protected $import; - - /** - * Absolute path to files that must be removed - * after a test - handled in tearDown - * - * @var array - */ - protected $testFilesToDelete = []; - - /** - * Set up for initialization of the Import instance - */ - protected function setUp() - { - parent::setUp(); - - $this->import = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Impexp\Import::class); - $this->import->init(0, 'import'); - } - - /** - * Tear down for remove of the test files - */ - protected function tearDown() - { - foreach ($this->testFilesToDelete as $absoluteFileName) { - if (@is_file($absoluteFileName)) { - unlink($absoluteFileName); - } - } - parent::tearDown(); - } - - /** - * Test if the local filesystem is case sensitive - * - * @return bool - */ - protected function isCaseSensitiveFilesystem() - { - $caseSensitive = true; - $path = GeneralUtility::tempnam('aAbB'); - - // do the actual sensitivity check - if (@file_exists(strtoupper($path)) && @file_exists(strtolower($path))) { - $caseSensitive = false; - } - - // clean filesystem - unlink($path); - return $caseSensitive; - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php deleted file mode 100644 index c48516ab58c97c199824534e6bf667bbfae8a68f..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,148 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItem; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/uploads/tx_impexpgroupfiles' - ]; - - /** - * @var array - */ - protected $testExtensionsToLoad = [ - 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItem/DataSet/Assertion/'; - - /** - * @test - */ - public function importGroupFileAndFileReferenceItem() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItem'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed() - { - $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 1; - - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemWithRootLevelNotAllowed() - { - $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 0; - - $this->import->loadFile(__DIR__ . '/ImportExportXml/impexp-group-file-and-file_reference-item-on-pid-zero.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemWithRootLevelNotAllowed'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileNotExists(PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - - $expectedErrors = [ - 'Error: Record type tx_impexpgroupfiles_item is not allowed on pid 0' - ]; - $errors = $this->import->errorLog; - $this->assertSame($expectedErrors, $errors); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed() - { - $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = -1; - - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemButImagesNotIncluded() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItem'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php deleted file mode 100644 index e8af2288b65e958c9ee7ac7dc95483a46de9c1f9..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemInFlexForm; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/uploads/tx_impexpgroupfiles' - ]; - /** - * @var array - */ - protected $testExtensionsToLoad = [ - 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexForm/DataSet/Assertion/'; - - /** - * @test - */ - public function importGroupFileAndFileReferenceItemInFlexForm() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('impexp-group-file-and-file_reference-item-in-ff.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; - $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; - - $this->assertAssertionDataSet('importGroupFileAndFileReferenceItemInFlexForm'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php new file mode 100644 index 0000000000000000000000000000000000000000..2b6547bc4f5045414242cc90a68d9dfa6e38ccf8 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemInFlexFormTest.php @@ -0,0 +1,64 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class GroupFileAndFileReferenceItemInFlexFormTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/uploads/tx_impexpgroupfiles' + ]; + + /** + * @var array + */ + protected $testExtensionsToLoad = [ + 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' + ]; + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemInFlexForm() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item-in-ff.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemInFlexForm.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7e4722a3b14678f3703bf5599ee3776406a4c1fc --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/GroupFileAndFileReferenceItemTest.php @@ -0,0 +1,165 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class GroupFileAndFileReferenceItemTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/uploads/tx_impexpgroupfiles' + ]; + + /** + * @var array + */ + protected $testExtensionsToLoad = [ + 'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files' + ]; + + /** + * @test + */ + public function importGroupFileAndFileReferenceItem() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed() + { + $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 1; + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemWithRootLevelNotAllowed() + { + $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 0; + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileNotExists(PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + + $expectedErrors = [ + 'Error: Record type tx_impexpgroupfiles_item is not allowed on pid 0' + ]; + $errors = $subject->errorLog; + $this->assertSame($expectedErrors, $errors); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed() + { + $GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = -1; + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } + + /** + * @test + */ + public function importGroupFileAndFileReferenceItemButImagesNotIncluded() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'; + $this->testFilesToDelete[] = PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', PATH_site . 'fileadmin/user_upload/typo3_image5.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', PATH_site . 'uploads/tx_impexpgroupfiles/typo3_image4.jpg'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php deleted file mode 100644 index ba8ff55ac8f479e2c4a542b5367f1bd5d8112867..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\IrreTutorialRecords; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecords/DataSet/Assertion/'; - - /** - * @test - */ - public function importIrreRecords() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('irre-records.xml'), - 1 - ); - $this->import->importData(0); - - $this->assertAssertionDataSet('importIrreRecords'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php b/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php new file mode 100644 index 0000000000000000000000000000000000000000..ffb910cb9c1ffc9bfa64fe0823b57f2d3984659c --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/IrreTutorialRecordsTest.php @@ -0,0 +1,49 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import\IrreTutorialRecords; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class IrreTutorialRecordsTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $testExtensionsToLoad = [ + 'typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial', + ]; + + /** + * @test + */ + public function importIrreRecords() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/irre-records.xml', + 1 + ); + $subject->importData(0); + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importIrreRecords.csv'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php deleted file mode 100644 index 79eaf38e3c79f5668ef82de1262f0b62062af54c..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContent; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContent/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContent() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('pages-and-ttcontent.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContent'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Extensions/template_extension/Resources/Public/Templates/Empty.html', PATH_site . 'typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php new file mode 100644 index 0000000000000000000000000000000000000000..914c09ac5b98ac5897c9e104bca275e8c7276756 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentTest.php @@ -0,0 +1,47 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentTest extends AbstractImportExportTestCase +{ + /** + * @test + */ + public function importPagesAndRelatedTtContent() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContent.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Extensions/template_extension/Resources/Public/Templates/Empty.html', PATH_site . 'typo3conf/ext/template_extension/Resources/Public/Templates/Empty.html'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php deleted file mode 100644 index 4b7f644a28ffd0d6776d2d8db09cede37e7b365d..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,165 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithImages; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems() - { - if (!$this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case insensitive filesystems.'); - } - - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('pages-and-ttcontent-with-image.xml'), - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems() - { - if ($this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case sensitive filesystems.'); - } - - $this->import->loadFile(__DIR__ . '/../../Fixtures/ImportExportXml/pages-and-ttcontent-with-image.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems() - { - if (!$this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case insensitive filesystems.'); - } - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems() - { - if ($this->isCaseSensitiveFilesystem()) { - $this->markTestSkipped('Test not available on case sensitive filesystems.'); - } - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-without-storage.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesWithSpacesInPath() - { - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-with-spaces-in-path.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesWithSpacesInPath'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithImagesButNotIncluded() - { - $this->import->loadFile( - PATH_site . 'typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/' . $this->getDatabasePlatform() . '/pages-and-ttcontent-with-image-but-not-included.xml', - 1 - ); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImagesButNotIncluded'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } - - /** - * @test - * @group mysql - */ - public function importPagesAndRelatedTtContentWithImageWithForcedUids() - { - // @todo: Fix impexp / test with postgres: Probably, force uid's is not possible with postgres or needs - // @todo: to be adapted in somehow. - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-image-with-forced-uids.xml', 1); - $this->import->force_all_UIDS = true; - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithImageWithForcedUids'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - - $expectedErrors = [ - 'Forcing uids of sys_file records is not supported! They will be imported as new records!' - ]; - $errors = $this->import->errorLog; - $this->assertSame($expectedErrors, $errors); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php deleted file mode 100644 index 43868127fa796c9d23f72ab3501e6686630642b0..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/ImportInFilledDatabaseTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithImages; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInFilledDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/fileadmin/user_upload' - ]; - - /** - * @var array - */ - protected $pathsToLinkInTestInstance = [ - 'typo3/sysext/impexp/Tests/Functional/Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg' => 'fileadmin/user_upload/typo3_image2.jpg', - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImages/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithDifferentImageToExistingData() - { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content-with-image.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_language.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_metadata.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_reference.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-existing-different-image.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithDifferentImageToExistingData'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - $this->assertFileEquals(__DIR__ . '/Folders/Assertion/fileadmin/user_upload/typo3_image2_01.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'); - } - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithSameImageToExistingData() - { - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/pages.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/tt_content-with-image.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_language.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_metadata.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_reference.xml'); - $this->importDataSet(__DIR__ . '/../../Fixtures/Database/sys_file_storage.xml'); - - $this->import->loadFile(__DIR__ . '/ImportExportXml/pages-and-ttcontent-with-existing-same-image.xml', 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithSameImageToExistingData'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3058a7783e6d0f9beb47e813da5505c320b20caf --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInEmptyDatabaseTest.php @@ -0,0 +1,202 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithImages; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentWithImagesInEmptyDatabaseTest extends AbstractImportExportTestCase +{ + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if (!$this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case insensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseSensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if ($this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case sensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesOnCaseInsensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if (!$this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case insensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseSensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + if ($this->isCaseSensitiveFilesystem()) { + $this->markTestSkipped('Test not available on case sensitive filesystems.'); + } + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-without-storage.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButWithoutStorageOnCaseInsensitiveFilesystems.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesWithSpacesInPath() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-with-spaces-in-path.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesWithSpacesInPath.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image2.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/folder_with_spaces/typo3_image3.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithImagesButNotIncluded() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + // Files are parallel to the fixture .xml file in a folder - impexp tests for /../ not allowed in path, so we set an absolute path here + PATH_site . 'typo3/sysext/impexp/Tests/Functional/Fixtures/XmlImports/pages-and-ttcontent-with-image-but-not-included.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImagesButNotIncluded.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } + + /** + * @test + * @group mysql + */ + public function importPagesAndRelatedTtContentWithImageWithForcedUids() + { + // @todo: Fix impexp / test with postgres: Probably, force uid's is not possible with postgres or needs + // @todo: to be adapted in somehow. + + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-image-with-forced-uids.xml', + 1 + ); + $subject->force_all_UIDS = true; + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithImageWithForcedUids.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + + $expectedErrors = [ + 'Forcing uids of sys_file records is not supported! They will be imported as new records!' + ]; + $errors = $subject->errorLog; + $this->assertSame($expectedErrors, $errors); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php new file mode 100644 index 0000000000000000000000000000000000000000..64dae13df12ab9a4f2362323468dd49aa2e2214b --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithImagesInFilledDatabaseTest.php @@ -0,0 +1,99 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentWithImagesInFilledDatabaseTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/fileadmin/user_upload' + ]; + + /** + * @var array + */ + protected $pathsToLinkInTestInstance = [ + 'typo3/sysext/impexp/Tests/Functional/Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg' => 'fileadmin/user_upload/typo3_image2.jpg', + ]; + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithDifferentImageToExistingData() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/FileAssertions/typo3_image2_01.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg'); + } + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithSameImageToExistingData() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml'); + $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml'); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + } +} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php deleted file mode 100644 index 6eff6a6b4f211fe95cea4dd9407dab55dce39e15..0000000000000000000000000000000000000000 --- a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/ImportInEmptyDatabaseTest.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -namespace TYPO3\CMS\Impexp\Tests\Functional\Import\PagesAndTtContentWithRteImagesAndFileLink; - -/* - * This file is part of the TYPO3 CMS project. - * - * It is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, either version 2 - * of the License, or any later version. - * - * For the full copyright and license information, please read the - * LICENSE.txt file that was distributed with this source code. - * - * The TYPO3 project - inspiring people to share! - */ - -/** - * Functional test for the Import - */ -class ImportInEmptyDatabaseTest extends \TYPO3\CMS\Impexp\Tests\Functional\Import\AbstractImportTestCase -{ - /** - * @var array - */ - protected $additionalFoldersToCreate = [ - '/fileadmin/_processed_' - ]; - - /** - * @var string - */ - protected $assertionDataSetDirectory = 'typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLink/DataSet/Assertion/'; - - /** - * @test - */ - public function importPagesAndRelatedTtContentWithRteImagesAndFileLink() - { - $this->import->loadFile( - $this->setDatabasePlatform(static::DATABASE_PLATFORM_MYSQL)->getXmlFilePath('pages-and-ttcontent-with-rte-image-n-file-link.xml'), - 1); - $this->import->importData(0); - - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; - $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; - - $this->assertAssertionDataSet('importPagesAndRelatedTtContentWithRteImagesAndFileLink'); - - $this->assertFileNotExists(PATH_site . 'fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg'); - - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); - $this->assertFileEquals(__DIR__ . '/../../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); - } -} diff --git a/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php new file mode 100644 index 0000000000000000000000000000000000000000..13950337f5efdec4c9f8c3c4b051e16dad921454 --- /dev/null +++ b/typo3/sysext/impexp/Tests/Functional/Import/PagesAndTtContentWithRteImagesAndFileLinkTest.php @@ -0,0 +1,57 @@ +<?php +namespace TYPO3\CMS\Impexp\Tests\Functional\Import; + +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Impexp\Import; +use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase; + +/** + * Test case + */ +class PagesAndTtContentWithRteImagesAndFileLinkTest extends AbstractImportExportTestCase +{ + /** + * @var array + */ + protected $additionalFoldersToCreate = [ + '/fileadmin/_processed_' + ]; + + /** + * @test + */ + public function importPagesAndRelatedTtContentWithRteImagesAndFileLink() + { + $subject = GeneralUtility::makeInstance(Import::class); + $subject->init(); + + $subject->loadFile( + __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-rte-image-n-file-link.xml', + 1 + ); + $subject->importData(0); + + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'; + $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'; + + $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithRteImagesAndFileLink.csv'); + + $this->assertFileNotExists(PATH_site . 'fileadmin/_processed_/csm_typo3_image2_5c2670fd59.jpg'); + + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg'); + $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image3.jpg', PATH_site . 'fileadmin/user_upload/typo3_image3.jpg'); + } +}