[BUGFIX] Avoid DB error on writing to log

The writeLog() function of the ErrorHandler tries to log the IP that
caused the error. On CLI there is no IP hence a NULL value is being
tried to insert into the DB, where the DB field is NOT NULL.

Fix this by casting the IP to a string.

Resolves: #61051
Releases: 6.3, 6.2
Change-Id: Id46e97468bf825307258e907811d5f2c77c62161
Reviewed-on: http://review.typo3.org/32257
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[BUGFIX] Make sure all new files are indexed

If the FAL indexer scheduler task finds a index record with
same content hash as a new found file the file isn't added to the
index if it isn't marked as missing.

This patch changes the indexer so that new files with same
content hash are added when no index record is found for a missing
file with same content hash.

Resolves: #60764
Releases: 6.3, 6.2
Change-Id: Ifb7f9e6f48ba327c958a7aa0e0b71f0575cabdf7
Reviewed-on: http://review.typo3.org/32269
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Revert "[BUGFIX] Unified maxitems default value for group fields"

Unexpected behaviour. Default of maxitems in now 1 by default
which doesn't work if you need more items. Previously this
was possible. Revert this to have the old working
behaviour again.

Releases: 6.3,6.2
Resolves: #60263
Reverts: #55731
This reverts commit c578d47617f803c9ea167d88000e63a92c13fa93.

Change-Id: Ice5357aecb1969f11c6821cb81824d2d68200717
Reviewed-on: http://review.typo3.org/32284
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
[TASK] Change fetch of maximum version using LEFT JOIN

Currently, the method fetchMaximalVersionsForAllExtensions uses a
subselect to determine the highest available version. This solution is
rather inefficient and incomptabile to DBAL. The query is replaced by
a LEFT JOIN.

Resolves: #60857
Releases: 6.2, 6.3
Change-Id: I7ae3c523259bf260c41080aee269f6df33edb408
Reviewed-on: http://review.typo3.org/32288
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Tested-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
[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/32326
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/32331
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/32332
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/32333
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/32334
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/32338
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
[TASK] Missing stdWrap for select.recursive TypoScript property

Processing stdWrap for the select.recursive TypoScript property
has just been forgotten in the original issue #18822 during the
development of TYPO3 4.6.

Change-Id: I34f2ac45e5112fbcc2becf7936f486f0b53d361a
Resolves: #55707
Releases: 6.3, 6.2, 6.1
Reviewed-on: http://review.typo3.org/32209
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
[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
[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] Prevent exclude field mixup in FromEngine

Use a local variable for storing the excluded fields in the
FormEngine to prevent the configuration from being overwritten
by the inline form element renderer.

Fixes: #47359
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Change-Id: I5a7a2de16d767f854b4d3f89d599deec28266092
[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