[TASK] Modernize irre_tutorial fixture 63/39663/2
authorChristian Kuhn <lolli@schwarzbu.ch>
Fri, 22 May 2015 15:03:31 +0000 (17:03 +0200)
committerFrank Nägler <typo3@naegler.net>
Fri, 22 May 2015 16:04:05 +0000 (18:04 +0200)
Use Configuration/TCA instead of TCA registration in ext_tables.php

Resolves: #67110
Releases: master
Change-Id: I86545f3adcc58c54d74c2ae15cb7a5e1fda043ce
Reviewed-on: http://review.typo3.org/39663
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Frank Nägler <typo3@naegler.net>
Tested-by: Frank Nägler <typo3@naegler.net>
39 files changed:
typo3/sysext/core/Tests/Functional/DataHandling/AbstractDataHandlerActionTestCase.php
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.1ncsv.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.1nff.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnasym.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnattr.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnmmasym.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnsym.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/pages.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/pages_language_overlay.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/sys_category.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/tt_content.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.1ncsv.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.1nff.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnasym.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnattr.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnmmasym.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnsym.php [deleted file]
typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/ext_tables.php
typo3/sysext/core/Tests/Functional/Fixtures/Frontend/extTables.php [deleted file]
typo3/sysext/impexp/Tests/Functional/Fixtures/ImportExportXml/irre-records.xml

