Skip to content

Commit 9b1829b

Browse files
committed
[RELEASE] Version 12.5.2 with fixes for 503 errors in backend
Releases: https://projekte.in2code.de/issues/63758 Releases: https://projekte.in2code.de/issues/60303 Releases: https://projekte.in2code.de/issues/64064
2 parents 2f35546 + 9c10cd4 commit 9b1829b

File tree

7 files changed

+49
-23
lines changed

7 files changed

+49
-23
lines changed

.gitattributes

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
# .gitattributes
22

3-
/.github export-ignore
4-
/.project export-ignore
5-
/Build export-ignore
6-
.gitkeep export-ignore
7-
/.editorconfig export-ignore
8-
/.env export-ignore
9-
/.gitattributes export-ignore
10-
/.gitignore export-ignore
11-
/.phpstorm.meta.php export-ignore
12-
/.eslintrc export-ignore
13-
/.travis.yml export-ignore
14-
/Resources/Private/Sass export-ignore
15-
/Resources/Private/config.rb export-ignore
16-
/Resources/Private/Clickdummy export-ignore
17-
/Tests export-ignore
18-
/Makefile export-ignore
19-
/phive.xml export-ignore
20-
/phpunit.browser.xml export-ignore
21-
/phpunit.functional.xml export-ignore
22-
/phpunit.unit.xml export-ignore
3+
/.github export-ignore
4+
/.project export-ignore
5+
/Build export-ignore
6+
.gitkeep export-ignore
7+
/.editorconfig export-ignore
8+
/.env export-ignore
9+
/.gitattributes export-ignore
10+
/.gitignore export-ignore
11+
/.phpstorm.meta.php export-ignore
12+
/.eslintrc export-ignore
13+
/.travis.yml export-ignore
14+
/Resources/Private/Sass export-ignore
15+
/Resources/Private/compile-sass.sh export-ignore
16+
/Resources/Private/config.rb export-ignore
17+
/Resources/Private/Clickdummy export-ignore
18+
/Tests export-ignore
19+
/Makefile export-ignore
20+
/phive.xml export-ignore
21+
/phpunit.browser.xml export-ignore
22+
/phpunit.functional.xml export-ignore
23+
/phpunit.unit.xml export-ignore
2324

2425
/Tests/Browser/files/* filter=lfs diff=lfs merge=lfs -text
2526
/Tests/Manual/images/* filter=lfs diff=lfs merge=lfs -text

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# In2publish Core Change Log
22

3+
12.5.2:
4+
- [DOCS] Add known issue to explain missing (orphaned) MM records in the record tree
5+
- [BUGFIX] Discard the table portion of a joined row if the joined record does not exist
6+
- [META] Exclude compile-sass from archive
7+
- [BUGFIX] Cast pageuid to integer to build the preview URL
8+
39
12.5.1:
410
- [BUGFIX] Correct evaluation of publishing state
511
- [BUGFIX] Fixes Databender for Redirects

Classes/Component/Core/DemandResolver/Join/JoinDemandResolver.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ protected function createAndMapMmRecords(
135135
if (null === $mmRecord) {
136136
continue;
137137
}
138-
if (!empty($row['local']['table']) || !empty($row['foreign']['table'])) {
138+
if (!empty($row['local']['table']['uid']) || !empty($row['foreign']['table']['uid'])) {
139139
$uid = $row['local']['table']['uid'] ?? $row['foreign']['table']['uid'];
140140
$tableRecord = $this->recordIndex->getRecord($table, $uid);
141141
if (null === $tableRecord) {

Classes/Component/Core/Repository/SingleDatabaseRepository.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use TYPO3\CMS\Core\Database\Query\QueryHelper;
1313

1414
use function array_column;
15+
use function array_key_exists;
1516
use function hash;
1617
use function json_encode;
1718
use function substr;
@@ -139,6 +140,9 @@ public function findByPropertyWithJoin(
139140
// Split the prefix into mmtbl/table (0-5) and the actual column name (6-X).
140141
$splitRow[substr($column, 0, 5)][substr($column, 6)] = $value;
141142
}
143+
if (array_key_exists('uid', $splitRow['table']) && null === $splitRow['table']['uid']) {
144+
unset($splitRow['table']);
145+
}
142146
$mmIdentityProperties = [
143147
$splitRow['mmtbl']['uid_local'],
144148
$splitRow['mmtbl']['uid_foreign'],

Classes/Features/RedirectsSupport/DataBender/RedirectSourceHostReplacement.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public function replaceLocalWithForeignSourceHost(RecordWasSelectedForPublishing
113113
$coreLinkService = GeneralUtility::makeInstance(LinkService::class);
114114
$linkAttributes = $coreLinkService->resolveByStringRepresentation($target);
115115
if (!empty($linkAttributes['pageuid'])) {
116-
$url = BackendUtility::buildPreviewUri('pages', $linkAttributes['pageuid'], 'foreign');
116+
$url = BackendUtility::buildPreviewUri('pages', (int)$linkAttributes['pageuid'], 'foreign');
117117
if (null === $url) {
118118
return;
119119
}

Documentation/KnownIssues.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,18 @@ that the context menu entry does not know about all conditions which have to be
1919
The context menu is created if the current user is allowed to publish and 3rd party integrations allow the publishing of
2020
this page. The context menu entry does not take into account if the record is actually changed. Publishing a page which
2121
has no changes will result in the message "This record is not yet publishable".
22+
23+
## Orphaned MM records are ignored if foreign_table_where includes condition to joined table
24+
25+
Preconditions:
26+
27+
* You have a TCA select/inline relation with an MM table
28+
* The column config defines an extra `foreign_table_where`
29+
* The `foreign_table_where` contains a constraint on the foreign_table
30+
31+
When there are orphaned MM records, which means that the `uid_foreign` of the MM table points to a record in the joined
32+
table which does not exist, the JOIN query will not return any result, hence the MM record is not fetched from the
33+
database. This will not make a difference in most cases, as TYPO3 uses the same JOIN query to select records, but can
34+
lead to differences if custom queries or code is used to handle MM records. Anyway, these orphaned MM records are
35+
invalid and should be deleted. The community extension https://github.com/lolli42/dbdoctor has shown to be effective.
36+
Manual operation might still be required though.

ext_emconf.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
'title' => 'in2publish Core',
1010
'description' => 'Content publishing extension to connect stage and production server',
1111
'category' => 'plugin',
12-
'version' => '12.5.1',
12+
'version' => '12.5.2',
1313
'state' => 'stable',
1414
'clearCacheOnLoad' => true,
1515
'author' => 'Alex Kellner, Oliver Eglseder, Thomas Scheibitz, Stefan Busemann',

0 commit comments

Comments
 (0)