• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/helper/workgroup.php
  • Класс: BitrixSocialnetworkHelperWorkgroup
  • Вызов: Workgroup::getProjectPresets
static function getProjectPresets($params = []): array
{
	static $useProjects = null;
	static $extranetInstalled = null;

	if ($extranetInstalled === null)
	{
		$extranetInstalled = self::isExtranetInstalled();
	}

	$entityOptions = [];
	if (!empty($params['entityOptions']) && is_array($params['entityOptions']))
	{
		$entityOptions = $params['entityOptions'];
	}

	$result = [];
	$sort = 0;

	if ($useProjects === null)
	{
		$useProjects = (
			ModuleManager::isModuleInstalled('intranet')
			&& self::checkEntityOption([ 'project' ], $entityOptions)
		);
	}

	if ($useProjects)
	{
		if (self::checkEntityOption([ '!landing', '!scrum' ], $entityOptions))
		{
			$result['project'] = [
				'SORT' => $sort += 10,
				'NAME' => Loc::getMessage('SOCIALNETWORK_ITEM_WORKGROUP_PROJECT_PRESET_PROJECT'),
				'DESCRIPTION' => Loc::getMessage('SOCIALNETWORK_ITEM_WORKGROUP_PROJECT_PRESET_PROJECT_DESC'),
				'VISIBLE' => 'Y',
				'OPENED' => 'Y',
				'PROJECT' => 'Y',
				'SCRUM_PROJECT' => 'N',
				'EXTERNAL' => 'N',
			];
		}

		if (self::checkEntityOption([ 'scrum', '!extranet', '!landing' ], $entityOptions))
		{
			$result['scrum'] = [
				'SORT' => $sort += 10,
				'NAME' => Loc::getMessage('SOCIALNETWORK_ITEM_WORKGROUP_PROJECT_PRESET_SCRUM'),
				'DESCRIPTION' => Loc::getMessage('SOCIALNETWORK_ITEM_WORKGROUP_PROJECT_PRESET_SCRUM_DESC'),
				'VISIBLE' => 'N',
				'OPENED' => 'N',
				'PROJECT' => 'Y',
				'SCRUM_PROJECT' => 'Y',
				'EXTERNAL' => 'N',
			];
		}
	}

	if (self::checkEntityOption([ '!scrum' ], $entityOptions))
	{
		$result['group'] = [
			'SORT' => $sort += 10,
			'NAME' => Loc::getMessage('SOCIALNETWORK_ITEM_WORKGROUP_PROJECT_PRESET_GROUP'),
			'DESCRIPTION' => Loc::getMessage('SOCIALNETWORK_ITEM_WORKGROUP_PROJECT_PRESET_GROUP_DESC'),
			'VISIBLE' => 'Y',
			'OPENED' => 'Y',
			'PROJECT' => 'N',
			'SCRUM_PROJECT' => 'N',
			'EXTERNAL' => 'N',
		];
	}

	return $result;
}