uawdijnntqw1x1x1
IP : 216.73.216.107
Hostname : toronto-dev2
Kernel : Linux toronto-dev2 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
srv
/
users
/
craft4
/
apps
/
.
/
.
/
craft4-newsite-space
/
vendor
/
.
/
craftcms
/
cms
/
src
/
.
/
fields
/
Entries.php
/
/
<?php /** * @link https://craftcms.com/ * @copyright Copyright (c) Pixel & Tonic, Inc. * @license https://craftcms.github.io/license/ */ namespace craft\fields; use Craft; use craft\elements\conditions\ElementCondition; use craft\elements\db\EntryQuery; use craft\elements\ElementCollection; use craft\elements\Entry; use craft\gql\arguments\elements\Entry as EntryArguments; use craft\gql\interfaces\elements\Entry as EntryInterface; use craft\gql\resolvers\elements\Entry as EntryResolver; use craft\helpers\Gql; use craft\helpers\Gql as GqlHelper; use craft\models\GqlSchema; use craft\services\Gql as GqlService; use GraphQL\Type\Definition\Type; /** * Entries represents an Entries field. * * @author Pixel & Tonic, Inc. <support@pixelandtonic.com> * @since 3.0.0 */ class Entries extends BaseRelationField { /** * @inheritdoc */ public static function displayName(): string { return Craft::t('app', 'Entries'); } /** * @inheritdoc */ public static function elementType(): string { return Entry::class; } /** * @inheritdoc */ public static function defaultSelectionLabel(): string { return Craft::t('app', 'Add an entry'); } /** * @inheritdoc */ public static function valueType(): string { return sprintf('\\%s|\\%s<\\%s>', EntryQuery::class, ElementCollection::class, Entry::class); } /** * @inheritdoc */ public function includeInGqlSchema(GqlSchema $schema): bool { return Gql::canQueryEntries($schema); } /** * @inheritdoc * @since 3.3.0 */ public function getContentGqlType(): Type|array { return [ 'name' => $this->handle, 'type' => Type::nonNull(Type::listOf(EntryInterface::getType())), 'args' => EntryArguments::getArguments(), 'resolve' => EntryResolver::class . '::resolve', 'complexity' => GqlHelper::relatedArgumentComplexity(GqlService::GRAPHQL_COMPLEXITY_EAGER_LOAD), ]; } /** * @inheritdoc * @since 3.3.0 */ public function getEagerLoadingGqlConditions(): ?array { $allowedEntities = Gql::extractAllowedEntitiesFromSchema(); $sectionUids = $allowedEntities['sections'] ?? []; $entryTypeUids = $allowedEntities['entrytypes'] ?? []; if (empty($sectionUids) || empty($entryTypeUids)) { return null; } $sectionsService = Craft::$app->getSections(); $sectionIds = array_filter(array_map(function(string $uid) use ($sectionsService) { $section = $sectionsService->getSectionByUid($uid); return $section->id ?? null; }, $sectionUids)); $entryTypeIds = array_filter(array_map(function(string $uid) use ($sectionsService) { $entryType = $sectionsService->getEntryTypeByUid($uid); return $entryType->id ?? null; }, $entryTypeUids)); return [ 'sectionId' => $sectionIds, 'typeId' => $entryTypeIds, ]; } /** * @inheritdoc */ protected function createSelectionCondition(): ?ElementCondition { $condition = Entry::createCondition(); $condition->queryParams = ['section', 'sectionId']; return $condition; } }
/srv/users/craft4/apps/././craft4-newsite-space/vendor/./craftcms/cms/src/./fields/Entries.php