index ce47488..1198995 100644 (file)
@@ -55,7 +55,6 @@ abstract class AbstractDataHandlerActionTestCase extends \TYPO3\CMS\Core\Tests\F
         */
        protected $pathsToLinkInTestInstance = array(
                'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/AdditionalConfiguration.php' => 'typo3conf/AdditionalConfiguration.php',
-               'typo3/sysext/core/Tests/Functional/Fixtures/Frontend/extTables.php' => 'typo3conf/extTables.php',
        );
 
        /**
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.1ncsv.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.1ncsv.php
deleted file mode 100644 (file)
index 12dc88a..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1ncsv_hotel');
-
-$TCA['tx_irretutorial_1ncsv_hotel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1ncsv_hotel',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.1ncsv.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               'shadowColumnsForNewPlaceholders' => 'offers',
-               'shadowColumnsForMovePlaceholders' => 'offers',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, offers',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1ncsv_offer');
-
-$TCA['tx_irretutorial_1ncsv_offer'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1ncsv_offer',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.1ncsv.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               'shadowColumnsForNewPlaceholders' => 'prices',
-               'shadowColumnsForMovePlaceholders' => 'prices',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, prices',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1ncsv_price');
-
-$TCA['tx_irretutorial_1ncsv_price'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1ncsv_price',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.1ncsv.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, price',
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.1nff.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.1nff.php
deleted file mode 100644 (file)
index 3e0ec01..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1nff_hotel');
-
-$TCA['tx_irretutorial_1nff_hotel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1nff_hotel',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.1nff.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'parentid,parenttable',
-               'shadowColumnsForMovePlaceholders' => 'parentid,parenttable',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, offers',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1nff_offer');
-
-$TCA['tx_irretutorial_1nff_offer'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1nff_offer',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.1nff.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'parentid,parenttable',
-               'shadowColumnsForMovePlaceholders' => 'parentid,parenttable',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, parentid, parenttable, title, prices',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1nff_price');
-
-$TCA['tx_irretutorial_1nff_price'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1nff_price',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.1nff.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'parentid,parenttable',
-               'shadowColumnsForMovePlaceholders' => 'parentid,parenttable',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, parentid, title, price',
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.general.php
deleted file mode 100644 (file)
index bebf191..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
-       'pages',
-        array(
-               'tx_irretutorial_hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.tx_irretutorial_hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
-                               'foreign_field' => 'parentid',
-                               'foreign_table_field' => 'parenttable',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       )
-);
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
-       'pages',
-       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.doktype.div.irre, tx_irretutorial_hotels'
-);
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
-       'pages_language_overlay',
-        array(
-               'tx_irretutorial_hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.tx_irretutorial_hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
-                               'foreign_field' => 'parentid',
-                               'foreign_table_field' => 'parenttable',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       )
-);
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
-       'pages_language_overlay',
-       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.doktype.div.irre, tx_irretutorial_hotels'
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
-       'tt_content',
-        array(
-                'tx_irretutorial_1nff_hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_1nff_hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
-                               'foreign_field' => 'parentid',
-                               'foreign_table_field' => 'parenttable',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                                       'localizeChildrenAtParentLocalization' => TRUE,
-                               ),
-                       )
-               ),
-                'tx_irretutorial_1ncsv_hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_1ncsv_hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1ncsv_hotel',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                                       'localizeChildrenAtParentLocalization' => TRUE,
-                               ),
-                       )
-               ),
-               'tx_irretutorial_flexform' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_flexform',
-                       'config' => array(
-                               'type' => 'flex',
-                               'ds' => array(
-                                       'default' => 'FILE:EXT:irre_tutorial/Configuration/FlexForms/tt_content_flexform.xml',
-                               ),
-                       )
-               ),
-       )
-);
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
-       'tt_content',
-       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.div.irre, tx_irretutorial_1nff_hotels, tx_irretutorial_1ncsv_hotels, tx_irretutorial_flexform'
-);
-
-$GLOBALS['TCA']['tt_content']['ctrl']['shadowColumnsForNewPlaceholders'] = 'tx_irretutorial_1ncsv_hotels';
-$GLOBALS['TCA']['tt_content']['ctrl']['shadowColumnsForMovePlaceholders'] = 'tx_irretutorial_1ncsv_hotels';
-
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnasym.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnasym.php
deleted file mode 100644 (file)
index c675d98..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_hotel');
-
-$TCA['tx_irretutorial_mnasym_hotel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_hotel',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, offers',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_hotel_offer_rel');
-
-$TCA['tx_irretutorial_mnasym_hotel_offer_rel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_hotel_offer_rel',
-               'label' => 'uid',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel_offer_rel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'hotelid,offerid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, hotelid, offerid, prices, hotelsort, offersort',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_offer');
-
-$TCA['tx_irretutorial_mnasym_offer'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_offer',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, hotels',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_price');
-
-$TCA['tx_irretutorial_mnasym_price'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_price',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'parentid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'hidden, title, parentid, price',
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnattr.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnattr.php
deleted file mode 100644 (file)
index 1c27293..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnattr_hotel');
-
-$TCA['tx_irretutorial_mnattr_hotel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnattr_hotel',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnattr.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, offers',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnattr_hotel_offer_rel');
-
-$TCA['tx_irretutorial_mnattr_hotel_offer_rel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnattr_hotel_offer_rel',
-               'label' => 'uid',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnattr.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel_offer_rel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'hotelid,offerid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, hotelid, offerid, quality, allincl',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnattr_offer');
-
-$TCA['tx_irretutorial_mnattr_offer'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnattr_offer',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnattr.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, hotels',
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnmmasym.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnmmasym.php
deleted file mode 100644 (file)
index 9b0acda..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnmmasym_hotel');
-
-$TCA['tx_irretutorial_mnmmasym_hotel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnmmasym_hotel',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnmmasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, offers',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnmmasym_offer');
-
-$TCA['tx_irretutorial_mnmmasym_offer'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnmmasym_offer',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnmmasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, hotels, prices',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnmmasym_price');
-
-$TCA['tx_irretutorial_mnmmasym_price'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnmmasym_price',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnmmasym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'hidden, title, price, offers',
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnsym.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/ExtTables/ext_tables.mnsym.php
deleted file mode 100644 (file)
index e4612df..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnsym_hotel');
-
-$TCA['tx_irretutorial_mnsym_hotel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/locallang_db.xml:tx_irretutorial_mnsym_hotel',
-               'label' => 'title',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'sortby' => 'sorting',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnsym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, title, branches',
-       )
-);
-
-
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnsym_hotel_rel');
-
-$TCA['tx_irretutorial_mnsym_hotel_rel'] = array(
-       'ctrl' => array(
-               'title' => 'LLL:EXT:irre_tutorial/locallang_db.xml:tx_irretutorial_mnsym_hotel_rel',
-               'label' => 'uid',
-               'tstamp' => 'tstamp',
-               'crdate' => 'crdate',
-               'cruser_id' => 'cruser_id',
-               'languageField'            => 'sys_language_uid',
-               'transOrigPointerField'    => 'l18n_parent',
-               'transOrigDiffSourceField' => 'l18n_diffsource',
-               'delete' => 'deleted',
-               'enablecolumns' => array(
-                       'disabled' => 'hidden',
-               ),
-               'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Tca/tca.mnsym.php',
-               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/icon_tx_irretutorial_hotel_rel.gif',
-               'versioningWS' => 2,
-               'origUid' => 't3_origuid',
-               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
-               // 'shadowColumnsForNewPlaceholders' => 'hotelid',
-       ),
-       'feInterface' => array(
-               'fe_admin_fieldList' => 'sys_language_uid, l18n_parent, l18n_diffsource, hidden, hotelid, branchid',
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/pages.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/pages.php
new file mode 100644 (file)
index 0000000..8ad0bee
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+
+// Show copied pages records in frontend request
+$GLOBALS['TCA']['pages']['ctrl']['hideAtCopy'] = FALSE;
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+       'pages',
+       array(
+               'tx_irretutorial_hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.tx_irretutorial_hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
+                               'foreign_field' => 'parentid',
+                               'foreign_table_field' => 'parenttable',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       )
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
+       'pages',
+       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.doktype.div.irre, tx_irretutorial_hotels'
+);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/pages_language_overlay.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/pages_language_overlay.php
new file mode 100644 (file)
index 0000000..5590464
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+       'pages_language_overlay',
+       array(
+               'tx_irretutorial_hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.tx_irretutorial_hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
+                               'foreign_field' => 'parentid',
+                               'foreign_table_field' => 'parenttable',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       )
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
+       'pages_language_overlay',
+       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:pages.doktype.div.irre, tx_irretutorial_hotels'
+);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/sys_category.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/sys_category.php
new file mode 100644 (file)
index 0000000..98e0f0f
--- /dev/null
@@ -0,0 +1,6 @@
+<?php
+
+// Prepend label for copied sys_category records
+$GLOBALS['TCA']['sys_category']['ctrl']['prependAtCopy'] = 'LLL:EXT:lang/locallang_general.xlf:LGL.prependAtCopy';
+// Prepend label for localized sys_category records
+$GLOBALS['TCA']['sys_category']['columns']['title']['l10n_mode'] = 'prefixLangTitle';
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/tt_content.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/Overrides/tt_content.php
new file mode 100644 (file)
index 0000000..1bc074e
--- /dev/null
@@ -0,0 +1,68 @@
+<?php
+
+// Show copied tt_content records in frontend request
+$GLOBALS['TCA']['tt_content']['ctrl']['hideAtCopy'] = FALSE;
+
+$GLOBALS['TCA']['tt_content']['ctrl']['shadowColumnsForNewPlaceholders'] = 'tx_irretutorial_1ncsv_hotels';
+$GLOBALS['TCA']['tt_content']['ctrl']['shadowColumnsForMovePlaceholders'] = 'tx_irretutorial_1ncsv_hotels';
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
+       'tt_content',
+       array(
+               'tx_irretutorial_1nff_hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_1nff_hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
+                               'foreign_field' => 'parentid',
+                               'foreign_table_field' => 'parenttable',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                                       'localizeChildrenAtParentLocalization' => TRUE,
+                               ),
+                       )
+               ),
+               'tx_irretutorial_1ncsv_hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_1ncsv_hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1ncsv_hotel',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                                       'localizeChildrenAtParentLocalization' => TRUE,
+                               ),
+                       )
+               ),
+               'tx_irretutorial_flexform' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.tx_irretutorial_flexform',
+                       'config' => array(
+                               'type' => 'flex',
+                               'ds' => array(
+                                       'default' => 'FILE:EXT:irre_tutorial/Configuration/FlexForms/tt_content_flexform.xml',
+                               ),
+                       )
+               ),
+       )
+);
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
+       'tt_content',
+       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tt_content.div.irre, tx_irretutorial_1nff_hotels, tx_irretutorial_1ncsv_hotels, tx_irretutorial_flexform'
+);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php
new file mode 100644 (file)
index 0000000..72c362c
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1ncsv_hotel',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               'shadowColumnsForNewPlaceholders' => 'offers',
+               'shadowColumnsForMovePlaceholders' => 'offers',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_1ncsv_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_1ncsv_hotel.pid=###CURRENT_PID### AND tx_irretutorial_1ncsv_hotel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'offers' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1ncsv_offer',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                                       'localizeChildrenAtParentLocalization' => TRUE,
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers, ' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php
new file mode 100644 (file)
index 0000000..39923ba
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1ncsv_offer',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               'shadowColumnsForNewPlaceholders' => 'prices',
+               'shadowColumnsForMovePlaceholders' => 'prices',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,prices'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_1ncsv_offer',
+                               'foreign_table_where' => 'AND tx_irretutorial_1ncsv_offer.pid=###CURRENT_PID### AND tx_irretutorial_1ncsv_offer.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'prices' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.prices',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1ncsv_price',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                                       'localizeChildrenAtParentLocalization' => TRUE,
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, prices,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php
new file mode 100644 (file)
index 0000000..207c961
--- /dev/null
@@ -0,0 +1,93 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1ncsv_price',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,price'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_1ncsv_price',
+                               'foreign_table_where' => 'AND tx_irretutorial_1ncsv_price.pid=###CURRENT_PID### AND tx_irretutorial_1ncsv_price.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'price' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'double2',
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, price,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, '
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php
new file mode 100644 (file)
index 0000000..40ee146
--- /dev/null
@@ -0,0 +1,118 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1nff_hotel',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'parentid,parenttable',
+               'shadowColumnsForMovePlaceholders' => 'parentid,parenttable',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_1nff_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_1nff_hotel.pid=###CURRENT_PID### AND tx_irretutorial_1nff_hotel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'parentid' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'parenttable' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'offers' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1nff_offer',
+                               'foreign_field' => 'parentid',
+                               'foreign_table_field' => 'parenttable',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                                       'localizeChildrenAtParentLocalization' => TRUE,
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php
new file mode 100644 (file)
index 0000000..ecb56a8
--- /dev/null
@@ -0,0 +1,118 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1nff_offer',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'parentid,parenttable',
+               'shadowColumnsForMovePlaceholders' => 'parentid,parenttable',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,parentid,parenttable,title,prices'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_1nff_offer',
+                               'foreign_table_where' => 'AND tx_irretutorial_1nff_offer.pid=###CURRENT_PID### AND tx_irretutorial_1nff_offer.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'parentid' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'parenttable' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'prices' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.prices',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_1nff_price',
+                               'foreign_field' => 'parentid',
+                               'foreign_table_field' => 'parenttable',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                                       'localizeChildrenAtParentLocalization' => TRUE,
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, prices,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, parentid, parenttable'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php
new file mode 100644 (file)
index 0000000..ae90587
--- /dev/null
@@ -0,0 +1,106 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_1nff_price',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'parentid,parenttable',
+               'shadowColumnsForMovePlaceholders' => 'parentid,parenttable',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,parentid,title,price'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_1nff_price',
+                               'foreign_table_where' => 'AND tx_irretutorial_1nff_price.pid=###CURRENT_PID### AND tx_irretutorial_1nff_price.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'parentid' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'parenttable' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'price' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'double2',
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, price,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, parentid'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php
new file mode 100644 (file)
index 0000000..5ce69e8
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_hotel',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnasym_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_hotel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'offers' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnasym_hotel_offer_rel',
+                               'foreign_field' => 'hotelid',
+                               'foreign_sortby' => 'hotelsort',
+                               'foreign_label' => 'offerid',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php
new file mode 100644 (file)
index 0000000..2488106
--- /dev/null
@@ -0,0 +1,123 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_hotel_offer_rel',
+               'label' => 'uid',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel_offer_rel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'hotelid,offerid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotelid,offerid,prices,hotelsort,offersort'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnasym_hotel_offer_rel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_hotel_offer_rel.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_hotel_offer_rel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'hotelid' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.hotelid',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'tx_irretutorial_mnasym_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_hotel.sys_language_uid="###REC_FIELD_sys_language_uid###"',
+                               'maxitems' => 1,
+                               'localizeReferences' => 1,
+                       )
+               ),
+               'offerid' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.offerid',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'tx_irretutorial_mnasym_offer',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_offer.sys_language_uid="###REC_FIELD_sys_language_uid###"',
+                               'maxitems' => 1,
+                               'localizeReferences' => 1,
+                       )
+               ),
+               'prices' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.prices',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnasym_price',
+                               'foreign_field' => 'parentid',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+               'hotelsort' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'offersort' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotelid, offerid, prices,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, hotelsort, offersort'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php
new file mode 100644 (file)
index 0000000..cf1177d
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_offer',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotels'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnasym_offer',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_offer.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnasym_hotel_offer_rel',
+                               'foreign_field' => 'offerid',
+                               'foreign_sortby' => 'offersort',
+                               'foreign_label' => 'hotelid',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotels,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php
new file mode 100644 (file)
index 0000000..efdbc56
--- /dev/null
@@ -0,0 +1,100 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnasym_price',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'parentid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,parentid,price'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnasym_price',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_price.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_price.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'parentid' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'price' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'double2',
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, parentid, price,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, parentid'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php
new file mode 100644 (file)
index 0000000..e8d61a3
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnattr_hotel',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnattr_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnattr_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnattr_hotel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'offers' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnattr_hotel_offer_rel',
+                               'foreign_field' => 'hotelid',
+                               'foreign_sortby' => 'hotelsort',
+                               'foreign_label' => 'offerid',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php
new file mode 100644 (file)
index 0000000..a038304
--- /dev/null
@@ -0,0 +1,124 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnattr_hotel_offer_rel',
+               'label' => 'uid',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel_offer_rel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'hotelid,offerid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotelid,offerid,hotelsort,offersort,quality,allincl'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnattr_hotel_offer_rel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnattr_hotel_offer_rel.pid=###CURRENT_PID### AND tx_irretutorial_mnattr_hotel_offer_rel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'hotelid' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.hotelid',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'tx_irretutorial_mnattr_hotel',
+                               'maxitems' => 1,
+                               'localizeReferences' => 1,
+                       )
+               ),
+               'offerid' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.offerid',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'tx_irretutorial_mnattr_offer',
+                               'maxitems' => 1,
+                               'localizeReferences' => 1,
+                       )
+               ),
+               'hotelsort' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'offersort' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'quality' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.0', '1'),
+                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.1', '2'),
+                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.2', '3'),
+                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.3', '4'),
+                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.4', '5'),
+                               ),
+                       )
+               ),
+               'allincl' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.allincl',
+                       'config' => array(
+                               'type' => 'check',
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotelid, offerid, hotelsort, offersort, quality, allincl,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php
new file mode 100644 (file)
index 0000000..8fc9311
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnattr_offer',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotels'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnattr_offer',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnattr_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnattr_offer.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnattr_hotel_offer_rel',
+                               'foreign_field' => 'offerid',
+                               'foreign_sortby' => 'offersort',
+                               'foreign_label' => 'hotelid',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotels,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php
new file mode 100644 (file)
index 0000000..1809b5e
--- /dev/null
@@ -0,0 +1,104 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnmmasym_hotel',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnmmasym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnmmasym_hotel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'offers' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_offer',
+                               'MM' => 'tx_irretutorial_mnmmasym_hotel_offer_rel',
+                               'MM_hasUidField' => TRUE,
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php
new file mode 100644 (file)
index 0000000..4a13c82
--- /dev/null
@@ -0,0 +1,125 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnmmasym_offer',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_offer.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotels,prices'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_offer',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnmmasym_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnmmasym_offer.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'hotels' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.hotels',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_hotel',
+                               'MM' => 'tx_irretutorial_mnmmasym_hotel_offer_rel',
+                               'MM_hasUidField' => TRUE,
+                               'MM_opposite_field' => 'offers',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+               'prices' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.prices',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_price',
+                               'MM' => 'tx_irretutorial_mnmmasym_offer_price_rel',
+                               'MM_hasUidField' => TRUE,
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotels, prices,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php
new file mode 100644 (file)
index 0000000..b66edea
--- /dev/null
@@ -0,0 +1,114 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_mnmmasym_price',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_price.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,price,offers'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_price',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnmmasym_price.pid=###CURRENT_PID### AND tx_irretutorial_mnmmasym_price.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'price' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'double2',
+                       )
+               ),
+               'offers' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.offers',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnmmasym_offer',
+                               'MM' => 'tx_irretutorial_mnmmasym_offer_price_rel',
+                               'MM_hasUidField' => TRUE,
+                               'MM_opposite_field' => 'prices',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, price, offers,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php
new file mode 100644 (file)
index 0000000..f49641c
--- /dev/null
@@ -0,0 +1,108 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/locallang_db.xml:tx_irretutorial_mnsym_hotel',
+               'label' => 'title',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'sortby' => 'sorting',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,branches'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnsym_hotel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnsym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnsym_hotel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'title' => array(
+                       'exclude' => 1,
+                       'l10n_mode' => 'prefixLangTitle',
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
+                       'config' => array(
+                               'type' => 'input',
+                               'size' => '30',
+                               'eval' => 'required',
+                       )
+               ),
+               'branches' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.branches',
+                       'config' => array(
+                               'type' => 'inline',
+                               'foreign_table' => 'tx_irretutorial_mnsym_hotel_rel',
+                               'foreign_field' => 'hotelid',
+                               'foreign_sortby' => 'hotelsort',
+                               'foreign_label' => 'branchid',
+                               'symmetric_field' => 'branchid',
+                               'symmetric_sortby' => 'branchsort',
+                               'symmetric_label' => 'hotelid',
+                               'maxitems' => 10,
+                               'appearance' => array(
+                                       'showSynchronizationLink' => 1,
+                                       'showAllLocalizationLink' => 1,
+                                       'showPossibleLocalizationRecords' => 1,
+                                       'showRemovedLocalizationRecords' => 1,
+                               ),
+                               'behaviour' => array(
+                                       'localizationMode' => 'select',
+                               ),
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, branches,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php
new file mode 100644 (file)
index 0000000..2c0cdd8
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+return array(
+       'ctrl' => array(
+               'title' => 'LLL:EXT:irre_tutorial/locallang_db.xml:tx_irretutorial_mnsym_hotel_rel',
+               'label' => 'uid',
+               'tstamp' => 'tstamp',
+               'crdate' => 'crdate',
+               'cruser_id' => 'cruser_id',
+               'languageField' => 'sys_language_uid',
+               'transOrigPointerField' => 'l18n_parent',
+               'transOrigDiffSourceField' => 'l18n_diffsource',
+               'delete' => 'deleted',
+               'enablecolumns' => array(
+                       'disabled' => 'hidden',
+               ),
+               'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('irre_tutorial') . 'Resources/Public/Icons/icon_tx_irretutorial_hotel_rel.gif',
+               'versioningWS' => 2,
+               'origUid' => 't3_origuid',
+               // @see http://forge.typo3.org/issues/29278 which solves it implicitly in the Core
+               // 'shadowColumnsForNewPlaceholders' => 'hotelid',
+       ),
+       'interface' => array(
+               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotelid,offerid,hotelsort,offersort'
+       ),
+       'columns' => array(
+               'sys_language_uid' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'sys_language',
+                               'foreign_table_where' => 'ORDER BY sys_language.title',
+                               'items' => array(
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
+                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
+                               )
+                       )
+               ),
+               'l18n_parent' => array(
+                       'displayCond' => 'FIELD:sys_language_uid:>:0',
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
+                       'config' => array(
+                               'type' => 'select',
+                               'items' => array(
+                                       array('', 0),
+                               ),
+                               'foreign_table' => 'tx_irretutorial_mnsym_hotel_rel',
+                               'foreign_table_where' => 'AND tx_irretutorial_mnsym_hotel_rel.pid=###CURRENT_PID### AND tx_irretutorial_mnsym_hotel_rel.sys_language_uid IN (-1,0)',
+                       )
+               ),
+               'l18n_diffsource' => array(
+                       'config' => array(
+                               'type' => 'passthrough'
+                       )
+               ),
+               'hidden' => array(
+                       'exclude' => 1,
+                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
+                       'config' => array(
+                               'type' => 'check',
+                               'default' => '0'
+                       )
+               ),
+               'hotelid' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_rel.hotelid',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'tx_irretutorial_mnsym_hotel',
+                               'maxitems' => 1,
+                               'localizeReferences' => 1,
+                       )
+               ),
+               'branchid' => array(
+                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_rel.branchid',
+                       'config' => array(
+                               'type' => 'select',
+                               'foreign_table' => 'tx_irretutorial_mnsym_hotel',
+                               'maxitems' => 1,
+                               'localizeReferences' => 1,
+                       )
+               ),
+               'hotelsort' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+               'branchsort' => array(
+                       'config' => array(
+                               'type' => 'passthrough',
+                       )
+               ),
+       ),
+       'types' => array(
+               '0' => Array('showitem' =>
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotelid, branchid,' .
+                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, hotelsort, branchsort'
+               )
+       ),
+       'palettes' => array(
+               '1' => Array('showitem' => '')
+       )
+);
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.1ncsv.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.1ncsv.php
deleted file mode 100644 (file)
index c8150a2..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-$TCA['tx_irretutorial_1ncsv_hotel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_1ncsv_hotel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_1ncsv_hotel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_1ncsv_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_1ncsv_hotel.pid=###CURRENT_PID### AND tx_irretutorial_1ncsv_hotel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'offers' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1ncsv_offer',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                                       'localizeChildrenAtParentLocalization' => TRUE,
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers, ' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_1ncsv_offer'] = array(
-       'ctrl' => $TCA['tx_irretutorial_1ncsv_offer']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,prices'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_1ncsv_offer']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_1ncsv_offer',
-                               'foreign_table_where' => 'AND tx_irretutorial_1ncsv_offer.pid=###CURRENT_PID### AND tx_irretutorial_1ncsv_offer.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'prices' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.prices',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1ncsv_price',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                                       'localizeChildrenAtParentLocalization' => TRUE,
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, prices,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_1ncsv_price'] = array(
-       'ctrl' => $TCA['tx_irretutorial_1ncsv_price']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,price'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_1ncsv_price']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_1ncsv_price',
-                               'foreign_table_where' => 'AND tx_irretutorial_1ncsv_price.pid=###CURRENT_PID### AND tx_irretutorial_1ncsv_price.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'price' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'double2',
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, price,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, '
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.1nff.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.1nff.php
deleted file mode 100644 (file)
index f69f70b..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-$TCA['tx_irretutorial_1nff_hotel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_1nff_hotel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_1nff_hotel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_1nff_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_1nff_hotel.pid=###CURRENT_PID### AND tx_irretutorial_1nff_hotel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'parentid' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'parenttable' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'offers' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1nff_offer',
-                               'foreign_field' => 'parentid',
-                               'foreign_table_field' => 'parenttable',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                                       'localizeChildrenAtParentLocalization' => TRUE,
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_1nff_offer'] = array(
-       'ctrl' => $TCA['tx_irretutorial_1nff_offer']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,parentid,parenttable,title,prices'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_1nff_offer']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_1nff_offer',
-                               'foreign_table_where' => 'AND tx_irretutorial_1nff_offer.pid=###CURRENT_PID### AND tx_irretutorial_1nff_offer.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'parentid' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'parenttable' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'prices' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.prices',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_1nff_price',
-                               'foreign_field' => 'parentid',
-                               'foreign_table_field' => 'parenttable',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                                       'localizeChildrenAtParentLocalization' => TRUE,
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, prices,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, parentid, parenttable'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_1nff_price'] = array(
-       'ctrl' => $TCA['tx_irretutorial_1nff_price']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,parentid,title,price'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_1nff_price']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_1nff_price',
-                               'foreign_table_where' => 'AND tx_irretutorial_1nff_price.pid=###CURRENT_PID### AND tx_irretutorial_1nff_price.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'parentid' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'parenttable' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'price' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'double2',
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, price,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, parentid'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnasym.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnasym.php
deleted file mode 100644 (file)
index 09c0c53..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-$TCA['tx_irretutorial_mnasym_hotel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnasym_hotel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnasym_hotel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnasym_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_hotel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'offers' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnasym_hotel_offer_rel',
-                               'foreign_field' => 'hotelid',
-                               'foreign_sortby' => 'hotelsort',
-                               'foreign_label' => 'offerid',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnasym_hotel_offer_rel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnasym_hotel_offer_rel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotelid,offerid,prices,hotelsort,offersort'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnasym_hotel_offer_rel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnasym_hotel_offer_rel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_hotel_offer_rel.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_hotel_offer_rel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'hotelid' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.hotelid',
-                       'config' => array(
-                               'type' => 'select',
-                               'foreign_table' => 'tx_irretutorial_mnasym_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_hotel.sys_language_uid="###REC_FIELD_sys_language_uid###"',
-                               'maxitems' => 1,
-                               'localizeReferences' => 1,
-                       )
-               ),
-               'offerid' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.offerid',
-                       'config' => array(
-                               'type' => 'select',
-                               'foreign_table' => 'tx_irretutorial_mnasym_offer',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_offer.sys_language_uid="###REC_FIELD_sys_language_uid###"',
-                               'maxitems' => 1,
-                               'localizeReferences' => 1,
-                       )
-               ),
-               'prices' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.prices',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnasym_price',
-                               'foreign_field' => 'parentid',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-               'hotelsort' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'offersort' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotelid, offerid, prices,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, hotelsort, offersort'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnasym_offer'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnasym_offer']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotels'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnasym_offer']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnasym_offer',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_offer.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnasym_hotel_offer_rel',
-                               'foreign_field' => 'offerid',
-                               'foreign_sortby' => 'offersort',
-                               'foreign_label' => 'hotelid',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotels,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnasym_price'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnasym_price']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,parentid,price'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnasym_price']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnasym_price',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnasym_price.pid=###CURRENT_PID### AND tx_irretutorial_mnasym_price.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'parentid' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'price' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'double2',
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, parentid, price,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, parentid'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnattr.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnattr.php
deleted file mode 100644 (file)
index fdec63e..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-$TCA['tx_irretutorial_mnattr_hotel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnattr_hotel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnattr_hotel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnattr_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnattr_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnattr_hotel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'offers' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnattr_hotel_offer_rel',
-                               'foreign_field' => 'hotelid',
-                               'foreign_sortby' => 'hotelsort',
-                               'foreign_label' => 'offerid',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnattr_hotel_offer_rel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnattr_hotel_offer_rel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotelid,offerid,hotelsort,offersort,quality,allincl'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnattr_hotel_offer_rel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnattr_hotel_offer_rel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnattr_hotel_offer_rel.pid=###CURRENT_PID### AND tx_irretutorial_mnattr_hotel_offer_rel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'hotelid' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.hotelid',
-                       'config' => array(
-                               'type' => 'select',
-                               'foreign_table' => 'tx_irretutorial_mnattr_hotel',
-                               'maxitems' => 1,
-                               'localizeReferences' => 1,
-                       )
-               ),
-               'offerid' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.offerid',
-                       'config' => array(
-                               'type' => 'select',
-                               'foreign_table' => 'tx_irretutorial_mnattr_offer',
-                               'maxitems' => 1,
-                               'localizeReferences' => 1,
-                       )
-               ),
-               'hotelsort' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'offersort' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'quality' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality',
-                       'config' => array(
-                               'type' => 'select',
-                               'items' => array(
-                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.0', '1'),
-                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.1', '2'),
-                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.2', '3'),
-                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.3', '4'),
-                                       Array('LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.quality.I.4', '5'),
-                               ),
-                       )
-               ),
-               'allincl' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_offer_rel.allincl',
-                       'config' => array(
-                               'type' => 'check',
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotelid, offerid, hotelsort, offersort, quality, allincl,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnattr_offer'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnattr_offer']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotels'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnattr_offer']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnattr_offer',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnattr_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnattr_offer.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnattr_hotel_offer_rel',
-                               'foreign_field' => 'offerid',
-                               'foreign_sortby' => 'offersort',
-                               'foreign_label' => 'hotelid',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotels,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnmmasym.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnmmasym.php
deleted file mode 100644 (file)
index 6695fee..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-$TCA['tx_irretutorial_mnmmasym_hotel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnmmasym_hotel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,offers'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnmmasym_hotel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnmmasym_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnmmasym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnmmasym_hotel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'offers' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.offers',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnmmasym_offer',
-                               'MM' => 'tx_irretutorial_mnmmasym_hotel_offer_rel',
-                               'MM_hasUidField' => TRUE,
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, offers,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnmmasym_offer'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnmmasym_offer']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotels,prices'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnmmasym_offer']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnmmasym_offer',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnmmasym_offer.pid=###CURRENT_PID### AND tx_irretutorial_mnmmasym_offer.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'hotels' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.hotels',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnmmasym_hotel',
-                               'MM' => 'tx_irretutorial_mnmmasym_hotel_offer_rel',
-                               'MM_hasUidField' => TRUE,
-                               'MM_opposite_field' => 'offers',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-               'prices' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_offer.prices',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnmmasym_price',
-                               'MM' => 'tx_irretutorial_mnmmasym_offer_price_rel',
-                               'MM_hasUidField' => TRUE,
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotels, prices,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnmmasym_price'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnmmasym_price']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,price,offers'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnmmasym_price']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnmmasym_price',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnmmasym_price.pid=###CURRENT_PID### AND tx_irretutorial_mnmmasym_price.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'price' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.price',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'double2',
-                       )
-               ),
-               'offers' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_price.offers',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnmmasym_offer',
-                               'MM' => 'tx_irretutorial_mnmmasym_offer_price_rel',
-                               'MM_hasUidField' => TRUE,
-                               'MM_opposite_field' => 'prices',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, price, offers,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnsym.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/Tca/tca.mnsym.php
deleted file mode 100644 (file)
index 0690fe3..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-<?php
-defined('TYPO3_MODE') or die();
-
-$TCA['tx_irretutorial_mnsym_hotel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnsym_hotel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,branches'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnsym_hotel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnsym_hotel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnsym_hotel.pid=###CURRENT_PID### AND tx_irretutorial_mnsym_hotel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'title' => array(
-                       'exclude' => 1,
-                       'l10n_mode' => 'prefixLangTitle',
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.title',
-                       'config' => array(
-                               'type' => 'input',
-                               'size' => '30',
-                               'eval' => 'required',
-                       )
-               ),
-               'branches' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel.branches',
-                       'config' => array(
-                               'type' => 'inline',
-                               'foreign_table' => 'tx_irretutorial_mnsym_hotel_rel',
-                               'foreign_field' => 'hotelid',
-                               'foreign_sortby' => 'hotelsort',
-                               'foreign_label' => 'branchid',
-                               'symmetric_field' => 'branchid',
-                               'symmetric_sortby' => 'branchsort',
-                               'symmetric_label' => 'hotelid',
-                               'maxitems' => 10,
-                               'appearance' => array(
-                                       'showSynchronizationLink' => 1,
-                                       'showAllLocalizationLink' => 1,
-                                       'showPossibleLocalizationRecords' => 1,
-                                       'showRemovedLocalizationRecords' => 1,
-                               ),
-                               'behaviour' => array(
-                                       'localizationMode' => 'select',
-                               ),
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, branches,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
-
-
-
-$TCA['tx_irretutorial_mnsym_hotel_rel'] = array(
-       'ctrl' => $TCA['tx_irretutorial_mnsym_hotel_rel']['ctrl'],
-       'interface' => array(
-               'showRecordFieldList' => 'sys_language_uid,l18n_parent,l18n_diffsource,hidden,title,hotelid,offerid,hotelsort,offersort'
-       ),
-       'feInterface' => $TCA['tx_irretutorial_mnsym_hotel_rel']['feInterface'],
-       'columns' => array(
-               'sys_language_uid' => array(
-                       'exclude' => 1,
-                       'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.language',
-                       'config' => array(
-                               'type'                => 'select',
-                               'foreign_table'       => 'sys_language',
-                               'foreign_table_where' => 'ORDER BY sys_language.title',
-                               'items' => array(
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.allLanguages', -1),
-                                       array('LLL:EXT:lang/locallang_general.xml:LGL.default_value', 0)
-                               )
-                       )
-               ),
-               'l18n_parent' => array(
-                       'displayCond' => 'FIELD:sys_language_uid:>:0',
-                       'exclude'     => 1,
-                       'label'       => 'LLL:EXT:lang/locallang_general.xml:LGL.l18n_parent',
-                       'config'      => array(
-                               'type'  => 'select',
-                               'items' => array(
-                                       array('', 0),
-                               ),
-                               'foreign_table'       => 'tx_irretutorial_mnsym_hotel_rel',
-                               'foreign_table_where' => 'AND tx_irretutorial_mnsym_hotel_rel.pid=###CURRENT_PID### AND tx_irretutorial_mnsym_hotel_rel.sys_language_uid IN (-1,0)',
-                       )
-               ),
-               'l18n_diffsource' => array(
-                       'config' => array(
-                               'type' => 'passthrough'
-                       )
-               ),
-               'hidden' => array(
-                       'exclude' => 1,
-                       'label' => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
-                       'config' => array(
-                               'type' => 'check',
-                               'default' => '0'
-                       )
-               ),
-               'hotelid' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_rel.hotelid',
-                       'config' => array(
-                               'type' => 'select',
-                               'foreign_table' => 'tx_irretutorial_mnsym_hotel',
-                               'maxitems' => 1,
-                               'localizeReferences' => 1,
-                       )
-               ),
-               'branchid' => array(
-                       'label' => 'LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tx_irretutorial_hotel_rel.branchid',
-                       'config' => array(
-                               'type' => 'select',
-                               'foreign_table' => 'tx_irretutorial_mnsym_hotel',
-                               'maxitems' => 1,
-                               'localizeReferences' => 1,
-                       )
-               ),
-               'hotelsort' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-               'branchsort' => array(
-                       'config' => array(
-                               'type' => 'passthrough',
-                       )
-               ),
-       ),
-       'types' => array(
-               '0' => Array('showitem' =>
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.general, title, hotelid, branchid,' .
-                       '--div--;LLL:EXT:irre_tutorial/Resources/Private/Language/locallang_db.xml:tabs.visibility, sys_language_uid, l18n_parent, l18n_diffsource, hidden;;1, hotelsort, branchsort'
-               )
-       ),
-       'palettes' => array(
-               '1' => Array('showitem' => '')
-       )
-);
index c756ee8..2b9f047 100644 (file)
@@ -1,15 +1,29 @@
 <?php
 defined('TYPO3_MODE') or die();
 
-\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin($_EXTKEY, 'Irre', 'IRRE');
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'IRRE Tutorial');
-
-       // ext_tables.php is split to each single part of application
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.general.php';
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.1nff.php';
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.mnasym.php';
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.mnmmasym.php';
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.mnsym.php';
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.mnattr.php';
-require(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY)) . 'Configuration/ExtTables/ext_tables.1ncsv.php';
+\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin('irre_tutorial', 'Irre', 'IRRE');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('irre_tutorial', 'Configuration/TypoScript', 'IRRE Tutorial');
 
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1nff_hotel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1nff_offer');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1nff_price');
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_hotel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_hotel_offer_rel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_offer');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnasym_price');
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnmmasym_hotel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnmmasym_offer');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnmmasym_price');
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnsym_hotel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnsym_hotel_rel');
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnattr_hotel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnattr_hotel_offer_rel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_mnattr_offer');
+
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1ncsv_hotel');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1ncsv_offer');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_irretutorial_1ncsv_price');
diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Frontend/extTables.php b/typo3/sysext/core/Tests/Functional/Fixtures/Frontend/extTables.php
deleted file mode 100644 (file)
index 0ebef07..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-/**
- * Overriding $TCA
- *
- * The TYPO3 Configuration Array (TCA) is defined by the distributed tables.php and ext_tables.php files.
- * If you want to extend and/or modify its content, you can do so with scripts like this.
- * Or BETTER yet - with extensions like those found in the typo3conf/ext/ or typo3/ext/ folder.
- * Extensions are movable to other TYPO3 installations and provides a much better division between things! Use them!
- *
- * Information on how to set up tables is found in the document "Inside TYPO3" available as a PDF from where you downloaded TYPO3.
- *
- * Usage:
- * Just put this file to the location typo3conf/extTables.php and add this line to your typo3conf/localconf.php:
- * $typo_db_extTableDef_script = 'extTables.php';
- */
-
-// Show copied pages records in frontend request
-$GLOBALS['TCA']['pages']['ctrl']['hideAtCopy'] = FALSE;
-// Show copied tt_content records in frontend request
-$GLOBALS['TCA']['tt_content']['ctrl']['hideAtCopy'] = FALSE;
-// Prepend label for copied sys_category records
-$GLOBALS['TCA']['sys_category']['ctrl']['prependAtCopy'] = 'LLL:EXT:lang/locallang_general.xlf:LGL.prependAtCopy';
-// Prepend label for localized sys_category records
-$GLOBALS['TCA']['sys_category']['columns']['title']['l10n_mode'] = 'prefixLangTitle';
-
index 1e64f04..183eeb4 100644 (file)
                                        </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>247</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>249</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>248</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>249</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>249</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>254</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>254</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>255</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>
                                        </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>252</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>252</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>305</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>305</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>252</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>252</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>
                                        </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>252</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">
-                                     &