trait GroupCommon

Group limits common between total and timed

The extra complexity with groups is because they operate as sums of their component accounts, and must manage updating themselves when account memberships are changed.

Group limits apply to its component accounts individually, not the group as a whole.

Methods

static string
GetObjectClass()

No description

string
GetGroupID()

Returns the ID of the limited group

GetGroup()

Returns the limited group object

int
GetPriority()

Returns the inheritance priority of the limited group

bool
canTrackItems()

No description

bool
canTrackDLStats()

No description

bool
IsCounterOverLimit(string $name, int $delta = 0)

No description

void
BaseProcessAccountChange(Base $aclim, bool $add)

Updates the group's stats by adding or subtracting an account's stats

static string
GetBaseUsage()

No description

static int|null
GetTrackParam(Input $input, string $name)

No description

void
SetBaseLimits(Input $input)

No description

static GroupCommon
ConfigLimits(ObjectDatabase $database, Group $group, Input $input)

Configures limits for the given group with the given input

void
Delete()

Deletes the group limits and potentially removes account limits

array
GetClientObject(bool $isadmin = false)

No description

Details

at line 41
static protected string GetObjectClass()

No description

Return Value

string

at line 44
string GetGroupID()

Returns the ID of the limited group

Return Value

string

at line 47
Group GetGroup()

Returns the limited group object

Return Value

Group

at line 50
int GetPriority()

Returns the inheritance priority of the limited group

Return Value

int

at line 52
protected bool canTrackItems()

No description

Return Value

bool

at line 53
protected bool canTrackDLStats()

No description

Return Value

bool

at line 56
protected bool IsCounterOverLimit(string $name, int $delta = 0)

No description

Parameters

string $name
int $delta

Return Value

bool

at line 63
protected void BaseProcessAccountChange(Base $aclim, bool $add)

Updates the group's stats by adding or subtracting an account's stats

Parameters

Base $aclim

the account limits

bool $add

true to add, false to subtract

Return Value

void

at line 73
static string GetBaseUsage()

No description

Return Value

string

at line 76
static protected int|null GetTrackParam(Input $input, string $name)

No description

Parameters

Input $input
string $name

Return Value

int|null

at line 84
protected void SetBaseLimits(Input $input)

No description

Parameters

Input $input

Return Value

void

at line 104
static GroupCommon ConfigLimits(ObjectDatabase $database, Group $group, Input $input)

Configures limits for the given group with the given input

Parameters

ObjectDatabase $database
Group $group
Input $input

Return Value

GroupCommon

at line 113
void Delete()

Deletes the group limits and potentially removes account limits

Return Value

void

See also

\Andromeda\Apps\Files\Limits\AccountCommon::ProcessGroupRemove()

at line 126
array GetClientObject(bool $isadmin = false)

No description

Parameters

bool $isadmin

Return Value

array

add: {features:{track_items:?enum,track_dlstats:?enum}}

See also

Total::GetClientObject
Timed::GetClientObject