Skip to content
Snippets Groups Projects
Commit 95f8d6db authored by Andreas Fernandez's avatar Andreas Fernandez
Browse files

[BUGFIX] Cast folder name in tree provider to string

The method FileStorageTreeProvider->getSubfoldersRecursively() iterates
an array of subfolders and prepares folder information based on the
iterated data.

This functionality has a minor flaw, thanks to PHP, in case a folder
is named with numbers only, PHP treats array indices as integer if they
can be parsed as such, leading to TypeErrors as the method
prepareFolderInformation() expects a nullable string.

The passed subfolder name is now cast to string to solve this issue.

Resolves: #97851
Releases: main, 11.5
Change-Id: I3357121c4892d6063b6714e4e7b436b3ebdd1802
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75028


Tested-by: default avatarSimon Schaufelberger <simonschaufi+typo3@gmail.com>
Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarNikita Hovratov <nikita.h@live.de>
Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: default avatarSimon Schaufelberger <simonschaufi+typo3@gmail.com>
Reviewed-by: default avatarNikita Hovratov <nikita.h@live.de>
Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarOliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
parent 1651f2a5
Branches
Tags
No related merge requests found
...@@ -201,6 +201,7 @@ class FileStorageTreeProvider ...@@ -201,6 +201,7 @@ class FileStorageTreeProvider
$subFolderCounter = 0; $subFolderCounter = 0;
foreach ($subFolders as $subFolderName => $subFolder) { foreach ($subFolders as $subFolderName => $subFolder) {
$subFolderName = (string)$subFolderName; // Enforce string cast in case $subFolderName contains numeric chars only
$expanded = $this->isExpanded($subFolder); $expanded = $this->isExpanded($subFolder);
if (!($subFolder instanceof InaccessibleFolder)) { if (!($subFolder instanceof InaccessibleFolder)) {
$children = $subFolder->getSubfolders(); $children = $subFolder->getSubfolders();
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment