2 declare(strict_types = 1);
46 if (!isset($parameters[
'conditionParameters'][0])
47 || $parameters[
'conditionParameters'][0] !==
'pages'
48 || !isset($parameters[
'conditionParameters'][1])
49 || (!in_array($parameters[
'conditionParameters'][1], [
'true',
'false'],
true))
50 || empty($parameters[
'record'][
'uid'])
53 throw new \InvalidArgumentException(
54 'Invalid arguments using isInPseudoSite display condition',
61 $defaultLanguagePageId = (int)($parameters[
'record'][
't3ver_oid'] ?: $parameters[
'record'][
'uid']);
62 if (is_array($parameters[
'record'][
'l10n_parent'])
63 && (int)$parameters[
'record'][
'sys_language_uid'][0] > 0
66 $defaultLanguagePageId = (int)$parameters[
'record'][
'l10n_parent'][0];
71 if ($defaultLanguagePageId === 0
72 || (
int)$parameters[
'record'][
'sys_language_uid'][0] > 0
74 $defaultLanguagePageId = abs((
int)$parameters[
'record'][
'pid']);
80 $site = GeneralUtility::makeInstance(SiteMatcher::class)->matchByPageId($defaultLanguagePageId);
83 if ($parameters[
'conditionParameters'][1] ===
'false') {
85 return !$isInPseudoSite;
88 return $isInPseudoSite;