Do not use any inline style or javascript anymore.
Instead js logic is moved to js file.
Information are passed via data attributes.
Some options are not respected anymore. That's why this change is
breaking. Those options can be considered as obsolete anyway for current
state of the art.
Those options are:
TSConfig:
* options.feedit.popupWidth
* options.feedit.popupHeight
TypoScript:
* stdWrap.editIcons.styleAttribute
Resolves: #5
Depending on frontend rendering, there is already an anchor in form of
"c<uid>" for each content element. This is added as anchor to the
returnUrls to keep context.
The browser will jump back to the content element that was modified.
This way editors keep their focus.
Resolves: #3
This drops TCA type=group with internal_type=file and
internal_type=file_reference handling.
This patch is rather huge since detail handling of this
stuff is spread throughout the core. Additionally, some
further methods become unused and oboselete along the way.
Most of them - except DataHandler->process_uploads() - have
been used internally only and can be safetly dropped,
while process_uploads() which has always been part of the
externally called API is substituted with a no-op method.
Resolves: #87428
Releases: master
Change-Id: Ia60b5d0e021b34adf4b4187a5f1fe4475b0070b4
Reviewed-on: https://review.typo3.org/59361
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: TYPO3com <noreply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
The following previously deprecated classes/interfaces have been removed:
* TYPO3\CMS\Adminpanel\View\AdminPanelView
* TYPO3\CMS\Adminpanel\View\AdminPanelViewHookInterface
* TYPO3\CMS\Core\FrontendEditing\FrontendEditingController
The following methods have been removed:
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->initializeAdminPanel()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->initializeFrontendEdit()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->isFrontendEditingActive()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->displayAdminPanel()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->isAdminPanelVisible()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->checkBackendAccessSettingsFromInitPhp()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->extPageReadAccess()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->extGetTreeList()
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->extGetLL()
The following public properties have been removed
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->extAdmEnabled
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->adminPanel
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->frontendEdit
* TYPO3\CMS\Backend\FrontendBackendUserAuthentication->extAdminConfig
The following PageTSconfig option has no effect anymore:
* TSFE.frontendEditingController
Resolves: #87231
Releases: master
Change-Id: I88cc3ac18077f054cc8895f5ccfb65291e94defa
Reviewed-on: https://review.typo3.org/59205
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
All specific controllers for specific Backend actions, Backend-module related modules,
all hook implementations (where the core uses hooks by itself), and module-specific
ViewHelpers are now marked as @internal to ensure developers what is
part of the public TYPO3 Core API.
within
- EXT:felogin
- EXT:feedit
- EXT:filelist
- EXT:frontend
- EXT:fluid_styled_content
- EXT:impexp
All leftover @api methods have been removed.
Resolves: #86508
Releases: master
Change-Id: I97a6964a5f77dc9ee3d90365e9fda3d7d7be6266
Reviewed-on: https://review.typo3.org/58527
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
The class is not in use anymore, only feedit instantiates the class for legacy reasons.
Also FrontendBackendUserAuthentication->frontendEdit which holds an instance of
that, is deprecated.
Resolves: #86110
Releases: master
Change-Id: I3ff2ae529dd920d2abf9908f2ae94ae4c2bf9c15
Reviewed-on: https://review.typo3.org/58067
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Andreas Wolf <andreas.wolf@typo3.org>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
A series of unused and dead code places are fixed with the patch:
* Switch + return + break -> the break is obsolete
* A couple of 'too many arguments' when calling methods
* Various assignments of variables that are never used
Change-Id: I8472597f73a739bce053cf6de772c111ae7044d7
Resolves: #85993
Releases: master
Reviewed-on: https://review.typo3.org/58047
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
The legacy naming for the shorthand method "extGetLL" was moved
to "getLabel" for both the edit toolbar and the EXT:feedit panel.
Resolves: #85905
Releases: master
Change-Id: I4fdad2127d40cc2850237311f3bc3f56c85ca394
Reviewed-on: https://review.typo3.org/57964
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
FrontendEditingController calls up DataHandler if the right
get/post parameters are added. This code is specific for
EXT:feedit and extracted into EXT:feedit, as FrontendEditingController
is mixing concerns (rendering panels and persisting).
Resolves: #85877
Releases: master
Change-Id: Ib39fe8b7ddcf68fb9e93d8a08564ae7f550e95f3
Reviewed-on: https://review.typo3.org/57932
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
The FrontendEditingController class in EXT:core does two things:
- persisting incoming GET/POST requests (actually only when EXT:feedit is installed)
- rendering editIcons and editIconPanel
In order to separate these concerns, the first patch extracts some minor functionality into
EXT:feedit, and cleans up code which should have been done long ago.
The next iteration will be to deprecate unused methods and properties, and to move
FrontendEditingController into EXT:feedit, however, using an Interface to
render editIcons and editPanels instead.
Resolves: #85869
Releases: master
Change-Id: I78ed1da9e619099dc56b970961c90c34f8dff1e4
Reviewed-on: https://review.typo3.org/57925
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
The patch deprecates BackendUserAuthentication->getTSConfigVal()
and ->getTSConfigProp() and adapts usages to rely on getTSConfig()
without arguments. The array nesting is done directly within
consuming code and is combined with ?? to a fallback value.
Advantages:
* Expensive and recursive string operations within
getTSConfig() are not used anymore.
* The weird 'value' / 'property' based sub array
juggling is gone.
* Full TSconfig path including fallback can be easily
seen within consuming code
* Notice free array access using null coalescence operator
Change-Id: I6d5777ebd533dcfdc6018e0226bfb3e513cfa652
Resolves: #84993
Related: #84982
Releases: master
Reviewed-on: https://review.typo3.org/56953
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
The admin panel has been extracted into an own extension. To enable
users to de-activate the admin panel completely, the hard coupling
between the extension and other parts of the core had to be resolved.
With this change, the initialization of both adminPanel and feedit
were moved into PSR-15 middlewares. Additionally all parameters
related to the adminPanel were removed from the FrontendBackend-
UserAuthentication.
As feedit is tigthly coupled with the adminPanel some changes had
to be made to its initialization, too.
The flow of the adminPanel initialization and rendering were
streamlined to allow modules to make use of the request object.
Due to these changes in the control flow of the application the
two existing tests were removed and new tests will be rewritten
once the API is declared as stable.
Releases: master
Resolves: #84641
Change-Id: I72beefde0d792d3f4295c45aa27204c817d2de7a
Reviewed-on: https://review.typo3.org/56558
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Extract all admin panel code to an own extension to
reduce cross-dependencies and allow clearer scoping.
See Epic / Initiative for background.
Related: #84044Resolves: #84159
Releases: master
Change-Id: I0f6e2643746c94f0e10b87146ca7e86cbf8bc112
Reviewed-on: https://review.typo3.org/56030
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Schreiber <mathias.schreiber@typo3.com>
Tested-by: Mathias Schreiber <mathias.schreiber@typo3.com>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Clicking the close button in a editing popup accesses Close.html in
Resources/Public/Html/ which is a folder accessible by a web user
instead of Resources/Private/Templates/ which lead to a HTTP 403 error
on closing the popup.
Releases: master, 8.7, 7.6
Resolves: #83258
Related: #68108
Change-Id: Ibe7e328936240df436a3c9585e53122f1577dc6e
Reviewed-on: https://review.typo3.org/54983
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
The new PSR-7-based solution since TYPO3 v7 should be used everywhere
instead of "BackendUtility::getModuleUrl()". This is possible because
modules can be addressed via the "route" GET parameter instead of the
"M" parameter since a few months.
The patch changes all occurrences within TYPO3 Core to use the new API.
Resolves: #83172
Releases: master
Change-Id: Iec40e8ae00f1d900d7479b84a3a62827ddba653b
Reviewed-on: https://review.typo3.org/54755
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Remove TYPO3.LLL after moving to new JS API for translations TYPO3.lang
Resolves: #83161
Releases: master
Change-Id: I815b15349c8bfe6ca71f4d1ce59b7b01e670eae2
Reviewed-on: https://review.typo3.org/54860
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
The following functionality within this API class is marked as deprecated:
- siteRelPath()
- getExtensionKeyByPrefix()
- removeCacheFiles()
- second parameter of isLoaded()
Additionally, the following more strict rules apply now:
- addNavigationComponent() always requires an $extensionKey
- First parameter of addLLrefForTCAdescr() must not be empty
- addService() requires $serviceType and $info to be non-empty
- addPlugin() always requires an $extensionKey
- addStaticFile() throws exceptions if no extension key or path is set
- addTypoScript() expects $type to be either "setup" or "constants"
This is meant for extension developers using the current API more properly
than before.
Resolves: #82899
Releases: master
Change-Id: Ie5beddd4787da25f05f76ff37c6ec55a92257001
Reviewed-on: https://review.typo3.org/54523
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Schreiber <mathias.schreiber@typo3.com>
Tested-by: Mathias Schreiber <mathias.schreiber@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
The main $GLOBALS['LANG'] class has been moved to the core extension into the "Localization"
namespace, where all other related XLF/XML factory, store and parser classes reside.
This is done in order to streamline the localization of core-relevant files, since this class will
also be used in frontend context.
EXT:lang now contains the backend module, as well as most XLF files.
Resolves: #81196
Releases: master
Change-Id: I0e5d8260f5c5a28254658c68766990b4f4662a2a
Reviewed-on: https://review.typo3.org/52774
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
The TYPO3 Core currently has no guidline how to handle phpdoc
comments regarding @return annoations related to "void" and "null".
In practice, these annotations have no additional value if no additional
documentation is given.
With this change, the php-cs-fixer will remove any unnecessary linebreaks
within the comments above the @return annotation, as well as remove completely
empty phpdoc comments because the @return annotation is removed.
Please be aware, that once PSR-5 is accepted, this coding standard
within the TYPO3 Core will change again, where there are currently
some further proposal details like inheritance information.
Resolves: #80454
Releases: master
Change-Id: Ie969d720684c0a75919fe5addd1c36ef5b12eb04
Reviewed-on: https://review.typo3.org/51686
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
This patch moves frontend-editing intialisation from the
EditDocumentController (EXT:backend) to a signal listener
in EXT:feedit. Step towards extracting EXT:feedit to TER.
Change-Id: I09a7e5a2205e7020e7145023d7d63c61d9be508c
Resolves: #80244
Releases: master
Reviewed-on: https://review.typo3.org/52011
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
The function GeneralUtility::quoteJSvalue is sometimes called
with a second parameter but it does only have on parameter.
Resolves: #79867
Releases: master
Change-Id: I994501574b798026f43a0e463a633e05ffc1cff3
Reviewed-on: https://review.typo3.org/51727
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Change string comparison for string checks. Checks which could lead
to false positives like comparing with '0' or '' are excluded.
RegEx used to find affected places: (?<=\s)((?:!|=)=)(?=[^=]'[^0-9'\n]+')
Resolves: #79540
Resolves: master
Change-Id: I9a04bdd9e0e78cc97036560709bb505097bf48f9
Reviewed-on: https://review.typo3.org/51462
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
All instances of $GLOBALS[TYPO3_DB] in the TYPO3 Core classes
except for certain highly used functionalities have been removed.
The places where the TYPO3 Core is expected to have subclasses
within extensions have been marked for deprecation.
Resolves: #78224
Releases: master
Change-Id: Ie65878264679b93940ac9fb86c4758576d98c550
Reviewed-on: https://review.typo3.org/49824
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
The method ExtensionManagementUtility::extRelPath() is marked
as deprecated, as other solutions (relative to PATH_site, absolute path resolving) should be used
in the future.
Resolves: #78193
Releases: master
Change-Id: I28cf7e1a47cb3fc8a88b0bb54d2c71a369f3d0f2
Reviewed-on: https://review.typo3.org/48915
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
As decided during T3ACME we will use the short
array syntax in master. The 7.6 branch will also be done
to make backporting easier.
Resolves: #77692
Releases: master,7.6
Change-Id: I37e9484b1012fc9161148257a842054c24d162ba
Reviewed-on: https://review.typo3.org/49651
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Use TsConfig to change the width & height of the popup used in the
edit panel of EXT:feedit.
Resolves: #18586
Releases: master
Change-Id: Ifbc7ebae75a3454fbfe9a70f0a2b4b1d95a2c094
Reviewed-on: https://review.typo3.org/48617
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Translated labels containing UTF-8 characters were double-encoded
in frontend editing.
extGetLL() already runs htmlspecialchars() on labels, so we do not have
to do that again in FrontendEditPanel.
This fixes the titles of the admin panel buttons.
Also, since we can expect all pages to be UTF-8 now, we can drop the forced
conversion of UTF-8 characters to XML entities.
This fixes the confirmation popup texts.
Resolves: #63131
Releases: master, 7.6
Change-Id: I49faff20ff4da8434868534d566c0d3da85e30c6
Reviewed-on: https://review.typo3.org/46247
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Christian Weiske <typo3@cweiske.de>
Tested-by: Christian Weiske <typo3@cweiske.de>
Reviewed-by: Susanne Moog <typo3@susannemoog.de>
Tested-by: Susanne Moog <typo3@susannemoog.de>
This patch repairs the EditDocumentController when called by FE edit.
The main issue was that JavaScripts depends on global objects in ``top``
which are set by BackendController that is only called when one acts
in the fully bootstrapped backend view.
Resolves: #68819
Releases: master
Change-Id: I5635b32b3dada3a73d7534936e41cd94d3d10b56
Reviewed-on: https://review.typo3.org/44342
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
In our efforts to achieve a better interoperability
with other PHP projects, the PHP code base of the
TYPO3 Core switches to the PHP coding guideline
standard PSR-2.
See http://www.php-fig.org/psr/psr-2/ for more
information.
Resolves: #70515
Releases: master
Change-Id: I734c0d838af157003decfeb5fc0a11dddcb87bf5
Reviewed-on: http://review.typo3.org/43918
Reviewed-by: TYPO3 Release Team <typo3cms@typo3.org>
Tested-by: TYPO3 Release Team <typo3cms@typo3.org>
Deprecate the IconUtility class from EXT:backend and handle its calls
using the new IconFactory from EXT:core.
Kudos to Benjamin Kott, Stephan Großberndt, Andreas Fernandez
and Frans Saris for the great support on this big project.
Resolves: #69057
Releases: master
Change-Id: I27a045b7a3b9d31e6e3e915e1452d44af56b0cee
Reviewed-on: http://review.typo3.org/42613
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Benjamin Kott <info@bk2k.info>
Tested-by: Benjamin Kott <info@bk2k.info>
Reviewed-by: Stephan Großberndt <stephan@grossberndt.de>
Tested-by: Stephan Großberndt <stephan@grossberndt.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>