function superuserEditUser($get)
{
    /***
     *
     * $get is the $_REQUEST superglobal.
     * Expects keys:
     *
     * @param string user -> The dblink/hardlink of the target user
     * @param string change_type -> The type of change to
     * enact. Available: delete | reset
     *
     ***/
    global $login_status, $default_user_database, $default_sql_user, $default_sql_password, $sql_url, $default_user_table, $db_cols;
    $udb = new DBHelper($default_user_database, $default_sql_user, $default_sql_password, $sql_url, $default_user_table, $db_cols);
    $uid = $login_status['detail']['uid'];
    # is caller an SU or admin?
    $suFlag = $login_status['detail']['userdata']['su_flag'];
    $isSu = boolstr($suFlag);
    $adminFlag = $login_status['detail']['userdata']['admin_flag'];
    $isAdmin = boolstr($adminFlag);
    if (!($isSu || $isAdmin)) {
        return array("status" => false, "error" => "INVALID_USER_PERMISSIONS", "human_error" => "You do not have enough permission to perform this action");
    }
    # Check the target
    $target = $get["user"];
    if (empty($target)) {
        return array("status" => false, "error" => "INVALID_TARGET_NO_USER_PROVIDED", "human_error" => "You must provide argument 'user'");
    }
    # Do they exist?
    if (!$udb->isEntry($target, 'dblink')) {
        return array("status" => false, "error" => "INVALID_TARGET_DOES_NOT_EXIST", "human_error" => "The requested user does not exist");
    }
    $uf = new UserFunctions($target, "dblink");
    $userData = $uf->getUser($target);
    try {
        # Is the target an SU or admin?
        $suFlag = $userData['userdata']['su_flag'];
        $targetIsSu = boolstr($suFlag);
        if ($targetIsSu) {
            return array("status" => false, "error" => "INVALID_TARGET_IS_SU", "human_error" => "You can not edit Superusers through this interface. Please contact your system administrator");
        }
        $adminFlag = $userData['userdata']['admin_flag'];
        $targetIsAdmin = boolstr($adminFlag);
        if ($targetIsAdmin && !$isSu) {
            return array("status" => false, "error" => "INVALID_TARGET_ADMIN_VS_ADMIN", "human_error" => "Sorry, only Superusers can edit adminstrators");
        }
        # Permission check complete.
        $editAction = strtolower($get["change_type"]);
        if (empty($editAction)) {
            return array("status" => false, "error" => "INVALID_CHANGE_TYPE_EMPTY", "human_error" => "You must provide an argument 'change_type'");
        }
        switch ($editAction) {
            case "delete":
                $dryRun = $uf->forceDeleteCurrentUser();
                $targetUid = $dryRun["target_user"];
                if ($targetUid != $target) {
                    # Should never happen
                    return array("status" => false, "error" => "MISMATCHED_TARGETS", "human_error" => "The system encountered an error confirming target for deletion", "obj_target" => $targetUid, "post_target" => $target);
                }
                return $uf->forceDeleteCurrentUser(true);
                break;
            case "reset":
                return array("status" => false, "error" => "Incomplete");
                break;
            default:
                return array("status" => false, "error" => "INVALID_CHANGE_TYPE", "human_error" => "We didn't recognize this change type", "change_type_provided" => $editAction);
        }
    } catch (Exception $e) {
        return array("status" => false, "error" => $e->getMessage(), "human_error" => "Application error", "args" => $get);
    }
}