/**
* 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;
}