56 $source = static::getInstance($queueItem->sourceType, $queueItem->userId, $queueItem->sourceId,
$stage);
58 return $source->setIsFirstInit($queueItem->isFirstInit);
63 $this->isFirstInit = $flag;
72 return $this->stage->getItems(
$result);
77 $cacheKey = $this->getCacheKey($pointer, $limit);
78 if (isset(self::$cache[$cacheKey]))
80 $result = clone self::$cache[$cacheKey];
82 return $result->setSelectedItemsCount(0);
87 return clone self::$cache[$cacheKey];
109 return $this->filter->apply(
$query, self::USER_ID_FIELD_NAME);
116 private function getCacheKey(
string $pointer,
int $limit): string
118 $sourceType = static::getType()->value;
122 return "{$sourceType}_{$stageType}_{$sourceId}_{$this->targetId}_{$pointer}_{$limit}";
static getInstance(SourceType $type, int $targetId, ?int $sourceId, Stage $stage)
isResultAffectedByStage()
getItems(string $pointer, int $limit)
__construct(int $targetId, ?int $sourceId, Stage $stage)
setIsFirstInit(bool $flag)
getBaseQuery(string $pointer, int $limit)
getUsers(string $pointer, int $limit)
static createFromQueueItem(QueueItem $queueItem)
getUsersInternal(string $pointer, int $limit)
getResultByRaw(array $raw, int $limit)
modifyQueryByStage(Query $query)
static createFromQueueItem(QueueItem $queueItem)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)