[TASK] Remove and streamline HMENU functionality 44/60244/5
authorBenni Mack <benni@typo3.org>
Wed, 13 Mar 2019 20:04:32 +0000 (21:04 +0100)
committerGeorg Ringer <georg.ringer@gmail.com>
Sat, 23 Mar 2019 21:42:03 +0000 (22:42 +0100)
commit840659af521ef2ca77da2c0740d0c007fe395223
tree8fe36bbc7af61af3935b3a36a2c6af57bcee0218
parent05772fa3b5e58e58db1a64e380892d6a3508541e
[TASK] Remove and streamline HMENU functionality

HMENU was hardened during v9 via deprecations of
GMENU and making most of the properties protected.

Therefore, code can now refactored more easily.

- The method signatures for HMENU / TMENU are
streamlined.
- All leftover "RO" (RollOver) functionality is
removed (Breaking RST is already done but left-over
code was forgotten).
- Several GeneralUtility::inList() checks are replaced
with in_array()
- Some minor strict types for some internal obvious
methods
- use json_encode() instead of serialize()
for cache identifiers
- resolve some very very nested if() statements
- internal methods with "optional arguments" which
are always called with all arguments, are built
in a way that they are now non-optional.

Resolves: #87907
Releases: master
Change-Id: I80536b9b4dbc4609d38476c9ce48532fe71b73d0
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60244
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/ContentObject/Menu/AbstractMenuContentObject.php
typo3/sysext/frontend/Classes/ContentObject/Menu/TextMenuContentObject.php
typo3/sysext/frontend/Tests/Unit/ContentObject/Menu/AbstractMenuContentObjectTest.php