static function GetUserMaxPermission($ownerType, $ownerId, $userId, $iblockId)
{
$arParameters = array(
"PERMISSION" => "D",
"CHECK_CREATOR" => "N");
$ownerId = intval($ownerId);
$userId = intval($userId);
$iblockId = intval($iblockId);
if (!in_array($ownerType, array("user", "group")) || $ownerId <= 0 || $iblockId <= 0):
return $arParameters;
elseif ($GLOBALS["USER"]->IsAuthorized() && $GLOBALS["USER"]->GetID() == $userId && CSocNetUser::IsCurrentUserModuleAdmin()):
$arParameters["PERMISSION"] = "X";
return $arParameters;
endif;
$bBizproc = false;
if (CModule::IncludeModule("bizproc") && CIBlock::GetArrayByID($iblockId, "BIZPROC") != "N"):
$bBizproc = true;
endif;
$arParameters["PERMISSION"] = "X";
/*
if ($ownerType == "user"):
if ($userId == $ownerId):
$arParameters["PERMISSION"] = "X";
elseif (CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_USER,
$ownerId,
"files",
"write",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "W";
elseif ($bBizproc && CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_USER,
$ownerId,
"files",
"bizproc",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "U";
elseif (CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_USER,
$ownerId,
"files",
"write_limited",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "W";
$arParameters["CHECK_CREATOR"] = "Y";
elseif (CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_USER,
$ownerId,
"files",
"view",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "R";
endif;
elseif ($ownerType == "group"):
if (CSocNetUserToGroup::GetUserRole($userId, $ownerId) == SONET_ROLES_OWNER):
$arParameters["PERMISSION"] = "X";
elseif (CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_GROUP,
$ownerId,
"files",
"write",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "W";
elseif ($bBizproc && CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_GROUP,
$ownerId,
"files",
"bizproc",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "U";
elseif (CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_GROUP,
$ownerId,
"files",
"write_limited",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "W";
$arParameters["CHECK_CREATOR"] = "Y";
elseif (CSocNetFeaturesPerms::CanPerformOperation(
$userId,
SONET_ENTITY_GROUP,
$ownerId,
"files",
"view",
CSocNetUser::IsCurrentUserModuleAdmin())):
$arParameters["PERMISSION"] = "R";
endif;
endif;
*/
return $arParameters;
}