Galette API documentation
Gestionnaire d’Adhérents en Ligne Extrêmement Tarabiscoté mais Tellement Efficace
1.0.0
Galette\Entity\Group Class Reference

Public Member Functions

 __construct (ArrayObject|int $args=null)
 
 load (int $id)
 
 loadFromName (string $group_name)
 
 remove (bool $cascade=false)
 
 isEmpty ()
 
 detach ()
 
 store ()
 
 isManager (Login $login)
 
 getId ()
 
 getLevel ()
 
 getFullName ()
 
 getParents ()
 
 getIndentName ()
 
 getName ()
 
 getMembers ()
 
 getManagers ()
 
 getGroups ()
 
 getParentGroup ()
 
 getCreationDate (bool $formatted=true)
 
 getMemberCount (bool $force=false)
 
 setName (string $name)
 
 canSetParentGroup (Group $group)
 
 setParentGroup (int $id)
 
 setMembers (array $members=[])
 
 setManagers (array $members=[])
 
 setLogin (Login $login)
 
 canEdit (Login $login)
 

Public Attributes

const TABLE = 'groups'
 
const PK = 'id_group'
 
const GROUPSUSERS_TABLE = 'groups_members'
 
const GROUPSMANAGERS_TABLE = 'groups_managers'
 
const MEMBER_TYPE = 0
 
const MANAGER_TYPE = 1
 

Detailed Description

Group entity

Author
Johan Cwiklinski johan.nosp@m.@x-t.nosp@m.nd.be

Constructor & Destructor Documentation

◆ __construct()

Galette\Entity\Group::__construct ( ArrayObject|int  $args = null)

Default constructor

Parameters
null|int|ArrayObject<string,int|string>$args Either a ResultSet row or its id for to load a specific group, or null to just instanciate object

Member Function Documentation

◆ canEdit()

Galette\Entity\Group::canEdit ( Login  $login)

Can current logged-in user edit group

Parameters
Login$loginLogin instance
Returns
boolean

◆ canSetParentGroup()

Galette\Entity\Group::canSetParentGroup ( Group  $group)

check if can Set parent group

Parameters
Group$groupParent group
Returns
boolean

◆ detach()

Galette\Entity\Group::detach ( )

Detach a group from its parent

Returns
boolean

◆ getCreationDate()

Galette\Entity\Group::getCreationDate ( bool  $formatted = true)

Get group creation date

Parameters
boolean$formattedReturn date formatted, raw if false
Returns
string

◆ getFullName()

Galette\Entity\Group::getFullName ( )

Get the full name of the group "foo / bar"

Returns
?string

◆ getGroups()

Galette\Entity\Group::getGroups ( )

Get subgroups

Returns
array<int, Group>

◆ getId()

Galette\Entity\Group::getId ( )

Get group id

Returns
integer

◆ getIndentName()

Galette\Entity\Group::getIndentName ( )

Get the indented short name of the group " >> bar"

Returns
?string

◆ getLevel()

Galette\Entity\Group::getLevel ( )

Get Level of the group

Returns
integer

◆ getManagers()

Galette\Entity\Group::getManagers ( )

Get groups managers

Returns
array<int, Adherent>

◆ getMemberCount()

Galette\Entity\Group::getMemberCount ( bool  $force = false)

Get member count

Parameters
boolean$forceForce members load, defaults to false
Returns
int

◆ getMembers()

Galette\Entity\Group::getMembers ( )

Get group members

Returns
array<int, Adherent>

◆ getName()

Galette\Entity\Group::getName ( )

Get group name

Returns
?string

◆ getParentGroup()

Galette\Entity\Group::getParentGroup ( )

Get parent group

Returns
Group|null

◆ getParents()

Galette\Entity\Group::getParents ( )

Get parents as an array

Returns
array<int, string>

◆ isEmpty()

Galette\Entity\Group::isEmpty ( )

Is group empty? (after first deletion try)

Returns
boolean

◆ isManager()

Galette\Entity\Group::isManager ( Login  $login)

Is current logged-in user manager of the group?

Parameters
Login$loginLogin instance
Returns
boolean

◆ load()

Galette\Entity\Group::load ( int  $id)

Loads a group from its id

Parameters
int$idthe identifier for the group to load
Returns
bool true if query succeed, false otherwise

◆ loadFromName()

Galette\Entity\Group::loadFromName ( string  $group_name)

Load group from its name

Parameters
string$group_nameGroup name
Returns
bool

◆ remove()

Galette\Entity\Group::remove ( bool  $cascade = false)

Remove specified group

Parameters
boolean$cascadeAlso remove members and managers
Returns
boolean

◆ setLogin()

Galette\Entity\Group::setLogin ( Login  $login)

Set login instance

Parameters
Login$loginLogin instance
Returns
self

◆ setManagers()

Galette\Entity\Group::setManagers ( array  $members = [])

Set managers

Parameters
Adherent[]$membersManagers list
Returns
bool
Exceptions
Throwable

◆ setMembers()

Galette\Entity\Group::setMembers ( array  $members = [])

Set members

Parameters
Adherent[]$membersMembers list
Returns
bool
Exceptions
Throwable

◆ setName()

Galette\Entity\Group::setName ( string  $name)

Set name

Parameters
string$nameGroup name
Returns
self

◆ setParentGroup()

Galette\Entity\Group::setParentGroup ( int  $id)

Set parent group

Parameters
int$idParent group identifier
Returns
self

◆ store()

Galette\Entity\Group::store ( )

Store the group

Returns
boolean

FIXME: also store members and managers?


The documentation for this class was generated from the following file: