[BUGFIX] Collect correct information on elements in page

In the page module information on neighboring content elements is
collected while building the page layout. This information must
be remembered for other elements on the page instead of generated
new when rendering each element. This makes sure the move buttons and
edit buttons have the correct URLs.

Resolves: #60199
Releases: 6.3, 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I9fec256b145fe8aba229d8b026fba73871942347
Reviewed-on: http://review.typo3.org/31929
Reviewed-by: Robert Heinig <robert.heinig@3m5.de>
Tested-by: Robert Heinig <robert.heinig@3m5.de>
Reviewed-by: Gerwin Kramer <gerwinkramer@gmail.com>
Tested-by: Gerwin Kramer <gerwinkramer@gmail.com>
Reviewed-by: Jo Hasenau <info@cybercraft.de>
Tested-by: Jo Hasenau <info@cybercraft.de>
Reviewed-by: Stefan Holz <sh@atlantismedia.de>
Tested-by: Stefan Holz <sh@atlantismedia.de>
Reviewed-by: Christian Hernmarck <ch_t3@hernmarck.ch>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] QueryGenerator getTreeList negative ids

When persistence.recursive is configured when using a command controller no
records can be retrieved because the storagePid is negated in the
AbstractConfigurationManager, while claiming all implementations of getTreeList
support negative ids. Using abs() on the id when it is negative fixes this.
Also see the ContentObjectRenderer implementation of getTreeList

Change-Id: I7732290126a83a79204b8224d52a3cd878360e64
Resolves: #60697
Releases: 6.3, 6.2
Reviewed-on: http://review.typo3.org/31919
Reviewed-by: Peter Beernink <p.beernink@youwe.nl>
Tested-by: Peter Beernink <p.beernink@youwe.nl>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Fix call to undefined function when importing t3x

When importing a t3x file that contains files the function
"getFiles" of the object TYPO3\CMS\Core\Resource\Folder is called
which does not exist.

Resolves: #60474
Releases: 6.3, 6.2
Change-Id: Ibc392bced57a85ad6eae333406ff507af7faefd4
Reviewed-on: http://review.typo3.org/31744
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Remove non accessible pages from browse menu

This patch enables the browse menu to skip inaccessible items
for prev and next links.

It makes use of the filterMenuPages method, which is already
applied to any kind of menu. Since it has not been applied
to the sections of the browse menu type, which are actually
menus themselves, inaccessible pages made browsing unusable.

This applies to missing translations as well.

Change-Id: I8779731139785dea72b078567912c96e3ad5c7ca
Resolves: #58792
Releases: 6.3, 6.2
Reviewed-on: http://review.typo3.org/30098
Reviewed-by: Jo Hasenau <info@cybercraft.de>
Tested-by: Jo Hasenau <info@cybercraft.de>
Reviewed-by: Marcin Sągol <marcin@soee.pl>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] EM using bad indexes

The extensionmanager uses bad indexes. It is better
to move col repository to the the end of the indexes.

Resolves: #59809
Releases: 6.3,6.2
Change-Id: I0bb8d5cdfc8591bb35485b204ad5e8dafd1b4d16
Reviewed-on: http://review.typo3.org/31080
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Marcin Sągol <marcin@soee.pl>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[BUGFIX] Make context menus work with modules

To make it possible to use the module dispatcher
with a click menu item, it is necessary to add
the CSRF token to the URL of the called click menu
functionality.

Resolves: #60635
Releases: 6.3, 6.2
Change-Id: I0b378c3ba4c22f25b10e39950d08568f608decdb
Reviewed-on: http://review.typo3.org/31987
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Reusable getCategoryFieldsForTable itemsProcFunc

Allow the usage of the method
\TYPO3\CMS\Core\Category\CategoryRegistry->getCategoryFieldsForTable
that can be used as itemsProcFunc for select fields in the TCA in
multiple context by introducing a new categorizedTable configuration key
in the config section of a column in the TCA.

This configuration key can either consist of a single string containing
the name of the table or a configuration array to define additional
conditions that need to be true so that a configured table is used.

Resolves: #53045
Releases: 6.2
Change-Id: I128cbeb6747a8f83e68cdaaaafbc3ab5901353d4
[WIP][FEATURE] Skip access check for content_from_pid

This patch introduces a new config option called
config.content_from_pid_skipAccessCheck.

If this option is TRUE no access check will be performed for the
page from which the contents should be displayed.

Resolves: #57079
Change-Id: Ib2bf94674b136c09424a5adf7b8000bb5d6ba634
[TASK] Unify data for jump URL hash generation

The jump URL generation is unified and moved to a new JumpUrlUtility
class. All methods in the ContentObjectRenderer are now using the same
method for creating jump URLs.

