diff --git a/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php b/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php index c1e1b6e0a47a4d4c6496b4a6b77cbfd3f18b2ed7..6098f928bdebc92528eab2fa052417513002d3db 100644 --- a/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php +++ b/typo3/sysext/t3editor/Classes/Controller/CodeCompletionController.php @@ -86,9 +86,8 @@ class CodeCompletionController { $cleanedTreeBranch = []; foreach ($treeBranch as $key => $value) { - $dotCount = substr_count($key, '.'); //type definition or value-assignment - if ($dotCount === 0) { + if (substr($key, -1) !== '.') { if ($value != '') { if (mb_strlen($value) > 20) { $value = mb_substr($value, 0, 20); @@ -98,11 +97,13 @@ class CodeCompletionController } $cleanedTreeBranch[$key]['v'] = $value; } - } elseif ($dotCount == 1) { + } else { // subtree (definition of properties) $subBranch = $this->treeWalkCleanup($value); if ($subBranch) { - $key = str_replace('.', '', $key); + if (substr($key, -1) === '.') { + $key = rtrim($key, '.'); + } if (!isset($cleanedTreeBranch[$key])) { $cleanedTreeBranch[$key] = []; }