• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FluidTYPO3 / vhs / 12966185640

25 Jan 2025 03:24PM UTC coverage: 72.268% (-0.2%) from 72.434%
12966185640

Pull #1922

github

web-flow
Merge 6eba7534d into 02c21f3ce
Pull Request #1922: [BUGFIX] Use late instancing of ContentObjectRenderer

16 of 39 new or added lines in 11 files covered. (41.03%)

5548 of 7677 relevant lines covered (72.27%)

13.46 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

57.14
/Classes/Utility/ContentObjectFetcher.php
1
<?php
2
namespace FluidTYPO3\Vhs\Utility;
3

4
/*
5
 * This file is part of the FluidTYPO3/Vhs project under GPLv2 or later.
6
 *
7
 * For the full copyright and license information, please read the
8
 * LICENSE.md file that was distributed with this source code.
9
 */
10

11
use Psr\Http\Message\ServerRequestInterface;
12
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
13
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
14
use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
15

16
class ContentObjectFetcher
17
{
18
    public static function resolve(?ConfigurationManagerInterface $configurationManager = null): ?ContentObjectRenderer
19
    {
20
        $contentObject = null;
96✔
21
        $request = ($configurationManager !== null && method_exists($configurationManager, 'getRequest')
96✔
22
            ? $configurationManager->getRequest()
×
23
            : ($GLOBALS['TYPO3_REQUEST'] ?? null)) ?? $GLOBALS['TYPO3_REQUEST'] ?? null;
96✔
24

25
        if ($request && $configurationManager === null) {
96✔
26
            $contentObject = static::resolveFromRequest($request);
×
27
        }
28

29
        if ($contentObject === null) {
96✔
30
            if ($configurationManager !== null && method_exists($configurationManager, 'getContentObject')) {
96✔
31
                $contentObject = $configurationManager->getContentObject();
96✔
NEW
32
            } elseif ($request) {
×
33
                $contentObject = static::resolveFromRequest($request);
×
34
            }
35
        }
36

37
        return $contentObject;
96✔
38
    }
39

40
    protected static function resolveFromRequest(ServerRequestInterface $request): ?ContentObjectRenderer
41
    {
42
        /** @var TypoScriptFrontendController $controller */
43
        $controller = $request->getAttribute('frontend.controller');
×
44
        return $controller instanceof TypoScriptFrontendController ? $controller->cObj : null;
×
45
    }
46
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc