• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/socialnetwork/internals/runtime/usertogroup.php
  • Класс: BitrixTasksIntegrationSocialnetworkInternalsRunTimeUserToGroup
  • Вызов: UserToGroup::getFilterByGroup
static function getFilterByGroup(array $groups)
{
	$result = array();

	$groups = array_filter(array_map('intval', array_unique($groups)));

	// no module or nothing to filter by => no mixin should be applied
	if(empty($groups) || !static::includeModule())
	{
		return $result;
	}

	$condition = array('=this.ID' => 'ref.USER_ID');
	if(count($groups) == 1)
	{
		$condition['=ref.GROUP_ID'] = array('?', array_shift($groups));
	}
	else
	{
		$condition['@ref.GROUP_ID'] = new SqlExpression(implode(', ', $groups));
	}

	$result[] = new BitrixMainEntityReferenceField(
		'SN_UTG',
		'BitrixSocialnetworkUserToGroup',
		$condition,
		array('join_type' => 'left')
	);

	return array('runtime' => $result);
}