diff --git a/Classes/Domain/Model/TeaBeverage.php b/Classes/Domain/Model/TeaBeverage.php index b964da1..e64bb05 100644 --- a/Classes/Domain/Model/TeaBeverage.php +++ b/Classes/Domain/Model/TeaBeverage.php @@ -32,15 +32,17 @@ namespace OliverKlee\Tea\Domain\Model; */ class TeaBeverage extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { /** - * size - * * @var \float */ protected $size = 0.0; /** - * Returns the size - * + * @var \OliverKlee\Tea\Domain\Model\TeaType + * @lazy + */ + protected $type = NULL; + + /** * @return \float $size */ public function getSize() { @@ -48,13 +50,28 @@ class TeaBeverage extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { } /** - * Sets the size - * * @param \float $size + * * @return void */ public function setSize($size) { $this->size = $size; } + + /** + * @return \OliverKlee\Tea\Domain\Model\TeaType $type + */ + public function getType() { + return $this->type; + } + + /** + * @param \OliverKlee\Tea\Domain\Model\TeaType $type + * + * @return void + */ + public function setType(\OliverKlee\Tea\Domain\Model\TeaType $type) { + $this->type = $type; + } } ?> \ No newline at end of file diff --git a/Classes/Domain/Model/TeaType.php b/Classes/Domain/Model/TeaType.php new file mode 100644 index 0000000..b4d1cd8 --- /dev/null +++ b/Classes/Domain/Model/TeaType.php @@ -0,0 +1,84 @@ +, oliverklee.de + * + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +/** + * This model represents a tea type like "Earl Grey", "Gunpowder" or "Chamomile". + * + * @author Oliver Klee + */ +class TeaType extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { + /** + * @var \string + * @validate NotEmpty + */ + protected $title = ''; + + /** + * @var boolean + */ + protected $caffeinated = FALSE; + + /** + * @return \string $title + */ + public function getTitle() { + return $this->title; + } + + /** + * @param \string $title + * + * @return void + */ + public function setTitle($title) { + $this->title = $title; + } + + /** + * @return boolean $caffeinated + */ + public function getCaffeinated() { + return $this->caffeinated; + } + + /** + * @param boolean $caffeinated + * + * @return void + */ + public function setCaffeinated($caffeinated) { + $this->caffeinated = $caffeinated; + } + + /** + * @return boolean + */ + public function isCaffeinated() { + return $this->getCaffeinated(); + } +} +?> \ No newline at end of file diff --git a/Configuration/TCA/TeaBeverage.php b/Configuration/TCA/TeaBeverage.php index a5a21c1..4c10d5e 100644 --- a/Configuration/TCA/TeaBeverage.php +++ b/Configuration/TCA/TeaBeverage.php @@ -6,16 +6,15 @@ if (!defined ('TYPO3_MODE')) { $TCA['tx_tea_domain_model_teabeverage'] = array( 'ctrl' => $TCA['tx_tea_domain_model_teabeverage']['ctrl'], 'interface' => array( - 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, size', + 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, size, type', ), 'types' => array( - '1' => array('showitem' => 'sys_language_uid;;;;1-1-1, l10n_parent, l10n_diffsource, hidden;;1, size,--div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime, endtime'), + '1' => array('showitem' => 'sys_language_uid;;;;1-1-1, l10n_parent, l10n_diffsource, hidden;;1, size, type,--div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime, endtime'), ), 'palettes' => array( '1' => array('showitem' => ''), ), 'columns' => array( - 'sys_language_uid' => array( 'exclude' => 1, 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language', @@ -47,7 +46,6 @@ $TCA['tx_tea_domain_model_teabeverage'] = array( 'type' => 'passthrough', ), ), - 't3ver_label' => array( 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel', 'config' => array( @@ -56,7 +54,6 @@ $TCA['tx_tea_domain_model_teabeverage'] = array( 'max' => 255, ) ), - 'hidden' => array( 'exclude' => 1, 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden', @@ -105,6 +102,16 @@ $TCA['tx_tea_domain_model_teabeverage'] = array( 'eval' => 'double2', ), ), + 'type' => array( + 'exclude' => 0, + 'label' => 'LLL:EXT:tea/Resources/Private/Language/locallang_db.xlf:tx_tea_domain_model_teabeverage.type', + 'config' => array( + 'type' => 'select', + 'foreign_table' => 'tx_tea_domain_model_teatype', + 'minitems' => 0, + 'maxitems' => 1, + ), + ), ), ); ?> \ No newline at end of file diff --git a/Configuration/TCA/TeaType.php b/Configuration/TCA/TeaType.php new file mode 100644 index 0000000..5c060e7 --- /dev/null +++ b/Configuration/TCA/TeaType.php @@ -0,0 +1,115 @@ + $TCA['tx_tea_domain_model_teatype']['ctrl'], + 'interface' => array( + 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, title, caffeinated', + ), + 'types' => array( + '1' => array('showitem' => 'sys_language_uid;;;;1-1-1, l10n_parent, l10n_diffsource, hidden;;1, title, caffeinated,--div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime, endtime'), + ), + 'palettes' => array( + '1' => array('showitem' => ''), + ), + 'columns' => array( + 'sys_language_uid' => array( + 'exclude' => 1, + 'label' => 'LLL:EXT:lang/locallang_general.xlf: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.xlf:LGL.allLanguages', -1), + array('LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0), + ), + ), + ), + 'l10n_parent' => array( + 'displayCond' => 'FIELD:sys_language_uid:>:0', + 'exclude' => 1, + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent', + 'config' => array( + 'type' => 'select', + 'items' => array( + array('', 0), + ), + 'foreign_table' => 'tx_tea_domain_model_teatype', + 'foreign_table_where' => 'AND tx_tea_domain_model_teatype.pid=###CURRENT_PID### AND tx_tea_domain_model_teatype.sys_language_uid IN (-1,0)', + ), + ), + 'l10n_diffsource' => array( + 'config' => array( + 'type' => 'passthrough', + ), + ), + 't3ver_label' => array( + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel', + 'config' => array( + 'type' => 'input', + 'size' => 30, + 'max' => 255, + ) + ), + 'hidden' => array( + 'exclude' => 1, + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden', + 'config' => array( + 'type' => 'check', + ), + ), + 'starttime' => array( + 'exclude' => 1, + 'l10n_mode' => 'mergeIfNotBlank', + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime', + 'config' => array( + 'type' => 'input', + 'size' => 13, + 'max' => 20, + 'eval' => 'datetime', + 'checkbox' => 0, + 'default' => 0, + 'range' => array( + 'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y')), + ), + ), + ), + 'endtime' => array( + 'exclude' => 1, + 'l10n_mode' => 'mergeIfNotBlank', + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime', + 'config' => array( + 'type' => 'input', + 'size' => 13, + 'max' => 20, + 'eval' => 'datetime', + 'checkbox' => 0, + 'default' => 0, + 'range' => array( + 'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y')), + ), + ), + ), + 'title' => array( + 'exclude' => 0, + 'label' => 'LLL:EXT:tea/Resources/Private/Language/locallang_db.xlf:tx_tea_domain_model_teatype.title', + 'config' => array( + 'type' => 'input', + 'size' => 30, + 'eval' => 'trim,required', + ), + ), + 'caffeinated' => array( + 'exclude' => 0, + 'label' => 'LLL:EXT:tea/Resources/Private/Language/locallang_db.xlf:tx_tea_domain_model_teatype.caffeinated', + 'config' => array( + 'type' => 'check', + 'default' => 0, + ), + ), + ), +); +?> \ No newline at end of file diff --git a/ExtensionBuilder.json b/ExtensionBuilder.json index 0c52ce8..e6ab284 100644 --- a/ExtensionBuilder.json +++ b/ExtensionBuilder.json @@ -1 +1 @@ -{"modules":[{"config":{"position":[40,138]},"name":"New Model Object","value":{"actionGroup":{"_default0_list":false,"_default1_show":false,"_default2_new_create":false,"_default3_edit_update":false,"_default4_delete":false,"customActions":[]},"name":"TeaBeverage","objectsettings":{"aggregateRoot":true,"description":"Tea beverage","mapToTable":"","parentClass":"","sorting":false,"type":"Entity","uid":"264022070620"},"propertyGroup":{"properties":[{"propertyDescription":"size","propertyIsExcludeField":false,"propertyIsRequired":false,"propertyName":"size","propertyType":"Float","uid":"686745089204"}]},"relationGroup":{"relations":[]}}}],"properties":{"backendModules":[],"description":"This extension serves as an example on how to unit-test different data types and relation types in TYPO3 extensions.","emConf":{"category":"plugin","custom_category":"","dependsOn":"extbase => 6.0\nfluid => 6.0\ntypo3 => 6.0\n","disableLocalization":false,"disableVersioning":false,"priority":"","shy":false,"state":"alpha","targetVersion":"6.0","version":""},"extensionKey":"tea","name":"Tea example","originalExtensionKey":"","persons":[{"company":"oliverklee.de","email":"typo3-coding@oliverklee.de","name":"Oliver Klee","role":"Developer"}],"plugins":[],"vendorName":"OliverKlee"},"wires":[],"log":{"last_modified":"2013-11-01 07:54","extension_builder_version":"2.5.2","be_user":"Oliver Klee (1)"}} \ No newline at end of file +{"modules":[{"config":{"position":[40,138]},"name":"New Model Object","value":{"actionGroup":{"_default0_list":false,"_default1_show":false,"_default2_new_create":false,"_default3_edit_update":false,"_default4_delete":false,"customActions":[]},"name":"TeaBeverage","objectsettings":{"aggregateRoot":true,"description":"Tea beverage","mapToTable":"","parentClass":"","sorting":false,"type":"Entity","uid":"264022070620"},"propertyGroup":{"properties":[{"propertyDescription":"size","propertyIsExcludeField":false,"propertyIsRequired":false,"propertyName":"size","propertyType":"Float","uid":"686745089204"}]},"relationGroup":{"relations":[{"foreignRelationClass":"","lazyLoading":true,"propertyIsExcludeField":false,"relationDescription":"type","relationName":"type","relationType":"manyToOne","relationWire":"[wired]","uid":"381688624164"}]}}},{"config":{"position":[756,159]},"name":"New Model Object","value":{"actionGroup":{"_default0_list":false,"_default1_show":false,"_default2_new_create":false,"_default3_edit_update":false,"_default4_delete":false,"customActions":[]},"name":"TeaType","objectsettings":{"aggregateRoot":false,"description":"Tea type","mapToTable":"","parentClass":"","sorting":false,"type":"Entity","uid":"1351448414985"},"propertyGroup":{"properties":[{"propertyDescription":"title","propertyIsExcludeField":false,"propertyIsRequired":true,"propertyName":"title","propertyType":"String","uid":"514346914201"},{"propertyDescription":"caffeinated","propertyIsExcludeField":false,"propertyIsRequired":false,"propertyName":"caffeinated","propertyType":"Boolean","uid":"314036724989"}]},"relationGroup":{"relations":[]}}}],"properties":{"backendModules":[],"description":"This extension serves as an example on how to unit-test different data types and relation types in TYPO3 extensions.","emConf":{"category":"plugin","custom_category":"","dependsOn":"extbase => 6.0\nfluid => 6.0\ntypo3 => 6.0\n","disableLocalization":false,"disableVersioning":false,"priority":"","shy":false,"state":"alpha","targetVersion":"6.0","version":""},"extensionKey":"tea","name":"Tea example","originalExtensionKey":"tea","persons":[{"company":"oliverklee.de","email":"typo3-coding@oliverklee.de","name":"Oliver Klee","role":"Developer"}],"plugins":[],"vendorName":"OliverKlee"},"wires":[{"src":{"moduleId":0,"terminal":"relationWire_0","uid":"381688624164"},"tgt":{"moduleId":1,"terminal":"SOURCES","uid":"1351448414985"}}],"log":{"last_modified":"2013-11-01 08:34","extension_builder_version":"2.5.2","be_user":"Oliver Klee (1)"}} \ No newline at end of file diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index 41765a3..8cb0b3b 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -1,6 +1,6 @@ - +
@@ -9,6 +9,18 @@ size + + type + + + Tea type + + + title + + + caffeinated + \ No newline at end of file diff --git a/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teabeverage.xlf b/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teabeverage.xlf index 2f397e0..d127239 100644 --- a/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teabeverage.xlf +++ b/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teabeverage.xlf @@ -1,11 +1,14 @@ - +
size + + type + \ No newline at end of file diff --git a/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teatype.xlf b/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teatype.xlf new file mode 100644 index 0000000..0244f6c --- /dev/null +++ b/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teatype.xlf @@ -0,0 +1,14 @@ + + + +
+ + + title + + + caffeinated + + + + \ No newline at end of file diff --git a/Resources/Private/Language/locallang_db.xlf b/Resources/Private/Language/locallang_db.xlf index 95df551..e1cbf80 100644 --- a/Resources/Private/Language/locallang_db.xlf +++ b/Resources/Private/Language/locallang_db.xlf @@ -1,6 +1,6 @@ - +
@@ -9,6 +9,18 @@ Size + + Type + + + Tea Type + + + Title + + + Caffeinated + \ No newline at end of file diff --git a/Resources/Public/Icons/tx_tea_domain_model_teatype.gif b/Resources/Public/Icons/tx_tea_domain_model_teatype.gif new file mode 100644 index 0000000..37ba37b Binary files /dev/null and b/Resources/Public/Icons/tx_tea_domain_model_teatype.gif differ diff --git a/Tests/Unit/Domain/Model/TeaBeverageTest.php b/Tests/Unit/Domain/Model/TeaBeverageTest.php index 2f3d355..5b44662 100644 --- a/Tests/Unit/Domain/Model/TeaBeverageTest.php +++ b/Tests/Unit/Domain/Model/TeaBeverageTest.php @@ -66,5 +66,27 @@ class TeaBeverageTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase { $this->fixture->getSize() ); } + + /** + * @test + */ + public function getTypeInitiallyReturnsNull() { + $this->assertNull( + $this->fixture->getType() + ); + } + + /** + * @test + */ + public function setTypeSetsType() { + $type = new \OliverKlee\Tea\Domain\Model\TeaType(); + $this->fixture->setType($type); + + $this->assertSame( + $type, + $this->fixture->getType() + ); + } } ?> \ No newline at end of file diff --git a/Tests/Unit/Domain/Model/TeaTypeTest.php b/Tests/Unit/Domain/Model/TeaTypeTest.php new file mode 100644 index 0000000..bd1fa5d --- /dev/null +++ b/Tests/Unit/Domain/Model/TeaTypeTest.php @@ -0,0 +1,91 @@ +, oliverklee.de + * + * All rights reserved + * + * This script is part of the TYPO3 project. The TYPO3 project is + * free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * The GNU General Public License can be found at + * http://www.gnu.org/copyleft/gpl.html. + * + * This script is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * This copyright notice MUST APPEAR in all copies of the script! + ***************************************************************/ + +/** + * Test case. + * + * @author Oliver Klee + */ +class TeaTypeTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase { + /** + * @var \OliverKlee\Tea\Domain\Model\TeaType + */ + protected $fixture; + + public function setUp() { + $this->fixture = new \OliverKlee\Tea\Domain\Model\TeaType(); + } + + public function tearDown() { + unset($this->fixture); + } + + /** + * @test + */ + public function getTitleInitiallyReturnsEmptyString() { + $this->assertSame( + '', + $this->fixture->getTitle() + ); + } + + /** + * @test + */ + public function setTitleSetsTitle() { + $this->fixture->setTitle('foo bar'); + + $this->assertSame( + 'foo bar', + $this->fixture->getTitle() + ); + } + + /** + * @test + */ + public function getCaffeinatedInitiallyReturnsFalse() { + $this->assertSame( + FALSE, + $this->fixture->getCaffeinated() + ); + } + + /** + * @test + */ + public function setCaffeinatedSetsCaffeinated() { + $this->fixture->setCaffeinated(TRUE); + $this->assertSame( + TRUE, + $this->fixture->getCaffeinated() + ); + } +} +?> \ No newline at end of file diff --git a/ext_emconf.php b/ext_emconf.php index cc94359..1ee7528 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -30,9 +30,9 @@ $EM_CONF[$_EXTKEY] = array( 'version' => '', 'constraints' => array( 'depends' => array( - 'fluid' => '6.0-6.2.99', - 'fluid' => '6.0-6.2.99', - 'fluid' => '6.0-6.2.99', + 'extbase' => '6.0', + 'fluid' => '6.0', + 'typo3' => '6.0', ), 'conflicts' => array( ), diff --git a/ext_tables.php b/ext_tables.php index 60636cc..2437bc3 100644 --- a/ext_tables.php +++ b/ext_tables.php @@ -30,10 +30,41 @@ $TCA['tx_tea_domain_model_teabeverage'] = array( 'starttime' => 'starttime', 'endtime' => 'endtime', ), - 'searchFields' => 'size,', + 'searchFields' => 'size,type,', 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/TCA/TeaBeverage.php', 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/tx_tea_domain_model_teabeverage.gif' ), ); +\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_tea_domain_model_teatype', 'EXT:tea/Resources/Private/Language/locallang_csh_tx_tea_domain_model_teatype.xlf'); +\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_tea_domain_model_teatype'); +$TCA['tx_tea_domain_model_teatype'] = array( + 'ctrl' => array( + 'title' => 'LLL:EXT:tea/Resources/Private/Language/locallang_db.xlf:tx_tea_domain_model_teatype', + 'label' => 'title', + 'tstamp' => 'tstamp', + 'crdate' => 'crdate', + 'cruser_id' => 'cruser_id', + 'dividers2tabs' => TRUE, + + 'versioningWS' => 2, + 'versioning_followPages' => TRUE, + + 'origUid' => 't3_origuid', + 'languageField' => 'sys_language_uid', + 'transOrigPointerField' => 'l10n_parent', + 'transOrigDiffSourceField' => 'l10n_diffsource', + + 'delete' => 'deleted', + 'enablecolumns' => array( + 'disabled' => 'hidden', + 'starttime' => 'starttime', + 'endtime' => 'endtime', + ), + 'searchFields' => 'title,caffeinated,', + 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/TCA/TeaType.php', + 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/tx_tea_domain_model_teatype.gif' + ), +); + ?> \ No newline at end of file diff --git a/ext_tables.sql b/ext_tables.sql index 5befa6a..b556047 100644 --- a/ext_tables.sql +++ b/ext_tables.sql @@ -2,11 +2,11 @@ # Table structure for table 'tx_tea_domain_model_teabeverage' # CREATE TABLE tx_tea_domain_model_teabeverage ( - uid int(11) NOT NULL auto_increment, pid int(11) DEFAULT '0' NOT NULL, size double(11,2) DEFAULT '0.00' NOT NULL, + type int(11) unsigned DEFAULT '0', tstamp int(11) unsigned DEFAULT '0' NOT NULL, crdate int(11) unsigned DEFAULT '0' NOT NULL, @@ -34,6 +34,44 @@ CREATE TABLE tx_tea_domain_model_teabeverage ( PRIMARY KEY (uid), KEY parent (pid), KEY t3ver_oid (t3ver_oid,t3ver_wsid), - KEY language (l10n_parent,sys_language_uid) + KEY language (l10n_parent,sys_language_uid) +); +# +# Table structure for table 'tx_tea_domain_model_teatype' +# +CREATE TABLE tx_tea_domain_model_teatype ( + uid int(11) NOT NULL auto_increment, + pid int(11) DEFAULT '0' NOT NULL, + + title varchar(255) DEFAULT '' NOT NULL, + caffeinated tinyint(1) unsigned DEFAULT '0' NOT NULL, + + tstamp int(11) unsigned DEFAULT '0' NOT NULL, + crdate int(11) unsigned DEFAULT '0' NOT NULL, + cruser_id int(11) unsigned DEFAULT '0' NOT NULL, + deleted tinyint(4) unsigned DEFAULT '0' NOT NULL, + hidden tinyint(4) unsigned DEFAULT '0' NOT NULL, + starttime int(11) unsigned DEFAULT '0' NOT NULL, + endtime int(11) unsigned DEFAULT '0' NOT NULL, + + t3ver_oid int(11) DEFAULT '0' NOT NULL, + t3ver_id int(11) DEFAULT '0' NOT NULL, + t3ver_wsid int(11) DEFAULT '0' NOT NULL, + t3ver_label varchar(255) DEFAULT '' NOT NULL, + t3ver_state tinyint(4) DEFAULT '0' NOT NULL, + t3ver_stage int(11) DEFAULT '0' NOT NULL, + t3ver_count int(11) DEFAULT '0' NOT NULL, + t3ver_tstamp int(11) DEFAULT '0' NOT NULL, + t3ver_move_id int(11) DEFAULT '0' NOT NULL, + + t3_origuid int(11) DEFAULT '0' NOT NULL, + sys_language_uid int(11) DEFAULT '0' NOT NULL, + l10n_parent int(11) DEFAULT '0' NOT NULL, + l10n_diffsource mediumblob, + + PRIMARY KEY (uid), + KEY parent (pid), + KEY t3ver_oid (t3ver_oid,t3ver_wsid), + KEY language (l10n_parent,sys_language_uid) ); \ No newline at end of file