internal PermissionValue[] GetAllPermissions(string path, IUser user, bool isCreator, bool isLastModifier)
{
if (user.Id == -1)
return GetPermissionValues(-1, 0);
//==>
var principals = GetPrincipals(user, isCreator, isLastModifier);
var allow = 0;
var deny = 0;
var firstPermInfo = GetFirstInfo(path);
if (firstPermInfo.Path == path)
firstPermInfo.AggregateLevelOnlyValues(principals, ref allow, ref deny);
for (var permInfo = firstPermInfo; permInfo != null; permInfo = permInfo.Inherits ? permInfo.Parent : null)
permInfo.AggregateEffectiveValues(principals, ref allow, ref deny);
//==<
return GetPermissionValues(allow, deny);
}
internal PermittedLevel GetPermittedLevel(string path, IUser user, bool isCreator, bool isLastModifier)