- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/bizprocdocument.php
- Класс: BitrixDiskBizProcDocument
- Вызов: BizProcDocument::getUsersFromUserGroup
static function getUsersFromUserGroup($group, $documentId)
{
if(mb_substr($documentId, 0, 8) == "STORAGE_")
{
$storageId = self::getStorageIdByType($documentId);
}
else
{
if(is_array($documentId))
{
$documentId = intval($documentId[2]);
}
/** @var File $file */
$file = File::loadById($documentId);
if(!$file)
{
return array();
}
$storageId = $file->getStorageId();
}
if(mb_strtolower($group) == "author")
{
$documentId = intval($documentId);
if($documentId <= 0)
{
return array();
}
/** @var File $file */
$file = File::loadById($documentId);
if(!$file)
{
return array();
}
return array($file->getCreatedBy());
}
if($storageId)
{
$storage = Storage::loadById($storageId, array('ROOT_OBJECT'));
if($storage->getProxyType() instanceof ProxyTypeGroup)
{
$entityId = $storage->getEntityId();
$group = mb_strtoupper($group);
if(Loader::includeModule("socialnetwork"))
{
$listUserGroup = array();
if ($group == SONET_ROLES_OWNER)
{
$listGroup = CSocNetGroup::getByID($entityId);
if ($listGroup)
{
$listUserGroup[] = $listGroup["OWNER_ID"];
}
}
elseif ($group == SONET_ROLES_MODERATOR)
{
$dbRes = CSocNetUserToGroup::getList(
array(),
array(
"GROUP_ID" => $entityId,
"<=ROLE" => SONET_ROLES_MODERATOR,
"USER_ACTIVE" => "Y"
),
false,
false,
array("USER_ID")
);
while ($res = $dbRes->fetch())
{
$listUserGroup[] = $res["USER_ID"];
}
}
elseif ($group == SONET_ROLES_USER)
{
$dbRes = CSocNetUserToGroup::getList(
array(),
array(
"GROUP_ID" => $entityId,
"<=ROLE" => SONET_ROLES_USER,
"USER_ACTIVE" => "Y"
),
false,
false,
array("USER_ID")
);
while ($res = $dbRes->fetch())
{
$listUserGroup[] = $res["USER_ID"];
}
}
return $listUserGroup;
}
}
}
$group = intval($group);
if($group <= 0)
{
return array();
}
$userIds = array();
$filter = ['ACTIVE' => 'Y', 'IS_REAL_USER' => true];
if($group != 2)
{
$filter["GROUPS_ID"] = $group;
}
$query = CUser::getList("ID", "ASC", $filter, ['FIELDS' => ['ID']]);
while($user = $query->fetch())
{
$userIds[] = $user["ID"];
}
return $userIds;
}