• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/workgroup.php
  • Класс: BitrixSocialnetworkItemWorkgroup
  • Вызов: Workgroup::syncDeptConnection
public function syncDeptConnection($exclude = false): void
{
	global $USER;

	if (!ModuleManager::isModuleInstalled('intranet'))
	{
		return;
	}

	$groupFields = $this->getFields();

	if (
		empty($groupFields)
		|| empty($groupFields["ID"])
	)
	{
		return;
	}

	if (
		isset($groupFields['UF_SG_DEPT']['VALUE'])
		&& Loader::includeModule('intranet')
	)
	{
		$workgroupsToSync = Option::get('socialnetwork', 'workgroupsToSync', "");
		$workgroupsToSync = ($workgroupsToSync !== "" ? @unserialize($workgroupsToSync, [ 'allowed_classes' => false ]) : []);
		if (!is_array($workgroupsToSync))
		{
			$workgroupsToSync = [];
		}
		$workgroupsToSync[] = array(
			'groupId' => $groupFields["ID"],
			'initiatorId' => (is_object($USER) ? $USER->getId() : $groupFields['OWNER_ID']),
			'exclude' => $exclude
		);
		$workgroupsToSync = $this->reduceSyncList($workgroupsToSync);
		Option::set('socialnetwork', 'workgroupsToSync', serialize($workgroupsToSync));
		BitrixSocialnetworkUpdateWorkgroupDeptSync::bind(1);
	}
}