--- /dev/null
+<?php
+namespace TYPO3\CMS\Compatibility6\Controller;
+
+/**
+ * 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!
+ */
+
+/**
+ * The Wizard function in the Web>Info module
+ * Creates a framework for adding wizard sub-sub-modules under the Wizard function in Web>Info
+ *
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
+ */
+class WebFunctionWizardsBaseController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
+
+ /**
+ * @var string
+ */
+ public $function_key = 'wiz';
+
+ /**
+ * Initialize.
+ * Calls parent init function and then the handleExternalFunctionValue() function from the parent class
+ *
+ * @param object $pObj A reference to the parent (calling) object (which is probably an instance of an extension class to \TYPO3\CMS\Backend\Module\BaseScriptClass)
+ * @param array $conf The configuration set for this module - from global array TBE_MODULES_EXT
+ * @return void
+ */
+ public function init(&$pObj, $conf) {
+ // OK, handles ordinary init. This includes setting up the menu array with ->modMenu
+ parent::init($pObj, $conf);
+ // Making sure that any further external classes are added to the include_once array.
+ // Notice that inclusion happens twice in the main script because of this!!!
+ $this->handleExternalFunctionValue();
+ }
+
+ /**
+ * Modifies parent objects internal MOD_MENU array, adding items this module needs.
+ *
+ * @return array Items merged with the parent objects.
+ */
+ public function modMenu() {
+ $GLOBALS['LANG']->includeLLFile('EXT:func_wizards/locallang.xlf');
+ $modMenuAdd = array(
+ $this->function_key => array()
+ );
+ $modMenuAdd[$this->function_key] = $this->pObj->mergeExternalItems($this->pObj->MCONF['name'], $this->function_key, $modMenuAdd[$this->function_key]);
+ $modMenuAdd[$this->function_key] = \TYPO3\CMS\Backend\Utility\BackendUtility::unsetMenuItems(
+ $this->pObj->modTSconfig['properties'],
+ $modMenuAdd[$this->function_key],
+ 'menu.' . $this->function_key
+ );
+ return $modMenuAdd;
+ }
+
+ /**
+ * Creation of the main content. Calling extObjContent() to trigger content generation from the sub-sub modules
+ *
+ * @return string The content
+ */
+ public function main() {
+ $menu = \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu(
+ $this->pObj->id,
+ 'SET[wiz]',
+ $this->pObj->MOD_SETTINGS['wiz'],
+ $this->pObj->MOD_MENU['wiz']
+ );
+
+ $content = '';
+ if (!empty($menu)) {
+ $menu = $GLOBALS['LANG']->getLL('wiz_lWizards', TRUE) . ': ' . $menu;
+ $content = $this->pObj->doc->section('', '<span class="nobr">' . $menu . '</span>');
+ $content .= $this->pObj->doc->spacer(20);
+ }
+
+ $content .= $this->extObjContent();
+ return $content;
+ }
+
+}
'tslib_AdminPanel' => \TYPO3\CMS\Frontend\View\AdminPanelView::class,
'tslib_adminPanelHook' => \TYPO3\CMS\Frontend\View\AdminPanelViewHookInterface::class,
'SC_mod_web_func_index' => \TYPO3\CMS\Func\Controller\PageFunctionsController::class,
- 'tx_funcwizards_webfunc' => \TYPO3\CMS\FuncWizards\Controller\WebFunctionWizardsBaseController::class,
+ 'tx_funcwizards_webfunc' => \TYPO3\CMS\Compatibility6\Controller\WebFunctionWizardsBaseController::class,
+ 'TYPO3\\CMS\\FuncWizards\\Controller\\WebFunctionWizardsBaseController' => \TYPO3\CMS\Compatibility6\Controller\WebFunctionWizardsBaseController::class,
'tx_impexp_clickmenu' => \TYPO3\CMS\Impexp\Clickmenu::class,
'SC_mod_tools_log_index' => \TYPO3\CMS\Impexp\Controller\ImportExportController::class,
'tx_impexp' => \TYPO3\CMS\Impexp\ImportExport::class,
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
+ <file t3:id="1415814826" source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:33Z" product-name="compatibility6">
+ <header/>
+ <body>
+ <trans-unit id="wiz_lWizards" xml:space="preserve">
+ <source>Select Wizard</source>
+ </trans-unit>
+ <trans-unit id="mod_wizards" xml:space="preserve">
+ <source>Wizards</source>
+ </trans-unit>
+ </body>
+ </file>
+</xliff>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
+ <file t3:id="1415814827" source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:33Z" product-name="compatibility6">
+ <header/>
+ <body>
+ <trans-unit id="tx_funcwizards.alttitle" xml:space="preserve">
+ <source>Page Wizards</source>
+ </trans-unit>
+ <trans-unit id="tx_funcwizards.description" xml:space="preserve">
+ <source>This submodule provides a framework where wizards can be added. Available wizards currently include a wizard for creating pages and sorting pages by title etc.</source>
+ </trans-unit>
+ <trans-unit id="_tx_funcwizards.seeAlso" xml:space="preserve">
+ <source>_MOD_web_func:tx_wizardcrpages,
+_MOD_web_func:tx_wizardsortpages</source>
+ <note from="developer">This string contains an internal text, which must not be changed. Just copy the original text into the translation field. For more information have a look at the Tutorial.</note>
+ </trans-unit>
+ </body>
+ </file>
+</xliff>
--- /dev/null
+<?php
+defined('TYPO3_MODE') or die();
+
+if (TYPO3_MODE === 'BE') {
+ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
+ 'web_func',
+ \TYPO3\CMS\Compatibility6\Controller\WebFunctionWizardsBaseController::class,
+ NULL,
+ 'LLL:EXT:compatibility6/Resources/Private/Language/wizards.xlf:mod_wizards'
+ );
+ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('_MOD_web_func', 'EXT:compatibility6/Resources/Private/Language/wizards_csh.xlf');
+}
--- /dev/null
+====================================================================
+Breaking: #63687 - Web=>Functions=>Wizards moved to legacy extension
+====================================================================
+
+Description
+===========
+
+Within the "Web" => "Functions" module there is a nested layer called "Wizards" where "Sort pages" and
+"Bulk-create new pages" resided until TYPO3 CMS 7.1. These are now moved directly underneath "Web" => "Functions",
+so the "Wizards" module function becomes obsolete, and with it the whole extension called "func_wizards" that provided
+this nested layer. The module function "Wizards" has been moved to the legacy extension "compatibility6". The
+extension "func_wizards" has been completely removed from the core.
+
+Impact
+======
+
+The existing "Functions" provided by the TYPO3 CMS Core are now directly dependant and hooked into "Web" => "Functions".
+Any extensions using "Web" => "Functions" => "Wizards" will not show up anymore.
+
+
+Affected installations
+======================
+
+TYPO3 CMS 7 installations need compatibility6 extension loaded if old extensions are still hook into
+"Web" => "Functions" => "Wizards".
+
+Migration
+=========
+
+Any extension hooking into "Web" => "Functions" => "Wizards" need to be adapted. In their ext_tables.php the
+"insertModuleFunciton" call does not need to have a 5th parameter given. The compatibility6 extension is then not
+needed anymore.
+++ /dev/null
-<?php
-namespace TYPO3\CMS\FuncWizards\Controller;
-
-/**
- * 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!
- */
-
-/**
- * The Wizard function in the Web>Info module
- * Creates a framework for adding wizard sub-sub-modules under the Wizard function in Web>Info
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-class WebFunctionWizardsBaseController extends \TYPO3\CMS\Backend\Module\AbstractFunctionModule {
-
- /**
- * @var string
- */
- public $function_key = 'wiz';
-
- /**
- * Initialize.
- * Calls parent init function and then the handleExternalFunctionValue() function from the parent class
- *
- * @param object $pObj A reference to the parent (calling) object (which is probably an instance of an extension class to \TYPO3\CMS\Backend\Module\BaseScriptClass)
- * @param array $conf The configuration set for this module - from global array TBE_MODULES_EXT
- * @return void
- */
- public function init(&$pObj, $conf) {
- // OK, handles ordinary init. This includes setting up the menu array with ->modMenu
- parent::init($pObj, $conf);
- // Making sure that any further external classes are added to the include_once array.
- // Notice that inclusion happens twice in the main script because of this!!!
- $this->handleExternalFunctionValue();
- }
-
- /**
- * Modifies parent objects internal MOD_MENU array, adding items this module needs.
- *
- * @return array Items merged with the parent objects.
- */
- public function modMenu() {
- $GLOBALS['LANG']->includeLLFile('EXT:func_wizards/locallang.xlf');
- $modMenuAdd = array(
- $this->function_key => array()
- );
- $modMenuAdd[$this->function_key] = $this->pObj->mergeExternalItems($this->pObj->MCONF['name'], $this->function_key, $modMenuAdd[$this->function_key]);
- $modMenuAdd[$this->function_key] = \TYPO3\CMS\Backend\Utility\BackendUtility::unsetMenuItems(
- $this->pObj->modTSconfig['properties'],
- $modMenuAdd[$this->function_key],
- 'menu.' . $this->function_key
- );
- return $modMenuAdd;
- }
-
- /**
- * Creation of the main content. Calling extObjContent() to trigger content generation from the sub-sub modules
- *
- * @return string The content
- */
- public function main() {
- $menu = \TYPO3\CMS\Backend\Utility\BackendUtility::getFuncMenu(
- $this->pObj->id,
- 'SET[wiz]',
- $this->pObj->MOD_SETTINGS['wiz'],
- $this->pObj->MOD_MENU['wiz']
- );
-
- $content = '';
- if (!empty($menu)) {
- $menu = $GLOBALS['LANG']->getLL('wiz_lWizards', TRUE) . ': ' . $menu;
- $content = $this->pObj->doc->section('', '<span class="nobr">' . $menu . '</span>');
- $content .= $this->pObj->doc->spacer(20);
- }
-
- $content .= $this->extObjContent();
- return $content;
- }
-
-}
+++ /dev/null
-{
- "name": "typo3/cms-func-wizards",
- "type": "typo3-cms-framework",
- "description": "TYPO3 Core",
- "homepage": "http://typo3.org",
- "license": ["GPL-2.0+"],
- "version": "7.1.0",
-
- "require": {
- "typo3/cms-core": "*"
- },
- "replace": {
- "func_wizards": "*"
- },
- "extra": {
- "typo3/cms": {
- "Package": {
- "partOfFactoryDefault": true
- }
- }
- }
-}
+++ /dev/null
-<?php
-$EM_CONF[$_EXTKEY] = array(
- 'title' => 'Web>Func, Wizards',
- 'description' => 'Adds the \'Wizards\' item to the function menu in Web>Func. This is just a framework for wizard extensions.',
- 'category' => 'module',
- 'state' => 'stable',
- 'uploadfolder' => 0,
- 'createDirs' => '',
- 'clearCacheOnLoad' => 0,
- 'author' => 'Kasper Skaarhoj',
- 'author_email' => 'kasperYYYY@typo3.com',
- 'author_company' => 'Curby Soft Multimedia',
- 'version' => '7.1.0',
- '_md5_values_when_last_written' => '',
- 'constraints' => array(
- 'depends' => array(
- 'typo3' => '7.1.0-7.1.99',
- 'func' => '7.1.0-7.1.99',
- ),
- 'conflicts' => array(),
- 'suggests' => array(),
- ),
-);
+++ /dev/null
-<?php
-defined('TYPO3_MODE') or die();
-
-if (TYPO3_MODE === 'BE') {
- \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
- 'web_func',
- \TYPO3\CMS\FuncWizards\Controller\WebFunctionWizardsBaseController::class,
- NULL,
- 'LLL:EXT:func_wizards/locallang.xlf:mod_wizards'
- );
- \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('_MOD_web_func', 'EXT:func_wizards/locallang_csh.xlf');
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
- <file t3:id="1415814826" source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:33Z" product-name="func_wizards">
- <header/>
- <body>
- <trans-unit id="wiz_lWizards" xml:space="preserve">
- <source>Select Wizard</source>
- </trans-unit>
- <trans-unit id="mod_wizards" xml:space="preserve">
- <source>Wizards</source>
- </trans-unit>
- </body>
- </file>
-</xliff>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
- <file t3:id="1415814827" source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:33Z" product-name="func_wizards">
- <header/>
- <body>
- <trans-unit id="tx_funcwizards.alttitle" xml:space="preserve">
- <source>Page Wizards</source>
- </trans-unit>
- <trans-unit id="tx_funcwizards.description" xml:space="preserve">
- <source>This submodule provides a framework where wizards can be added. Available wizards currently include a wizard for creating pages and sorting pages by title etc.</source>
- </trans-unit>
- <trans-unit id="_tx_funcwizards.seeAlso" xml:space="preserve">
- <source>_MOD_web_func:tx_wizardcrpages,
-_MOD_web_func:tx_wizardsortpages</source>
- <note from="developer">This string contains an internal text, which must not be changed. Just copy the original text into the translation field. For more information have a look at the Tutorial.</note>
- </trans-unit>
- </body>
- </file>
-</xliff>