} elseif ($userid) {
    if ($userid[0] == 'g') {
        $gid = substr($userid, 1);
        $group = sotf_Group::getById($gid);
        $users[$userid] = $group->get('name');
        $smarty->assign("USERS", $users);
    } else {
        $username = sotf_User::getUsername($userid);
        $users[$userid] = $username;
        $smarty->assign("USERS", $users);
    }
} elseif ($pattern) {
    $smarty->assign("PATTERN", $pattern);
    $users = sotf_User::findUsers($pattern, $prefix);
    debug("USERS", $users);
    $groups = sotf_Group::findGroups($pattern, $prefix);
    debug("GROUPS", $groups);
    if (count($users) + count($groups) > 50) {
        $smarty->assign("TOO_MANY_MATCHES", count($users) + count($groups));
    } elseif (empty($users) and empty($groups)) {
        $smarty->assign("NO_MATCHES", 1);
    } else {
        $smarty->assign("USERS", $users);
        $smarty->assign("GROUPS", $groups);
    }
}
checkPerm($objectid, "authorize");
if ($save) {
    if ($userid == $user->id) {
        // trying to change permissions for self
        //if(!hasPerm($objectid, 'admin'))