$success = false;
            }
            if (!$success) {
                transactionFailed('', "error in query");
            }
        }
        // Now delete permissions from the area
        try {
            $permissionAreaDeleteQuery = $db->prepare("DELETE FROM `permissionArea` WHERE `area` IN (:area) AND `permissionId` IN (:ids)");
            $success = $permissionAreaDeleteQuery->execute(array(':area' => $_POST['areaId'], ':ids' => $idString));
        } catch (PDOException $e) {
            $success = false;
        }
        if (!$success) {
            transactionFailed('', "error in query");
        }
    }
    // Now remove all links to the app for the area
    try {
        $linkDeleteQuery = $db->prepare("DELETE FROM `link` WHERE `area` IN (:area) AND `appId` = :app");
        $success = $linkDeleteQuery->execute(array(':area' => $_POST['areaId'], ':app' => $_POST['appId']));
    } catch (PDOException $e) {
        $success = false;
    }
    if ($success) {
        echo json_encode(array('status' => "OK", 'query' => ''));
        $db->commit();
    } else {
        transactionFailed('', "error in query");
    }
}
            } else {
                $permission = NULL;
            }
            // Set the remaining options
            $newTab = explode(",", $_POST['newTab']);
            $parent = explode(",", $_POST['parent']);
            $visible = explode(",", $_POST['visible']);
        }
        $linkInsertString .= "(:visible" . $x . ", :values" . $x . ", :app" . $x . ", :name" . $x . ", :permission" . $x . ", :newTab" . $x . ", :sortOrder" . $x . ", :parent" . $x . ", :guid" . $x . "),";
        $linkInsertParams[':visible' . $x] = $visible[$x];
        $linkInsertParams[':values' . $x] = $values[$x];
        $linkInsertParams[':app' . $x] = $_POST['appId'];
        $linkInsertParams[':name' . $x] = $name[$x];
        $linkInsertParams[':permission' . $x] = $permission;
        $linkInsertParams[':newTab' . $x] = $newTab[$x];
        $linkInsertParams[':sortOrder' . $x] = $sortOrder;
        $linkInsertParams[':parent' . $x] = $parent[$x] == "" || $parent[$x] == "NULL" ? NULL : $parent[$x];
        $linkInsertParams[':guid' . $x] = newGuid();
    }
    $linkInsertString = substr($linkInsertString, 0, -1);
    try {
        $linkInsertQuery = $db->prepare($linkInsertString);
        $success = $linkInsertQuery->execute($linkInsertParams);
    } catch (PDOException $e) {
        transactionFailed($linkInsertString, "error in query");
    }
    if ($success) {
        echo json_encode(array('status' => "OK", 'query' => $linkInsertString, 'linkId' => $db->lastInsertId()));
        $db->commit();
    }
}