Back to UserGroupsHelper class

Method populateGroupData

public \stdClass
populateGroupData
(mixed $group)
Populate data for a specific user group.
Parameters
  • \stdClass $group Group
Returns
  • \stdClass
Since
  • 3.6.3

Method populateGroupData - Source code

/**
 * Populate data for a specific user group.
 *
 * @param   \stdClass  $group  Group
 *
 * @return  \stdClass
 *
 * @since   3.6.3
 */
public function populateGroupData($group)
{
    if (!$group || property_exists($group, 'path')) {
        return $group;
    }
    $parentId = (int) $group->parent_id;
    if ($parentId === 0) {
        $group->path = array($group->id);
        $group->level = 0;
        return $group;
    }
    $parentGroup = $this->has($parentId) ? $this->get($parentId) : $this->load($parentId);
    if (!property_exists($parentGroup, 'path')) {
        $parentGroup = $this->populateGroupData($parentGroup);
    }
    $group->path = array_merge($parentGroup->path, array($group->id));
    $group->level = \count($group->path) - 1;
    return $group;
}