}
    // Delete relation.
    foreach ($user_groups as $user_group) {
        if (isset($_POST["delete_{$user_group['user']}_{$user_group['group']}"])) {
            user_groups_delete($user_group['user'], $user_group['group']);
            $reload_user_groups = true;
        }
    }
    if ($reload_user_groups) {
        $groups = groups_get_all();
        $users = users_get_all();
        $user_groups = user_groups_get_all();
    }
    // Generate html code of edit user groups page and display it.
    $smarty->assign('show_control', is_admin() || is_mod());
    $smarty->assign('boards', boards_get_all());
    $smarty->assign('groups', $groups);
    $smarty->assign('users', $users);
    $smarty->assign('user_groups', $user_groups);
    $smarty->display('edit_user_groups.tpl');
    // Cleanup.
    DataExchange::releaseResources();
    Logging::close_log();
    exit(0);
} catch (KotobaException $e) {
    // Cleanup.
    DataExchange::releaseResources();
    Logging::close_log();
    display_exception_page($smarty, $e, is_admin() || is_mod());
    exit(1);
}