- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/iblockbizproc.php
- Класс: CIBlockDocumentWebdav
- Вызов: CIBlockDocumentWebdav::GetUserGroups
static function GetUserGroups($documentType = null, $documentId = null, $userId = 0)
{
static $arUserGroups = array();
static $arDocumentInfo = array();
$documentType = ($documentType == null || empty($documentType) ? null : $documentType);
if ($documentType != null)
$documentType = trim(is_array($documentType) ? $documentType[2] : $documentType);
$userId = intval($userId);
$documentIdReal = $documentId = (is_array($documentId) ? $documentId[2] : $documentId);
$documentId = intval($documentId);
if (!array_key_exists($userId, $arUserGroups))
$arUserGroups[$userId] = ($userId == $GLOBALS["USER"]->GetID() ?
$GLOBALS["USER"]->GetUserGroupArray() : CUser::GetUserGroup($userId));
$result = $arUserGroups[$userId];
if ($documentId > 0 && $userId > 0)
{
if (!array_key_exists($documentId, $arDocumentInfo))
{
$dbElementList = CIBlockElement::GetList(
array(),
array("ID" => $documentId, "SHOW_NEW"=>"Y", "SHOW_HISTORY" => "Y"),
false,
false,
array("ID", "IBLOCK_ID", "CREATED_BY")
);
$arDocumentInfo[$documentId] = $dbElementList->Fetch();
}
if ($arDocumentInfo[$documentId]["CREATED_BY"] == $userId)
$result[] = "author";
}
return $result;
}