• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/internals/eventservice/event/workgroupevent.php
  • Класс: BitrixSocialnetworkInternalsEventServiceEventWorkgroupEvent
  • Вызов: WorkgroupEvent::getNotVisibleGroupIds
private function getNotVisibleGroupIds($groups): array
{
	[ $added, $changed, $deleted, $userChanged ] = $groups;

	$oldFields = $this->getOldFields();
	$newFields = $this->getNewFields();

	$filter = function($groupId) use ($newFields) {
		return ($newFields[$groupId]['VISIBLE'] === 'N');
	};
	$changedFilter = function($groupId) use ($oldFields, $newFields) {
		return (
			$newFields[$groupId]['VISIBLE'] === 'N'
			&& $oldFields[$groupId]['VISIBLE'] === 'N'
		);
	};
	$deletedFilter = function($groupId) use ($oldFields) {
		return ($oldFields[$groupId]['VISIBLE'] === 'N');
	};

	return array_merge(
		array_filter($added, $filter),
		array_filter($changed, $changedFilter),
		array_filter($deleted, $deletedFilter),
		array_filter($userChanged, $filter)
	);
}