public function stepUserGroups(StepState $state, array $stepConfig)
{
$groups = $this->getUserGroups();
$this->session->extra['groupConfig'] = $stepConfig;
foreach ($groups AS $oldId => $group)
{
switch ($oldId)
{
case $stepConfig['guest_group']: // guests
$this->logHandler(UserGroup::class, $oldId, User::GROUP_GUEST);
break;
case $stepConfig['member_group']: // registered
$this->logHandler(UserGroup::class, $oldId, User::GROUP_REG);
break;
case $stepConfig['admin_group']: // admins
$this->logHandler(UserGroup::class, $oldId, User::GROUP_ADMIN);
break;
case 6: // mods
$this->logHandler(UserGroup::class, $oldId, User::GROUP_MOD);
break;
default:
$title = isset($group['g_title']) && $group['g_title'] !== ''
? strip_tags($group['g_title'])
: ('Imported group ' . $oldId);
$userTitle = isset($group['g_title']) && $group['g_title'] !== ''
? $group['g_title']
: $title;
/** @var UserGroup $import */
$import = $this->newHandler(UserGroup::class);
$import->bulkSet([
'title' => $title,
'user_title' => $userTitle,
'display_style_priority' => 5,
'order' => (int) 1
]);
$import->setPermissions($this->calculateGroupPerms($group));
$import->save($oldId);
break;
}
$state->imported++;
}
return $state->complete();
}