The handling of file and directory names with special characters is
improved and FAL file records with special characters in their file names
will also be URL encoded.

Additionally Unit Tests are added to verify the jump URL function.

Resolves: #52156
Releases: 6.2
Change-Id: I7d2d8cec005aae56a118850071ca669ef9740c9d
[BUGFIX] Correct order of key / field deletion

Prevent a SQL error when deleting a key and the field belonging
to the key in the install tool at the same time.

Therefore the order for deleting keys and fields is changed from
field first and key second to key first and field second.

Resolves: #50450
Releases: 6.2
Change-Id: I30aff6ea6c2bf01dec6197eec8fd3aa7306cfcbb
[BUGFIX] Type check fix in linkhandler link type

To determine if a link should by handled by the linkhandler link type
in the linkvalidator the "type" entry in the $value array will be
checked instead of the $type variable which is always empty.

Resolves: #38639
Releases: 6.2
Change-Id: I8183bfca0e4662518063f0d3ec9ba6bab0ff58bf
[FEATURE] Provide TSConfig to link checkers

The currently active TSConfig for the linkvalidator will be passed
to the link checker instances if they implement the required
setTSConfig() method.

Resolves: #54518
Releases: 6.2
Change-Id: I59d1de5fb3f818d340f499260589edf9a45d3148
[FEATURE] Report links to disabled linkhandler records

A new TSConfig setting is introduced to mod.linkvalidator that is called
linkhandler.reportHiddenRecords.

If this setting is enabled an error will be triggerd in the linkhandler
link checker of the linkvalidator Extension if a linked record is not
enabled.

Resolves: #54519
Releases: 6.2
Change-Id: Ib95cff1f9bdc67b0636cf38e6d9f33a8cbbdff75
[BUGFIX] No invalid TSConfig usage in linkvalidator

To display the linkvalidator error messages for linkhandler link types
the name of the linked table is read from the TCA instead from Page
TSConfig from a hardcoded page UID 1.

Resolves: #54523
Releases: 6.2
Change-Id: I165813a03cd4574c20981e35a9e53cfdeacfc421
[BUGFIX] Prevent double content link checks

When a link points to a content element by using it's anchor behind
the page UID the reference index contains two entries for this link,
one for the linked page and one for the linked content element.

Since the content element is already checked when the page link is
validated by extracting the anchor element from the URL it is not
required to handle any other references than those starting with
"pages:". This prevents content elements from being treated as pages.

Resolves: #50772
Releases: 6.2
Change-Id: I5337ea01614eee2228fe09936f49a88b5ea96e5d
[BUGFIX] Use mod.linkvalidator settings in scheduler

Since mod.linkvalidator is used in all other places in the linkvalidator
as TSConfig key it is now also used in the scheduler to override existing
TSConfig.

To maintain backward compatibility the old mod.tx_linkvalidator setting
will be respected and a deprecation warning will be logged.

Resolves: #51360
Releases: 6.2
Change-Id: I6e6692d2ff6543f1154e4d64feb52efc5cdfcf83
[FEATURE] Re-introduce read-only filemounts

With the introduction of FAL, the feature to define read-only filemounts
in the element browser was removed. This needs to be re-introduced in
order to make it possible to define file mounts that are readable for
users, but not writable.

A new property "read_only" is introduced for filemounts.

If this property is set to TRUE, the user will only have read access
to this filemount. Write operations are prohibited.

Resolves: #49391
Releases: 6.2
Change-Id: I0987114ad56857b4a91f6a2198fd8532c292034b
[WIP][FEATURE] Prevent typolinks to non translated pages

A new TypoScript setting is introduced called
config.typolinkDisableLinksToNonTranslatedPages.

If this setting is enabled and the typolink function is not called
from a menu an access check will be performed if the page provided
in the link parameter is accessible in the requested language.

WIP: more testing, especially one problematic issue: when both settings
in a page are active (hide in default and do *not* hide non translated)
then the link to a translated version will be active but if no
translation exits and content_fallback;0 is used you will get a 404
error.

Resolves: #20043
Documentation: #57121
Releases: 6.3
Change-Id: I0452524d378cdb7351997cce34c678f704a43069
[BUGFIX] Respect config.absRefPrefix in admin panel

All image paths rendered by the admin panel will now be prefixed
with $GLOBALS['TSFE']->absRefPrefix.

Resolves: #52211
Releases: 6.2
Change-Id: I81cf6603887bb981e0c9398a724d3fb56de240f8
[BUGFIX] Accessibility bypass in dt for menu with abstract

The TypoScript path of the accessiblity bypass has changed so the
code that overrides the wrapping <li> with a <dt> element is adapted
to match the new TypoScript patch.

Resolves: #57712
Releases: 6.2
Change-Id: Ib0347ddae6091792b85ee77133db8d711982a12b