Commit 86683f45 authored by Benni Mack's avatar Benni Mack Committed by Wouter Wolters
Browse files

[TASK] Cleanup ext_localconf.php of sysexts

As TYPO3 is loading all ext_localconf.php on each call,
the existing code can be cleaned up by removing
old information, putting BE-only functionality in
TYPO3_MODE == 'BE' and install-tool only
in Install only mode.

Also, some hardcoded require_once statements are
removed.

Benefits are that FE does not need to load everything
all the time.

I haven't noticed any side-effects so far, but please
test extensively.

Resolves: #55593
Releases: 6.2
Change-Id: Ibc37e84cb2af05ddb6b227290330aad31037a018
Reviewed-on: https://review.typo3.org/27286
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
parent 257dfba5
......@@ -2,189 +2,196 @@
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('
options.saveDocView = 1
options.saveDocNew = 1
options.saveDocNew.pages = 0
options.saveDocNew.sys_file = 0
options.disableDelete.sys_file = 1
TCAdefaults.tt_content.imagecols = 2
');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
mod.wizards.newContentElement {
renderMode = tabs
wizardItems {
common.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common
common.elements {
header {
icon = gfx/c_wiz/regular_header.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_headerOnly_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_headerOnly_description
tt_content_defValues {
CType = header
if (TYPO3_MODE === 'BE') {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('
options.saveDocView = 1
options.saveDocNew = 1
options.saveDocNew.pages = 0
options.saveDocNew.sys_file = 0
options.disableDelete.sys_file = 1
TCAdefaults.tt_content.imagecols = 2
');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
mod.wizards.newContentElement {
renderMode = tabs
wizardItems {
common.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common
common.elements {
header {
icon = gfx/c_wiz/regular_header.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_headerOnly_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_headerOnly_description
tt_content_defValues {
CType = header
}
}
}
text {
icon = gfx/c_wiz/regular_text.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_regularText_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_regularText_description
tt_content_defValues {
CType = text
text {
icon = gfx/c_wiz/regular_text.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_regularText_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_regularText_description
tt_content_defValues {
CType = text
}
}
}
textpic {
icon = gfx/c_wiz/text_image_right.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_textImage_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_textImage_description
tt_content_defValues {
CType = textpic
imageorient = 17
textpic {
icon = gfx/c_wiz/text_image_right.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_textImage_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_textImage_description
tt_content_defValues {
CType = textpic
imageorient = 17
}
}
}
image {
icon = gfx/c_wiz/images_only.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_imagesOnly_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_imagesOnly_description
tt_content_defValues {
CType = image
image {
icon = gfx/c_wiz/images_only.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_imagesOnly_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_imagesOnly_description
tt_content_defValues {
CType = image
}
}
}
bullets {
icon = gfx/c_wiz/bullet_list.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_bulletList_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_bulletList_description
tt_content_defValues {
CType = bullets
bullets {
icon = gfx/c_wiz/bullet_list.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_bulletList_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_bulletList_description
tt_content_defValues {
CType = bullets
}
}
}
table {
icon = gfx/c_wiz/table.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_table_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_table_description
tt_content_defValues {
CType = table
table {
icon = gfx/c_wiz/table.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_table_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:common_table_description
tt_content_defValues {
CType = table
}
}
}
}
common.show = header,text,textpic,image,bullets,table
}
common.show = header,text,textpic,image,bullets,table
special.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special
special.elements {
uploads {
icon = gfx/c_wiz/filelinks.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_filelinks_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_filelinks_description
tt_content_defValues {
CType = uploads
special.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special
special.elements {
uploads {
icon = gfx/c_wiz/filelinks.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_filelinks_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_filelinks_description
tt_content_defValues {
CType = uploads
}
}
}
multimedia {
icon = gfx/c_wiz/multimedia.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_multimedia_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_multimedia_description
tt_content_defValues {
CType = multimedia
multimedia {
icon = gfx/c_wiz/multimedia.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_multimedia_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_multimedia_description
tt_content_defValues {
CType = multimedia
}
}
}
media {
icon = gfx/c_wiz/multimedia.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_media_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_media_description
tt_content_defValues {
CType = media
media {
icon = gfx/c_wiz/multimedia.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_media_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_media_description
tt_content_defValues {
CType = media
}
}
}
menu {
icon = gfx/c_wiz/sitemap2.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_menus_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_menus_description
tt_content_defValues {
CType = menu
menu_type = 0
menu {
icon = gfx/c_wiz/sitemap2.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_menus_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_menus_description
tt_content_defValues {
CType = menu
menu_type = 0
}
}
}
html {
icon = gfx/c_wiz/html.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_plainHTML_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_plainHTML_description
tt_content_defValues {
CType = html
html {
icon = gfx/c_wiz/html.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_plainHTML_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_plainHTML_description
tt_content_defValues {
CType = html
}
}
}
div {
icon = gfx/c_wiz/div.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_divider_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_divider_description
tt_content_defValues {
CType = div
div {
icon = gfx/c_wiz/div.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_divider_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_divider_description
tt_content_defValues {
CType = div
}
}
}
shortcut {
icon = gfx/c_wiz/shortcut.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_shortcut_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_shortcut_description
tt_content_defValues {
CType = shortcut
shortcut {
icon = gfx/c_wiz/shortcut.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_shortcut_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:special_shortcut_description
tt_content_defValues {
CType = shortcut
}
}
}
}
special.show = uploads,media,menu,html,div,shortcut
}
special.show = uploads,media,menu,html,div,shortcut
forms.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms
forms.elements {
mailform {
icon = gfx/c_wiz/mailform.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_mail_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_mail_description
tt_content_defValues {
CType = mailform
bodytext (
# Example content:
Name: | *name = input,40 | Enter your name here
Email: | *email=input,40 |
Address: | address=textarea,40,5 |
Contact me: | tv=check | 1
forms.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms
forms.elements {
mailform {
icon = gfx/c_wiz/mailform.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_mail_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_mail_description
tt_content_defValues {
CType = mailform
bodytext (
# Example content:
Name: | *name = input,40 | Enter your name here
Email: | *email=input,40 |
Address: | address=textarea,40,5 |
Contact me: | tv=check | 1
|formtype_mail = submit | Send form!
|html_enabled=hidden | 1
|subject=hidden| This is the subject
)
|formtype_mail = submit | Send form!
|html_enabled=hidden | 1
|subject=hidden| This is the subject
)
}
}
}
search {
icon = gfx/c_wiz/searchform.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_search_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_search_description
tt_content_defValues {
CType = search
search {
icon = gfx/c_wiz/searchform.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_search_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_search_description
tt_content_defValues {
CType = search
}
}
}
}
forms.show = mailform,search
forms.show = mailform,search
plugins.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:plugins
plugins.elements {
general {
icon = gfx/c_wiz/user_defined.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:plugins_general_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:plugins_general_description
tt_content_defValues.CType = list
plugins.header = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:plugins
plugins.elements {
general {
icon = gfx/c_wiz/user_defined.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:plugins_general_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:plugins_general_description
tt_content_defValues.CType = list
}
}
plugins.show = *
}
plugins.show = *
}
');
}
');
$TYPO3_CONF_VARS['SYS']['contentTable'] = 'tt_content';
$TYPO3_CONF_VARS['FE']['eID_include']['tx_cms_showpic'] = 'EXT:cms/tslib/showpic.php';
$TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['compat_version']['cms'] = array(
'title' => 'CMS Frontend',
'version' => 4000000,
'description' => '<ul>' . '<li><p>The extension simluatestatic has been removed in TYPO3 6.0</p></li>' . '<li><p>CSS Stylesheets and JavaScript are put into an external file by default.</p>' . '<p>Technically, that means that the default value of "config.inlineStyle2TempFile" is now set to "1" and that of "config.removeDefaultJS" to "external"</p></li>' . '</ul>'
);
if ((TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
$TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['compat_version']['cms'] = array(
'title' => 'CMS Frontend',
'version' => 4000000,
'description' => '<ul>' . '<li><p>The extension simluatestatic has been removed in TYPO3 6.0</p></li>' . '<li><p>CSS Stylesheets and JavaScript are put into an external file by default.</p>' . '<p>Technically, that means that the default value of "config.inlineStyle2TempFile" is now set to "1" and that of "config.removeDefaultJS" to "external"</p></li>' . '</ul>'
);
}
// Registering hooks for the treelist cache
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'TYPO3\\CMS\\Frontend\\Hooks\\TreelistCacheUpdateHooks';
......
......@@ -4,39 +4,15 @@ if (!defined('TYPO3_MODE')) {
}
// unserializing the configuration so we can use it here:
$_EXTCONF = unserialize($_EXTCONF);
if ($_EXTCONF['setPageTSconfig'] || !$_EXTCONF) {
if (!$_EXTCONF || $_EXTCONF['setPageTSconfig']) {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:css_styled_content/pageTSconfig.txt">');
}
if ($_EXTCONF['removePositionTypes'] || !$_EXTCONF) {
if (!$_EXTCONF || $_EXTCONF['removePositionTypes']) {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
TCEFORM.tt_content.imageorient.types.image.removeItems = 8,9,10,17,18,25,26
');
}
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['compat_version']['tx_cssstyledcontent_accessibility'] = array(
'title' => 'CSS Styled Content: Accessibility improvements',
'version' => 3009000,
'description' => '<p>The rendering of the following elements will change:
<ul><li><strong>tt_content.menu</strong> (used f.e. for sitemaps): Instead of div-tags, lists are used now.</li>
<li><strong>tt_content.mailform</strong>: Mailforms do not use tables anymore, instead, they use the div-tag. Besides that, mailforms are accessible now.</li>
<li><strong>The p-tag</strong> has been removed from all table cells.</li>
<li><strong>CSS based "image" and "text with image"</strong><br />As the extension cron_cssstyledimgtext has been merged into the core, rendering of the content elements "image" and "text with image" has been changed to be CSS instead of table based. Read the <a href="http://wiki.typo3.org/index.php/TYPO3_4.0" target="_blank">4.0 release notes</a> for further information.</li></ul>',
'description_acknowledge' => 'You will have to update your stylesheets to comply with these changes.'
);
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['compat_version']['tx_cssstyledcontent_pagetargets'] = array(
'title' => 'CSS Styled Content: Default targets for non-frame pages',
'version' => 4002000,
'description' => '<p>The default page target is empty (so no target is generated). If you use frames, you have to set target to "page" in Constants.</p>'
);
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['compat_version']['tx_cssstyledcontent_menuhtmlspecialchars'] = array(
'title' => 'CSS Styled Content: htmlspecialchars in menu content elements',
'version' => 4003000,
'description' => '<p>Page titles will get htmlspecialchar\'ed when rendered in "Sitemap/menu" content elements, to avoid generating invalid XHTML.</p>'
);
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['compat_version']['tx_cssstyledcontent_clearerdivsafterintexttextpicelements'] = array(
'title' => 'CSS Styled Content: clear divs, changed row space, corrected margins',
'version' => 4004000,
'description' => '<ul><li>Clear divs will be generated by default for in-text right or left positioned textpic elements.</li><li>The default row space changes to 10px, to be in line with col space and text margin.</li><li>Rendering bugs with wrong margins were fixed (Default CSS changed).</li></ul>'
);
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['compat_version']['tx_cssstyledcontent_headertag'] = array(
'title' => 'CSS Styled Content: &lt;header&gt; tag only when needed',
'version' => 6002000,
......
......@@ -3,9 +3,6 @@ if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('extbase') . 'Classes/Mvc/Dispatcher.php';
require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('extbase') . 'Classes/Utility/ExtensionUtility.php';
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_typo3dbbackend_tablecolumns'])) {
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['extbase_typo3dbbackend_tablecolumns'] = array(
'groups' => array('system')
......@@ -26,15 +23,18 @@ if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations
// the code below is NO PUBLIC API! It's just to make sure that
// Extbase works correctly in the backend if the page tree is empty or no
// template is defined.
/** @var $extbaseObjectContainer \TYPO3\CMS\Extbase\Object\Container\Container */
$extbaseObjectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\Container\\Container');
// Singleton
$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\QueryInterface', 'TYPO3\CMS\Extbase\Persistence\Generic\Query');
$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\QueryResultInterface', 'TYPO3\CMS\Extbase\Persistence\Generic\QueryResult');
$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface', 'TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
$extbaseObjectContainer->registerImplementation('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Storage\\BackendInterface', 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Storage\\Typo3DbBackend');
$extbaseObjectContainer->registerImplementation('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\QuerySettingsInterface', 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
unset($extbaseObjectContainer);
if (TYPO3_MODE === 'BE') {
/** @var $extbaseObjectContainer \TYPO3\CMS\Extbase\Object\Container\Container */
$extbaseObjectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\Container\\Container');
// Singleton
$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\QueryInterface', 'TYPO3\CMS\Extbase\Persistence\Generic\Query');
$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\QueryResultInterface', 'TYPO3\CMS\Extbase\Persistence\Generic\QueryResult');
$extbaseObjectContainer->registerImplementation('TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface', 'TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
$extbaseObjectContainer->registerImplementation('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Storage\\BackendInterface', 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Storage\\Typo3DbBackend');
$extbaseObjectContainer->registerImplementation('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\QuerySettingsInterface', 'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
unset($extbaseObjectContainer);
}
// Register type converters
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter('TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\ArrayConverter');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter('TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\BooleanConverter');
......@@ -52,7 +52,7 @@ unset($extbaseObjectContainer);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter('TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\FolderBasedFileCollectionConverter');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter('TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\StaticFileCollectionConverter');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerTypeConverter('TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\FolderConverter');
// $GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:extbase/Classes/Persistence/Hook/TCEMainValueObjectUpdater.php:tx_Extbase_Persistence_Hook_TCEMainValueObjectUpdater';
if (TYPO3_MODE === 'BE') {
// registers Extbase at the cli_dispatcher with key "extbase".
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['cliKeys']['extbase'] = array(
......
<?php
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
// Register the edit panel view.
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/classes/class.frontendedit.php']['edit'] = 'EXT:feedit/Classes/FrontendEditPanel.php:TYPO3\\CMS\\Feedit\\FrontendEditPanel';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/classes/class.frontendedit.php']['edit'] = 'TYPO3\\CMS\\Feedit\\FrontendEditPanel';
......@@ -22,21 +22,24 @@ tt_content.login {
}
';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '# Setting ' . $_EXTKEY . ' plugin TypoScript' . $addLine . '', 43);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
mod.wizards.newContentElement.wizardItems.forms {
elements {
login {
icon = gfx/c_wiz/login_form.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_login_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_login_description
tt_content_defValues {
CType = login
if (TYPO3_MODE === 'BE') {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
mod.wizards.newContentElement.wizardItems.forms {
elements {
login {
icon = gfx/c_wiz/login_form.gif
title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_login_title
description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_login_description
tt_content_defValues {
CType = login
}
}
}
show :=addToList(login)
}
show :=addToList(login)
');
}
');
// Page module hook
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem'][$_EXTKEY] =
......
......@@ -2,4 +2,6 @@
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
$GLOBALS['TYPO3_CONF_VARS']['BE']['AJAX']['RecyclerAjaxController::init'] = 'TYPO3\\CMS\\Recycler\\Controller\\RecyclerAjaxController->init';
if (TYPO3_MODE === 'BE') {
$GLOBALS['TYPO3_CONF_VARS']['BE']['AJAX']['RecyclerAjaxController::init'] = 'TYPO3\\CMS\\Recycler\\Controller\\RecyclerAjaxController->init';
}
......@@ -1466,8 +1466,10 @@ class RteHtmlAreaBase extends \TYPO3\CMS\Backend\Rte\AbstractRte {
// Hook on lorem_ipsum extension to insert text into the RTE in wysiwyg mode
/**
* @todo Define visibility
* @deprecated since 6.2 - will be removed two versions later without replacement
*/
public function loremIpsumInsert($params) {
GeneralUtility::logDeprecatedFunction();
return '
if (typeof(lorem_ipsum) == \'function\' && ' . $params['element'] . '.tagName.toLowerCase() == \'textarea\' ) lorem_ipsum(' . $params['element'] . ', lipsum_temp_strings[lipsum_temp_pointer]);
';
......
<?php
/***************************************************************
* Copyright notice
*
* (c) 2005-2012 Stanislas Rolland <typo3(arobas)sjbr.ca>
* 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.
* A copy is found in the text file GPL.txt and important notices to the license
* from the author is found in LICENSE.txt distributed with these scripts.
*
*
* 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!
***************************************************************/
/**
* Configuration of the htmlArea RTE extension
*
* @author Stanislas Rolland <typo3(arobas)sjbr.ca>
*/
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
......@@ -70,11 +41,6 @@ require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKE
// Add frontend hook to add meta tag when rtehtmlarea is present and user agent is IE 11+
require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/Hook/Frontend/Controller/ext_localconf.php';
// Configure Lorem Ipsum hook to insert nonsense in wysiwyg mode
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('lorem_ipsum') && TYPO3_MODE == 'BE') {
$TYPO3_CONF_VARS['EXTCONF']['lorem_ipsum']['RTE_insert'][] = 'TYPO3\\CMS\\Rtehtmlarea\\RteHtmlAreaBase->loremIpsumInsert';
}
// Set warning in the Update Wizard of the Install Tool for deprecated Page TS Config properties
$TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['update']['checkForDeprecatedRtePageTSConfigProperties'] = '&TYPO3\\CMS\\Rtehtmlarea\\Hook\\Install\\DeprecatedRteProperties';
......@@ -107,31 +73,10 @@ if ($_EXTCONF['enableInlineElements']) {
}
// Block Elements configuration
// Set compatibility warnings in the Update Wizard of the Install Tool for indentation and alignment
$TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['compat_version']['tx_rtehtmlarea_indent'] = array(
'title' => 'htmlArea RTE: Using CSS classes for indentation and alignment',
'version' => 4002000,
'description' => '<ul>
<li><strong>Indentation is produced by a CSS class instead of the blockquote element.</strong><br />You will need to specify in Page TSConfig the class to be used for indentation using property buttons.indent.useClass (default is "indent"). You will need to define this class in your stylesheets and ensure that it is allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using the blockquote element by setting property buttons.indent.useBlockquote. You may also want to add the new blockquote button to the RTE toolbar.</li>
<li><strong>Text alignment is produced by CSS classes instead of deprecated align attribute.</strong><br />You will need to specify in Page TSConfig the class to be used for each text alignment button using property buttons.[<i>left, center, right or justifyfull</i>].useClass (defaults are "align-left", "align-center", "align-right", "align-justify"). You will need to define these classes in your stylesheets, and ensure that they are allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using deprecated align attribute by setting property buttons.[<i>left, center, right or justifyfull</i>].useAlignAttribute.</li>
</ul>'
);
// Add compatibility Page TSConfig for indentation and alignment
if (!\TYPO3\CMS\Core\Utility\GeneralUtility::compat_version('4.2.0')) {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/res/indentalign/pageTSConfig.txt">');
}
$TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['BlockElements'] = array();
$TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['BlockElements']['objectReference'] = '&TYPO3\\CMS\\Rtehtmlarea\\Extension\\BlockElements';
$TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['BlockElements']['addIconsToSkin'] = 0;
// Set compatibility warning in the Update Wizard of the Install Tool for definition lists
if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('rtehtmlarea_definitionlist')) {
$TYPO3_CONF_VARS['SC_OPTIONS']['ext/install']['compat_version']['TYPO3\\CMS\\Rtehtmlarea\\Extension\\DefinitionList'] = array(
'title' => 'htmlArea RTE: Integration of Definition List feature',
'version' => 4003000,
'description' => 'Support for definition lists has been integrated into htmlArea RTE.<br />You should uninstall extension "Definition Lists for htmlArea RTE" (key: rtehtmlarea_definitionlist)'
);
}
$TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['DefinitionList'] = array();
$TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['DefinitionList']['objectReference'] = '&TYPO3\\CMS\\Rtehtmlarea\\Extension\\DefinitionList';
......
# ***************************************************************************************
# Compatibility configuration for indentation and alignment
#
# @author Stanislas Rolland <typo3(arobas)sjbr.ca>
# ***************************************************************************************
## Default RTE configuration
RTE.default.buttons.indent.useBlockquote = 1
RTE.default.buttons.left.useAlignAttribute = 1
RTE.default.buttons.center.useAlignAttribute = 1
RTE.default.buttons.right.useAlignAttribute = 1
RTE.default.buttons.justifyfull.useAlignAttribute = 1
......@@ -13,145 +13,146 @@ if (TYPO3_MODE === 'BE') {
'_MOD_user_setup',
'EXT:setup/locallang_csh_mod.xlf'
);