- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/update/workgroupdeptsync.php
- Класс: BitrixSocialnetworkUpdateWorkgroupDeptSync
- Вызов: WorkgroupDeptSync::getCount
static function getCount(): int
{
$result = 0;
$workgroupsToSync = Option::get('socialnetwork', 'workgroupsToSync');
$workgroupsToSync = ($workgroupsToSync !== '' ? @unserialize($workgroupsToSync, [ 'allowed_classes' => false ]) : []);
if (
is_array($workgroupsToSync)
&& !empty($workgroupsToSync)
)
{
$workgroupsToSync = self::reduceList($workgroupsToSync);
$nonEmptyWorkgroupList = [];
foreach ($workgroupsToSync as $workgroupData)
{
$workgroupId = $workgroupData['groupId'];
$groupCounter = 0;
$data = self::getUsers($workgroupId);
if (
isset($data['PLUS'])
&& is_array($data['PLUS'])
)
{
$groupCounter += count($data['PLUS']);
}
if (
isset($data['MINUS'])
&& is_array($data['MINUS'])
)
{
foreach ($data['MINUS'] as $userId)
{
if (isset($data['OLD_RELATIONS'][$userId]))
{
$groupCounter++;
}
}
}
if ($groupCounter > 0)
{
$nonEmptyWorkgroupList[] = [
'groupId' => $workgroupId,
'initiatorId' => $workgroupData['initiatorId'],
'exclude' => ($workgroupData['exclude'] ?? false),
];
$result += $groupCounter;
}
}
Option::set('socialnetwork', 'workgroupsToSync', serialize($nonEmptyWorkgroupList));
}
return $result;
}