commit baa56b6dc31cb6b5be9787fd6dcd2a2b1ddf333d Author: Philipp Dieter Date: Fri Nov 30 22:50:45 2018 +0100 [INIT] diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..42cd73d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/vendor/ \ No newline at end of file diff --git a/Classes/Controller/DummyController.php b/Classes/Controller/DummyController.php new file mode 100644 index 0000000..ec9b11d --- /dev/null +++ b/Classes/Controller/DummyController.php @@ -0,0 +1,30 @@ + + * + ***/ + +/** + * DummyController + */ +class DummyController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController +{ + /** + * action list + * + * @return void + */ + public function listAction() + { + $dummies = $this->dummyRepository->findAll(); + $this->view->assign('dummies', $dummies); + } +} diff --git a/Classes/Domain/Model/Dummy.php b/Classes/Domain/Model/Dummy.php new file mode 100644 index 0000000..478d0ea --- /dev/null +++ b/Classes/Domain/Model/Dummy.php @@ -0,0 +1,20 @@ + + * + ***/ + +/** + * Dummy + */ +class Dummy extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity +{ + } diff --git a/Classes/Hooks/WizardItems.php b/Classes/Hooks/WizardItems.php new file mode 100644 index 0000000..af15494 --- /dev/null +++ b/Classes/Hooks/WizardItems.php @@ -0,0 +1,46 @@ + + * + ***/ + +//use GridElementsTeam\Gridelements\Backend\LayoutSetup; +//use TYPO3\CMS\Backend\Controller\ContentElement\NewContentElementController; +//use TYPO3\CMS\Backend\Utility\BackendUtility; +use TYPO3\CMS\Backend\Wizard\NewContentElementWizardHookInterface; +//use TYPO3\CMS\Core\Imaging\IconProvider\BitmapIconProvider; +//use TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider; +//use TYPO3\CMS\Core\Imaging\IconRegistry; +//use TYPO3\CMS\Core\Utility\GeneralUtility; +//use TYPO3\CMS\Core\Utility\StringUtility; +//use TYPO3\CMS\Lang\LanguageService; + +/** + * Class/Function which manipulates the rendering of items within the new content element wizard + * + * @author Jo Hasenau , Tobias Ferger + * @package TYPO3 + * @subpackage tx_gridelements + */ +class WizardItems implements NewContentElementWizardHookInterface +{ + + /** + * @param array $wizardItems The array containing the current status of the wizard item list before rendering + * @param NewContentElementController $parentObject The parent object that triggered this hook + */ + public function manipulateWizardItems(&$wizardItems, &$parentObject) + { + \TYPO3\CMS\Core\Utility\DebugUtility::debug($parentObject); + } + + +} diff --git a/Configuration/ExtensionBuilder/settings.yaml b/Configuration/ExtensionBuilder/settings.yaml new file mode 100644 index 0000000..a169108 --- /dev/null +++ b/Configuration/ExtensionBuilder/settings.yaml @@ -0,0 +1,101 @@ +# +# Extension Builder settings for extension templates_aide +# generated 2018-11-29T12:57:00Z +# +# See http://www.yaml.org/spec/1.2/spec.html +# + +--- + +########### Overwrite settings ########### +# +# These settings only apply, if the roundtrip feature of the extension builder +# is enabled in the extension manager +# +# Usage: +# nesting reflects the file structure +# a setting applies to a file or recursive to all files and subfolders +# +# merge: +# means for classes: All properties ,methods and method bodies +# of the existing class will be modified according to the new settings +# but not overwritten +# +# for locallang xlf files: Existing keys and labels are always +# preserved (renaming a property or DomainObject will result in new keys and new labels) +# +# for other files: You will find a Split token at the end of the file +# see: \EBT\ExtensionBuilder\Service\RoundTrip::SPLIT_TOKEN +# +# After this token you can write whatever you want and it will be appended +# everytime the code is generated +# +# keep: +# files are never overwritten +# These settings may break the functionality of the extension builder! +# Handle with care! +# +# + +############ extension settings ############## + +overwriteSettings: + Classes: + Controller: merge + Domain: + Model: merge + Repository: merge + + Configuration: + #TCA merge not possible - use overrides directory + TypoScript: merge + + Resources: + Private: + Language: merge + Templates: keep + + user_extension.svg: keep + + ext_localconf.php: merge + + ext_tables.php: merge + + ext_tables.sql: merge + +## use static date attribute in xliff files ## +#staticDateInXliffFiles: 2018-11-29T12:57:00Z + +## skip docComment (license header) ## +#skipDocComment + +## list of error codes for warnings that should be ignored ## +#ignoreWarnings: + #503 + +######### settings for classBuilder ############################# +# +# here you may define default parent classes for your classes +# these settings only apply for new generated classes +# you may also just change the parent class in the generated class file. +# It will be kept on next code generation, if the overwrite settings +# are configured to merge it +# +################################################################# + +classBuilder: + + Controller: + parentClass: \TYPO3\CMS\Extbase\Mvc\Controller\ActionController + + Model: + AbstractEntity: + parentClass: \TYPO3\CMS\Extbase\DomainObject\AbstractEntity + + AbstractValueObject: + parentClass: \TYPO3\CMS\Extbase\DomainObject\AbstractValueObject + + Repository: + parentClass: \TYPO3\CMS\Extbase\Persistence\Repository + + setDefaultValuesForClassProperties: true diff --git a/Configuration/TCA/tx_templatesaide_domain_model_dummy.php b/Configuration/TCA/tx_templatesaide_domain_model_dummy.php new file mode 100644 index 0000000..7e561a8 --- /dev/null +++ b/Configuration/TCA/tx_templatesaide_domain_model_dummy.php @@ -0,0 +1,119 @@ + [ + 'title' => 'LLL:EXT:templates_aide/Resources/Private/Language/locallang_db.xlf:tx_templatesaide_domain_model_dummy', + 'label' => 'uid', + 'tstamp' => 'tstamp', + 'crdate' => 'crdate', + 'cruser_id' => 'cruser_id', + 'versioningWS' => true, + 'languageField' => 'sys_language_uid', + 'transOrigPointerField' => 'l10n_parent', + 'transOrigDiffSourceField' => 'l10n_diffsource', + 'delete' => 'deleted', + 'enablecolumns' => [ + 'disabled' => 'hidden', + 'starttime' => 'starttime', + 'endtime' => 'endtime', + ], + 'searchFields' => '', + 'iconfile' => 'EXT:templates_aide/Resources/Public/Icons/tx_templatesaide_domain_model_dummy.gif' + ], + 'interface' => [ + 'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, ', + ], + 'types' => [ + '1' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, , --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'], + ], + 'columns' => [ + 'sys_language_uid' => [ + 'exclude' => true, + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'special' => 'languages', + 'items' => [ + [ + 'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', + -1, + 'flags-multiple' + ] + ], + 'default' => 0, + ], + ], + 'l10n_parent' => [ + 'displayCond' => 'FIELD:sys_language_uid:>:0', + 'exclude' => true, + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent', + 'config' => [ + 'type' => 'select', + 'renderType' => 'selectSingle', + 'default' => 0, + 'items' => [ + ['', 0], + ], + 'foreign_table' => 'tx_templatesaide_domain_model_dummy', + 'foreign_table_where' => 'AND tx_templatesaide_domain_model_dummy.pid=###CURRENT_PID### AND tx_templatesaide_domain_model_dummy.sys_language_uid IN (-1,0)', + ], + ], + 'l10n_diffsource' => [ + 'config' => [ + 'type' => 'passthrough', + ], + ], + 't3ver_label' => [ + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel', + 'config' => [ + 'type' => 'input', + 'size' => 30, + 'max' => 255, + ], + ], + 'hidden' => [ + 'exclude' => true, + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden', + 'config' => [ + 'type' => 'check', + 'items' => [ + '1' => [ + '0' => 'LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.enabled' + ] + ], + ], + ], + 'starttime' => [ + 'exclude' => true, + 'behaviour' => [ + 'allowLanguageSynchronization' => true + ], + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime', + 'config' => [ + 'type' => 'input', + 'renderType' => 'inputDateTime', + 'size' => 13, + 'eval' => 'datetime', + 'default' => 0, + ], + ], + 'endtime' => [ + 'exclude' => true, + 'behaviour' => [ + 'allowLanguageSynchronization' => true + ], + 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime', + 'config' => [ + 'type' => 'input', + 'renderType' => 'inputDateTime', + 'size' => 13, + 'eval' => 'datetime', + 'default' => 0, + 'range' => [ + 'upper' => mktime(0, 0, 0, 1, 1, 2038) + ], + ], + ], + + ], +]; diff --git a/Documentation.tmpl/Administrator/Index.rst b/Documentation.tmpl/Administrator/Index.rst new file mode 100644 index 0000000..10bc545 --- /dev/null +++ b/Documentation.tmpl/Administrator/Index.rst @@ -0,0 +1,82 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _admin-manual: + +Administrator Manual +==================== + +Target group: **Administrators** + +Describes how to manage the extension from an administrator point of view. +That relates to Page/User TSconfig, permissions, configuration etc., +which administrator level users have access to. + +Language should be non / semi-technical, explaining, using small examples. + + +.. _admin-installation: + +Installation +------------ + +- How should the extension be installed? +- Are they dependencies to resolve? +- Is it a static template file to be included? + +To install the extension, perform the following steps: + +#. Go to the Extension Manager +#. Install the extension +#. Load the static template +#. ... + +For a list of configuration options, using a definition list is recommended: + +Some Configuration + This option enables... + +Other configuration + This other option is for all the rest... + + +.. figure:: ../Images/AdministratorManual/ExtensionManager.png + :alt: Extension Manager + + Extension Manager (caption of the image) + + List of extensions within the Extension Manager also shorten with "EM" (legend of the image) + + +.. _admin-configuration: + +Configuration +------------- + +* Where and how the extension should be configured? TypoScript? PHP? + +* Are there other prerequisite to full fill beforehand? + For example, configure a setting in a special way somewhere. + + +.. _admin-faq: + +FAQ +--- + +Possible subsection: FAQ + +Subsection +^^^^^^^^^^ + +Some subsection + +Sub-subsection +"""""""""""""" + +Deeper into the structure... diff --git a/Documentation.tmpl/ChangeLog/Index.rst b/Documentation.tmpl/ChangeLog/Index.rst new file mode 100644 index 0000000..4972785 --- /dev/null +++ b/Documentation.tmpl/ChangeLog/Index.rst @@ -0,0 +1,16 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _changelog: + +ChangeLog +========= + +Providing a change log chapter is optional. You can also refer +users to the ChangeLog file inside the extension or to some repository's +commit listing. diff --git a/Documentation.tmpl/Configuration/Index.rst b/Documentation.tmpl/Configuration/Index.rst new file mode 100644 index 0000000..0dac787 --- /dev/null +++ b/Documentation.tmpl/Configuration/Index.rst @@ -0,0 +1,106 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _configuration: + +Configuration Reference +======================= + +Technical information: Installation, Reference of TypoScript options, +configuration options on system level, how to extend it, the technical +details, how to debug it and so on. + +Language should be technical, assuming developer knowledge of TYPO3. +Small examples/visuals are always encouraged. + +Target group: **Developers** + + +.. _configuration-typoscript: + +TypoScript Reference +-------------------- + +Possible subsections: Reference of TypoScript options. +The construct below show the recommended structure for +TypoScript properties listing and description. + +Properties should be listed in the order in which they +are executed by your extension, but the first should be +alphabetical for easier access. + +When detailing data types or standard TypoScript +features, don't hesitate to cross-link to the TypoScript +Reference as shown below. See the :file:`Settings.yml` +file for the declaration of cross-linking keys. + + +Properties +^^^^^^^^^^ + +.. container:: ts-properties + + =========================== ===================================== ======================= ==================== + Property Data type :ref:`t3tsref:stdwrap` Default + =========================== ===================================== ======================= ==================== + allWrap_ :ref:`t3tsref:data-type-wrap` yes :code:`
|
` + `subst\_elementUid`_ :ref:`t3tsref:data-type-boolean` no 0 + wrapItemAndSub_ :ref:`t3tsref:data-type-wrap` + =========================== ===================================== ======================= ==================== + + +Property details +^^^^^^^^^^^^^^^^ + +.. only:: html + + .. contents:: + :local: + :depth: 1 + + +.. _ts-plugin-tx-extensionkey-stdwrap: + +allWrap +""""""" + +:typoscript:`plugin.tx_extensionkey.allWrap =` :ref:`t3tsref:data-type-wrap` + +Wraps the whole item. + + +.. _ts-plugin-tx-extensionkey-wrapitemandsub: + +wrapItemAndSub +"""""""""""""" + +:typoscript:`plugin.tx_extensionkey.wrapItemAndSub =` :ref:`t3tsref:data-type-wrap` + +Wraps the whole item and any submenu concatenated to it. + + +.. _ts-plugin-tx-extensionkey-substelementUid: + +subst_elementUid +"""""""""""""""" + +:typoscript:`plugin.tx_extensionkey.subst_elementUid =` :ref:`t3tsref:data-type-boolean` + +If set, all appearances of the string ``{elementUid}`` in the total +element html-code (after wrapped in allWrap_) are substituted with the +uid number of the menu item. This is useful if you want to insert an +identification code in the HTML in order to manipulate properties with +JavaScript. + + +.. _configuration-faq: + +FAQ +--- + +Possible subsection: FAQ diff --git a/Documentation.tmpl/Developer/Index.rst b/Documentation.tmpl/Developer/Index.rst new file mode 100644 index 0000000..57d4447 --- /dev/null +++ b/Documentation.tmpl/Developer/Index.rst @@ -0,0 +1,60 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _developer: + +Developer Corner +================ + +Target group: **Developers** + +Use this section for *providing code examples* or any **useful** information code wise. + + +.. _developer-hooks: + +Hooks +----- + +Possible hook examples. Input parameters are: + ++----------------+---------------+---------------------------------+ +| Parameter | Data type | Description | ++================+===============+=================================+ +| $table | string | Name of the table | ++----------------+---------------+---------------------------------+ +| $field | string | Name of the field | ++----------------+---------------+---------------------------------+ + +Use parameter :code:`$table` to retrieve the table name... + +.. _developer-api: + +API +--- + +How to use the API... + +.. code-block:: php + + $stuff = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance( + '\\Foo\\Bar\\Utility\\Stuff' + ); + $stuff->do(); + +or some other language: + +.. code-block:: javascript + :linenos: + :emphasize-lines: 2-4 + + $(document).ready( + function () { + doStuff(); + } + ); diff --git a/Documentation.tmpl/Images/AdministratorManual/ExtensionManager.png b/Documentation.tmpl/Images/AdministratorManual/ExtensionManager.png new file mode 100644 index 0000000..67ea693 Binary files /dev/null and b/Documentation.tmpl/Images/AdministratorManual/ExtensionManager.png differ diff --git a/Documentation.tmpl/Images/IntroductionPackage.png b/Documentation.tmpl/Images/IntroductionPackage.png new file mode 100644 index 0000000..1de0f00 Binary files /dev/null and b/Documentation.tmpl/Images/IntroductionPackage.png differ diff --git a/Documentation.tmpl/Images/UserManual/BackendView.png b/Documentation.tmpl/Images/UserManual/BackendView.png new file mode 100644 index 0000000..46f90a8 Binary files /dev/null and b/Documentation.tmpl/Images/UserManual/BackendView.png differ diff --git a/Documentation.tmpl/Includes.txt b/Documentation.tmpl/Includes.txt new file mode 100644 index 0000000..a111144 --- /dev/null +++ b/Documentation.tmpl/Includes.txt @@ -0,0 +1,21 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. This is 'Includes.txt'. It is included at the very top of each and + every ReST source file in this documentation project (= manual). + + +.. ================================================== +.. DEFINE SOME TEXT ROLES +.. -------------------------------------------------- + +.. role:: typoscript(code) + +.. role:: ts(typoscript) + :class: typoscript + +.. role:: php(code) + +.. highlight:: php diff --git a/Documentation.tmpl/Index.rst b/Documentation.tmpl/Index.rst new file mode 100644 index 0000000..ef4655f --- /dev/null +++ b/Documentation.tmpl/Index.rst @@ -0,0 +1,63 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: Includes.txt + +.. _start: + +============================================================= +Templates Aide +============================================================= + +.. only:: html + + :Classification: + templates_aide + + :Version: + |release| + + :Language: + en + + :Description: + + :Keywords: + comma,separated,list,of,keywords + + :Copyright: + 2018 + + :Author: + Philipp Dieter + + :Email: + philippdieter@attic-media.net + + :License: + This document is published under the Open Content License + available from http://www.opencontent.org/opl.shtml + + :Rendered: + |today| + + The content of this document is related to TYPO3, + a GNU/GPL CMS/Framework available from `www.typo3.org `_. + + **Table of Contents** + +.. toctree:: + :maxdepth: 3 + :titlesonly: + + Introduction/Index + User/Index + Administrator/Index + Configuration/Index + Developer/Index + KnownProblems/Index + ToDoList/Index + ChangeLog/Index + Links diff --git a/Documentation.tmpl/Introduction/Index.rst b/Documentation.tmpl/Introduction/Index.rst new file mode 100644 index 0000000..9044832 --- /dev/null +++ b/Documentation.tmpl/Introduction/Index.rst @@ -0,0 +1,46 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _introduction: + +Introduction +============ + + +.. _what-it-does: + +What does it do? +---------------- + +This chapter should give a brief overview of the extension. What does it do? What problems does it solve? +Who is interested in this? Basically, this section includes everything people need to know to decide whether they +should go on with this extension or not. + +.. important:: + + Please don't forget to repeat your extension's version number in the + :file:`Settings.yml` file, in the :code:`release` property. It will be + automatically picked up on the cover page by the :code:`|release|` + substitution. + + +.. _screenshots: + +Screenshots +----------- + +This chapter should help people figure how the extension works. Remove it +if not relevant. + +.. figure:: ../Images/IntroductionPackage.png + :width: 500px + :alt: Introduction Package + + Introduction Package just after installation (caption of the image) + + How the Frontend of the Introduction Package looks like just after installation (legend of the image) diff --git a/Documentation.tmpl/KnownProblems/Index.rst b/Documentation.tmpl/KnownProblems/Index.rst new file mode 100644 index 0000000..dcb52d7 --- /dev/null +++ b/Documentation.tmpl/KnownProblems/Index.rst @@ -0,0 +1,17 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _known-problems: + +Known Problems +============== + +Say where bugs can be reported / followed up. Is it a +`bug tracker `_? +Use this section for informing about any type of of problem +that are not necessarily named in the bug tracker such as performance issues, ... diff --git a/Documentation.tmpl/Links.rst b/Documentation.tmpl/Links.rst new file mode 100644 index 0000000..93b13e3 --- /dev/null +++ b/Documentation.tmpl/Links.rst @@ -0,0 +1,24 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: Includes.txt + + +.. _links: + +Links +----- + +:TER: + https://typo3.org/extensions/repository/view/ + +:Bug Tracker: + https://forge.typo3.org/projects/extension-/issues + +:Git Repository: + https://github.com// + +:Contact: + `@ `__ diff --git a/Documentation.tmpl/Localization.de_DE.tmpl/Index.rst b/Documentation.tmpl/Localization.de_DE.tmpl/Index.rst new file mode 100644 index 0000000..50921e0 --- /dev/null +++ b/Documentation.tmpl/Localization.de_DE.tmpl/Index.rst @@ -0,0 +1,65 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _start: + +============================================================= +###PROJECT_NAME### (Deutsch) +============================================================= + +.. only:: html + + :Klassifikation: + extension_key + + :Version: + |release| + + :Sprache: + de + + :Beschreibung: + Geben Sie eine Beschreibung ein. + + :Schlüsselwörter: + komma-getrennte,Liste,von,Schlüsselwörtern + + :Copyright: + ###YEAR### + + :Autor: + ###AUTHOR### + + :E-Mail: + author@example.com + + :Lizenz: + Dieses Dokument wird unter der Open Publication License, siehe + http://www.opencontent.org/openpub/ veröffentlicht. + + :Gerendert: + |today| + + Der Inhalt dieses Dokuments bezieht sich auf TYPO3, + ein GNU/GPL CMS-Framework auf `www.typo3.org `__. + + + **Inhaltsverzeichnis** + +.. toctree:: + :maxdepth: 3 + :titlesonly: + +.. Introduction/Index +.. UserManual/Index +.. AdministratorManual/Index +.. Configuration/Index +.. DeveloperCorner/Index +.. KnownProblems/Index +.. ToDoList/Index +.. ChangeLog/Index diff --git a/Documentation.tmpl/Localization.de_DE.tmpl/README b/Documentation.tmpl/Localization.de_DE.tmpl/README new file mode 100644 index 0000000..c1517e6 --- /dev/null +++ b/Documentation.tmpl/Localization.de_DE.tmpl/README @@ -0,0 +1,24 @@ +How to translate +================ + +This directory contains the German translation of your documentation. +This is a complete Sphinx project but you may reuse assets from the +main documentation under Documentation/. + +If you plan to translate your documentation to German, you should +rename this directory and remove the suffix ".tmpl": + +Localization.de_DE.tmpl -> Localization.de_DE + +As this file is not needed either, feel free to delete it as well. + + +Supported languages +=================== + +Please visit http://sphinx-doc.org/latest/config.html#intl-options for a +list of languages supported by Sphinx. + +Please note however that TYPO3 is using locales so you may need to +extend the language code from Sphinx into a proper locale to be used +by TYPO3. diff --git a/Documentation.tmpl/Localization.de_DE.tmpl/Settings.yml b/Documentation.tmpl/Localization.de_DE.tmpl/Settings.yml new file mode 100644 index 0000000..fefd340 --- /dev/null +++ b/Documentation.tmpl/Localization.de_DE.tmpl/Settings.yml @@ -0,0 +1,29 @@ +# This is the project specific Settings.yml file. +# Place Sphinx specific build information here. +# Settings given here will replace the settings of 'conf.py'. + +# Below is an example of intersphinx mapping declaration +# Add more mappings depending on what manual you want to link to +# Remove entirely if you don't need cross-linking + +--- +conf.py: + copyright: 2012-2015 + project: Extension Name (Deutsch) + version: x.y + release: x.y.z + intersphinx_mapping: + t3tsref: + - https://docs.typo3.org/typo3cms/TyposcriptReference/ + - null + latex_documents: + - - Index + - .tex + - Extension Name (Français) + - Your Name + - manual + latex_elements: + papersize: a4paper + pointsize: 10pt + preamble: \usepackage{typo3} +... diff --git a/Documentation.tmpl/Localization.fr_FR.tmpl/Index.rst b/Documentation.tmpl/Localization.fr_FR.tmpl/Index.rst new file mode 100644 index 0000000..c0071e6 --- /dev/null +++ b/Documentation.tmpl/Localization.fr_FR.tmpl/Index.rst @@ -0,0 +1,65 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _start: + +============================================================= +###PROJECT_NAME### (Français) +============================================================= + +.. only:: html + + :Classification: + extension_key + + :Version: + |release| + + :Langue: + fr + + :Description: + entrez une description. + + :Mots-clés: + list,mots-clés,séparés,par,virgules + + :Copyright: + ###YEAR### + + :Auteur: + ###AUTHOR### + + :E-mail: + author@example.com + + :Licence: + Ce document est publié sous la licence de publication libre + disponible sur http://www.opencontent.org/openpub/ + + :Généré: + |today| + + Le contenu de ce document est en relation avec TYPO3, + un CMS/Framework GNU/GPL disponible sur `www.typo3.org `__. + + + **Sommaire** + +.. toctree:: + :maxdepth: 3 + :titlesonly: + +.. Introduction/Index +.. UserManual/Index +.. AdministratorManual/Index +.. Configuration/Index +.. DeveloperCorner/Index +.. KnownProblems/Index +.. ToDoList/Index +.. ChangeLog/Index diff --git a/Documentation.tmpl/Localization.fr_FR.tmpl/README b/Documentation.tmpl/Localization.fr_FR.tmpl/README new file mode 100644 index 0000000..8436ec0 --- /dev/null +++ b/Documentation.tmpl/Localization.fr_FR.tmpl/README @@ -0,0 +1,24 @@ +How to translate +================ + +This directory contains the French translation of your documentation. +This is a complete Sphinx project but you may reuse assets from the +main documentation under Documentation/. + +If you plan to translate your documentation to French, you should +rename this directory and remove the suffix ".tmpl": + +Localization.fr_FR.tmpl -> Localization.fr_FR + +As this file is not needed either, feel free to delete it as well. + + +Supported languages +=================== + +Please visit http://sphinx-doc.org/latest/config.html#intl-options for a +list of languages supported by Sphinx. + +Please note however that TYPO3 is using locales so you may need to +extend the language code from Sphinx into a proper locale to be used +by TYPO3. diff --git a/Documentation.tmpl/Localization.fr_FR.tmpl/Settings.yml b/Documentation.tmpl/Localization.fr_FR.tmpl/Settings.yml new file mode 100644 index 0000000..0bf2b9d --- /dev/null +++ b/Documentation.tmpl/Localization.fr_FR.tmpl/Settings.yml @@ -0,0 +1,29 @@ +# This is the project specific Settings.yml file. +# Place Sphinx specific build information here. +# Settings given here will replace the settings of 'conf.py'. + +# Below is an example of intersphinx mapping declaration +# Add more mappings depending on what manual you want to link to +# Remove entirely if you don't need cross-linking + +--- +conf.py: + copyright: 2012-2015 + project: Extension Name (Français) + version: x.y + release: x.y.z + intersphinx_mapping: + t3tsref: + - https://docs.typo3.org/typo3cms/TyposcriptReference/ + - null + latex_documents: + - - Index + - .tex + - Extension Name (Français) + - Your Name + - manual + latex_elements: + papersize: a4paper + pointsize: 10pt + preamble: \usepackage{typo3} +... diff --git a/Documentation.tmpl/Settings.yml b/Documentation.tmpl/Settings.yml new file mode 100644 index 0000000..86f18c9 --- /dev/null +++ b/Documentation.tmpl/Settings.yml @@ -0,0 +1,32 @@ +# This is the project specific Settings.yml file. +# Place Sphinx specific build information here. +# Settings given here will replace the settings of 'conf.py'. + +# Below is an example of intersphinx mapping declaration +# Add more mappings depending on what manual you want to link to +# Remove entirely if you don't need cross-linking + +--- +conf.py: + copyright: 2018 + project: Templates Aide + version: 0.0.1 + release: 0.0.1 + intersphinx_mapping: + t3tsref: + - http://docs.typo3.org/typo3cms/TyposcriptReference/ + - null + latex_documents: + - - Index + - templates_aide.tex + - Templates Aide + - Philipp Dieter + - manual + latex_elements: + papersize: a4paper + pointsize: 10pt + preamble: \usepackage + html_theme_options: + github_repository: TYPO3-Documentation/TYPO3CMS-Example-ExtensionManual + github_branch: latest +... diff --git a/Documentation.tmpl/ToDoList/Index.rst b/Documentation.tmpl/ToDoList/Index.rst new file mode 100644 index 0000000..5cc010c --- /dev/null +++ b/Documentation.tmpl/ToDoList/Index.rst @@ -0,0 +1,16 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _todo: + +To-Do list +========== + +Give a link pointing to a `roadmap `_. +Alternatively, you can dress up a list of things you want to add or fix in this chapter +or give a vision about where the extension is heading. diff --git a/Documentation.tmpl/User/Index.rst b/Documentation.tmpl/User/Index.rst new file mode 100644 index 0000000..036869b --- /dev/null +++ b/Documentation.tmpl/User/Index.rst @@ -0,0 +1,67 @@ +.. ================================================== +.. FOR YOUR INFORMATION +.. -------------------------------------------------- +.. -*- coding: utf-8 -*- with BOM. + +.. include:: ../Includes.txt + + +.. _user-manual: + +Users Manual +============ + +Target group: **Editors** + +Here should be described how to use the extension from the editor perspective. + +- How does it work? + + - works well when doing this. + + - does not work so well when doing that + but we can live with it. + + - **mind indentation when nesting lists**. + +- How to install the plugin on a web page? + +- What options are available? + +Language should be non-technical, explaining, using small examples. +Don't use to many acronyms unless they have been explained. +Don't be confusing by putting information targeting administrators. + +.. tip:: + + Take a break from time to time. + +Admonitions should be used to warn the users about potential +pitfalls, attract their attention to important elements +or just add some notes for for information (further reading, +for example). + +.. important:: + + Remember to always say "please" when asking your software to + do something. + +Provide screenshots as needed for making things clear. When creating +screenshots, try using the `Introduction Package `_ +as a neutral TYPO3 CMS instance. + +.. figure:: ../Images/UserManual/BackendView.png + :width: 500px + :alt: Backend view + + Default Backend view (caption of the image) + + The Backend view of TYPO3 after the user has clicked on module "Page". (legend of the image) + + +.. _user-faq: + +FAQ +--- + +Possible subsection: FAQ diff --git a/ExtensionBuilder.json b/ExtensionBuilder.json new file mode 100644 index 0000000..9c34adb --- /dev/null +++ b/ExtensionBuilder.json @@ -0,0 +1,80 @@ +{ + "modules": [ + { + "config": { + "position": [ + 78, + 217 + ] + }, + "name": "New Model Object", + "value": { + "actionGroup": { + "_default0_list": true, + "_default1_show": false, + "_default2_new_create": false, + "_default3_edit_update": false, + "_default4_delete": false, + "customActions": [] + }, + "name": "Dummy", + "objectsettings": { + "addDeletedField": true, + "addHiddenField": true, + "addStarttimeEndtimeFields": true, + "aggregateRoot": false, + "categorizable": false, + "description": "", + "mapToTable": "", + "parentClass": "", + "skipTypeConfiguration": false, + "sorting": false, + "type": "Entity", + "uid": "902454128297" + }, + "propertyGroup": { + "properties": [] + }, + "relationGroup": { + "relations": [] + } + } + } + ], + "properties": { + "backendModules": [], + "description": "", + "emConf": { + "category": "plugin", + "custom_category": "", + "dependsOn": "typo3 => 8.7.0-8.7.99\n", + "disableLocalization": false, + "disableVersioning": false, + "skipGenerateDocumentationTemplate": false, + "sourceLanguage": "en", + "state": "alpha", + "targetVersion": "8.7.0-8.7.99", + "version": "0.0.1" + }, + "extensionKey": "templates_aide", + "name": "Templates Aide", + "originalExtensionKey": "templates_aide", + "originalVendorName": "Cjel", + "persons": [ + { + "company": "", + "email": "philippdieter@attic-media.net", + "name": "Philipp Dieter", + "role": "Developer" + } + ], + "plugins": [], + "vendorName": "Cjel" + }, + "wires": [], + "log": { + "last_modified": "2018-11-29 03:46", + "extension_builder_version": "8.10.2", + "be_user": "Philipp Dieter (1)" + } +} \ No newline at end of file diff --git a/Resources/Private/.htaccess b/Resources/Private/.htaccess new file mode 100644 index 0000000..96d0729 --- /dev/null +++ b/Resources/Private/.htaccess @@ -0,0 +1,11 @@ +# Apache < 2.3 + + Order allow,deny + Deny from all + Satisfy All + + +# Apache >= 2.3 + + Require all denied + diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf new file mode 100644 index 0000000..d95400d --- /dev/null +++ b/Resources/Private/Language/locallang.xlf @@ -0,0 +1,11 @@ + + + +
+ + + Dummy + + + + \ No newline at end of file diff --git a/Resources/Private/Language/locallang_db.xlf b/Resources/Private/Language/locallang_db.xlf new file mode 100644 index 0000000..d95400d --- /dev/null +++ b/Resources/Private/Language/locallang_db.xlf @@ -0,0 +1,11 @@ + + + +
+ + + Dummy + + + + \ No newline at end of file diff --git a/Resources/Public/Css/backend/dev/visual.css b/Resources/Public/Css/backend/dev/visual.css new file mode 100644 index 0000000..4ef5186 --- /dev/null +++ b/Resources/Public/Css/backend/dev/visual.css @@ -0,0 +1,14 @@ +.topbar-header-site { + background: repeating-linear-gradient( + 45deg, + transparent, + transparent 10px, + #008000 10px, + #008000 20px + ), + linear-gradient( + to bottom, + #565656, + #151515 + ) +} diff --git a/Resources/Public/Css/backend/production-stage/visual.css b/Resources/Public/Css/backend/production-stage/visual.css new file mode 100644 index 0000000..542fc7b --- /dev/null +++ b/Resources/Public/Css/backend/production-stage/visual.css @@ -0,0 +1,14 @@ +.topbar-header-site { + background: repeating-linear-gradient( + 45deg, + transparent, + transparent 10px, + #cc9900 10px, + #cc9900 20px + ), + linear-gradient( + to bottom, + #565656, + #151515 + ) +} diff --git a/Resources/Public/Css/editor.css b/Resources/Public/Css/editor.css new file mode 100644 index 0000000..1f115f3 --- /dev/null +++ b/Resources/Public/Css/editor.css @@ -0,0 +1,263 @@ +/**************************************************************************************** +# Css file for content edited with CKEditor +# +# Defaults taken from extension CKSource by Frederico Knabben. All rights reserved. +# ***************************************************************************************/ + +body +{ + /* Font */ + font-family: sans-serif, Arial, Verdana, "Trebuchet MS"; + font-size: 12px; + + /* Text color */ + color: #333; + + /* Remove the background color to make it transparent */ + background-color: #fff; + + margin: 20px; +} + +.cke_editable +{ + font-size: 13px; + line-height: 1.6; + + /* Fix for missing scrollbars with RTL texts. (#10488) */ + word-wrap: break-word; +} + +blockquote +{ + font-style: italic; + font-family: Georgia, Times, "Times New Roman", serif; + padding: 2px 0; + border-style: solid; + border-color: #ccc; + border-width: 0; +} + +.cke_contents_ltr blockquote +{ + padding-left: 20px; + padding-right: 8px; + border-left-width: 5px; +} + +.cke_contents_rtl blockquote +{ + padding-left: 8px; + padding-right: 20px; + border-right-width: 5px; +} + +a +{ + color: #0782C1; +} + +ol,ul,dl +{ + /* IE7: reset rtl list margin. (#7334) */ + *margin-right: 0px; + /* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/ + padding: 0 40px; +} + +h1,h2,h3,h4,h5,h6 +{ + font-weight: normal; + line-height: 1.2; +} + +hr +{ + border: 0px; + border-top: 1px solid #ccc; +} + +img.right +{ + border: 1px solid #ccc; + float: right; + margin-left: 15px; + padding: 5px; +} + +img.left +{ + border: 1px solid #ccc; + float: left; + margin-right: 15px; + padding: 5px; +} + +pre +{ + white-space: pre-wrap; /* CSS 2.1 */ + word-wrap: break-word; /* IE7 */ + -moz-tab-size: 4; + tab-size: 4; +} + +table { + border-collapse: collapse; + background-color: transparent; + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + padding-left: 100px; +} + +table th, +table td { + padding: 0.25rem; + vertical-align: top; +} + +table thead th { + vertical-align: bottom; + border-bottom: 2px solid #eceeef; +} + +.marker +{ + background-color: Yellow; +} + +span[lang] +{ + font-style: italic; +} + +figure +{ + text-align: center; + border: solid 1px #ccc; + border-radius: 2px; + background: rgba(0,0,0,0.05); + padding: 10px; + margin: 10px 20px; + display: inline-block; +} + +figure > figcaption +{ + text-align: center; + display: block; /* For IE8 */ +} + +a > img { + padding: 1px; + margin: 1px; + border: none; + outline: 1px solid #0782C1; +} + +/* Widget Styles */ +.code-featured +{ + border: 5px solid red; +} + +.math-featured +{ + padding: 20px; + box-shadow: 0 0 2px rgba(200, 0, 0, 1); + background-color: rgba(255, 0, 0, 0.05); + margin: 10px; +} + +.image-clean +{ + border: 0; + background: none; + padding: 0; +} + +.image-clean > figcaption +{ + font-size: .9em; + text-align: right; +} + +.image-grayscale +{ + background-color: white; + color: #666; +} + +.image-grayscale img, img.image-grayscale +{ + filter: grayscale(100%); +} + +.embed-240p +{ + max-width: 426px; + max-height: 240px; + margin:0 auto; +} + +.embed-360p +{ + max-width: 640px; + max-height: 360px; + margin:0 auto; +} + +.embed-480p +{ + max-width: 854px; + max-height: 480px; + margin:0 auto; +} + +.embed-720p +{ + max-width: 1280px; + max-height: 720px; + margin:0 auto; +} + +.embed-1080p +{ + max-width: 1920px; + max-height: 1080px; + margin:0 auto; +} + +/** justify **/ +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} +.text-justify { + text-align: justify; +} + +/** custom **/ +.like-h2 { + color: #025093; +} +.like-h4 { + font-size: 16px; +} +.btn { + border: 1px solid black +} +.smallremark { + font-size: 13px; +} +.header-allowed { + color: #8abf6f; +} +.header-notallowed { + color: #b1334a; +} diff --git a/Resources/Public/Icons/relation.gif b/Resources/Public/Icons/relation.gif new file mode 100644 index 0000000..db61d7e Binary files /dev/null and b/Resources/Public/Icons/relation.gif differ diff --git a/Resources/Public/Icons/tx_templatesaide_domain_model_dummy.gif b/Resources/Public/Icons/tx_templatesaide_domain_model_dummy.gif new file mode 100644 index 0000000..37ba37b Binary files /dev/null and b/Resources/Public/Icons/tx_templatesaide_domain_model_dummy.gif differ diff --git a/Resources/Public/JavaScript/NewContentElementWizardPreview.js b/Resources/Public/JavaScript/NewContentElementWizardPreview.js new file mode 100644 index 0000000..f31e002 --- /dev/null +++ b/Resources/Public/JavaScript/NewContentElementWizardPreview.js @@ -0,0 +1,62 @@ +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ +define(["require", "exports", "jquery"], function (require, exports, $) { + "use strict"; + /** + * Module: TYPO3/CMS/Backend/ColorPicker + * contains all logic for the color picker used in FormEngine + * @exports TYPO3/CMS/Backend/ColorPicker + */ + var NewContentElementWizardPreview = (function() { + + //console.log('loaded here =============='); + $('.media-new-content-element-wizard .t3js-icon').hover( + function() { + console.log('mouse in'); + }, function() { + console.log('mouse out'); + } + ) + }()); + return new NewContentElementWizardPreview(); + //var ColorPicker = (function () { + /** + * The constructor, set the class properties default values + */ + // function ColorPicker() { + // this.selector = '.t3js-color-picker'; + // } + /** + * Initialize the color picker for the given selector + */ + // ColorPicker.prototype.initialize = function () { + // $(this.selector).minicolors({ + // format: 'hex', + // position: 'bottom left', + // theme: 'bootstrap', + // }); + // $(document).on('change', '.t3js-colorpicker-value-trigger', function (event) { + // var $element = $(event.target); + // if ($element.val() !== '') { + // $element.closest('.t3js-formengine-field-item') + // .find('.t3js-color-picker') + // .val($element.val()) + // .trigger('paste'); + // $element.val(''); + // } + // }); + // }; + // return ColorPicker; + //}()); + //return new ColorPicker(); +}); diff --git a/Tests/Unit/Controller/DummyControllerTest.php b/Tests/Unit/Controller/DummyControllerTest.php new file mode 100644 index 0000000..ee7d195 --- /dev/null +++ b/Tests/Unit/Controller/DummyControllerTest.php @@ -0,0 +1,53 @@ + + */ +class DummyControllerTest extends \TYPO3\CMS\Core\Tests\UnitTestCase +{ + /** + * @var \Cjel\TemplatesAide\Controller\DummyController + */ + protected $subject = null; + + protected function setUp() + { + parent::setUp(); + $this->subject = $this->getMockBuilder(\Cjel\TemplatesAide\Controller\DummyController::class) + ->setMethods(['redirect', 'forward', 'addFlashMessage']) + ->disableOriginalConstructor() + ->getMock(); + } + + protected function tearDown() + { + parent::tearDown(); + } + + /** + * @test + */ + public function listActionFetchesAllDummiesFromRepositoryAndAssignsThemToView() + { + + $allDummies = $this->getMockBuilder(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class) + ->disableOriginalConstructor() + ->getMock(); + + $dummyRepository = $this->getMockBuilder(\::class) + ->setMethods(['findAll']) + ->disableOriginalConstructor() + ->getMock(); + $dummyRepository->expects(self::once())->method('findAll')->will(self::returnValue($allDummies)); + $this->inject($this->subject, 'dummyRepository', $dummyRepository); + + $view = $this->getMockBuilder(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface::class)->getMock(); + $view->expects(self::once())->method('assign')->with('dummies', $allDummies); + $this->inject($this->subject, 'view', $view); + + $this->subject->listAction(); + } +} diff --git a/Tests/Unit/Domain/Model/DummyTest.php b/Tests/Unit/Domain/Model/DummyTest.php new file mode 100644 index 0000000..fed7e2d --- /dev/null +++ b/Tests/Unit/Domain/Model/DummyTest.php @@ -0,0 +1,34 @@ + + */ +class DummyTest extends \TYPO3\CMS\Core\Tests\UnitTestCase +{ + /** + * @var \Cjel\TemplatesAide\Domain\Model\Dummy + */ + protected $subject = null; + + protected function setUp() + { + parent::setUp(); + $this->subject = new \Cjel\TemplatesAide\Domain\Model\Dummy(); + } + + protected function tearDown() + { + parent::tearDown(); + } + + /** + * @test + */ + public function dummyTestToNotLeaveThisFileEmpty() + { + self::markTestIncomplete(); + } +} diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..330251e --- /dev/null +++ b/composer.json @@ -0,0 +1,28 @@ +{ + "name": "cjel/templates-aide", + "type": "typo3-cms-extension", + "description": "", + "authors": [ + { + "name": "Philipp Dieter", + "role": "Developer" + } + ], + "require": { + "typo3/cms-core": "^8.7.1" + }, + "autoload": { + "psr-4": { + "Cjel\\TemplatesAide\\": "Classes" + } + }, + "autoload-dev": { + "psr-4": { + "Cjel\\TemplatesAide\\Tests\\": "Tests" + } + }, + "replace": { + "templates_aide": "self.version", + "typo3-ter/templates-aide": "self.version" + } +} \ No newline at end of file diff --git a/ext_emconf.php b/ext_emconf.php new file mode 100644 index 0000000..f581f77 --- /dev/null +++ b/ext_emconf.php @@ -0,0 +1,31 @@ + 'Templates Aide', + 'description' => '', + 'category' => 'plugin', + 'author' => 'Philipp Dieter', + 'author_email' => 'philippdieter@attic-media.net', + 'state' => 'alpha', + 'uploadfolder' => 0, + 'createDirs' => '', + 'clearCacheOnLoad' => 0, + 'version' => '0.0.1', + 'constraints' => [ + 'depends' => [ + 'typo3' => '8.7.0-8.7.99', + ], + 'conflicts' => [], + 'suggests' => [], + ], +]; diff --git a/ext_tables.php b/ext_tables.php new file mode 100644 index 0000000..0f6cece --- /dev/null +++ b/ext_tables.php @@ -0,0 +1,40 @@ +isDevelopment()) { + $GLOBALS['TBE_STYLES']['skins']['backend']['stylesheetDirectories']['dev'] = + 'EXT:templates_aide/Resources/Public/Css/backend/dev'; + } + + if(\TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext()->__toString() === 'Production/Stage') { + $GLOBALS['TBE_STYLES']['skins']['backend']['stylesheetDirectories']['dev'] = + 'EXT:templates_aide/Resources/Public/Css/backend/production-stage'; + } + + $pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance( + \TYPO3\CMS\Core\Page\PageRenderer::class + ); + $pageRenderer->loadRequireJsModule('TYPO3/CMS/TemplatesAide/NewContentElementWizardPreview'); + + } +); diff --git a/ext_tables.sql b/ext_tables.sql new file mode 100644 index 0000000..a010d51 --- /dev/null +++ b/ext_tables.sql @@ -0,0 +1,39 @@ +# +# Table structure for table 'tx_templatesaide_domain_model_dummy' +# +CREATE TABLE tx_templatesaide_domain_model_dummy ( + + uid int(11) NOT NULL auto_increment, + pid int(11) 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 smallint(5) unsigned DEFAULT '0' NOT NULL, + hidden smallint(5) 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 smallint(6) 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, + + sys_language_uid int(11) DEFAULT '0' NOT NULL, + l10n_parent int(11) DEFAULT '0' NOT NULL, + l10n_diffsource mediumblob, + l10n_state text, + + PRIMARY KEY (uid), + KEY parent (pid), + KEY t3ver_oid (t3ver_oid,t3ver_wsid), + KEY language (l10n_parent,sys_language_uid) + +); + +## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder \ No newline at end of file