function getItems($oid)
{
    global $SETTINGS;
    $order = dbGetOrder($oid);
    $items = dbGetItems($oid);
    $packages = dbGetPackages();
    $pieces = dbGetPieces();
    $retarray = array();
    foreach ($items as $item) {
        $row = array();
        $row["PKID"] = $item["PKID"];
        $row["Quantity"] = $item["Quantity"];
        $row["Name"] = findPackageName($item["PKID"], $packages);
        $row["Personality"] = $item["Personality"];
        if ($item["Personality"]) {
            $row["Personality"] = findPieceName($item["Personality"], $pieces);
        }
        $row["Price"] = findPackagePrice($item["PKID"], $packages);
        $retarray[] = $row;
    }
    // add the charity chapr marketing kit if needed
    if ($order["Charity"]) {
        $row = array();
        $row["PKID"] = $SETTINGS["CharityKitPKID"];
        $row["Quantity"] = 1;
        $row["Name"] = findPackageName($row["PKID"], $packages);
        $row["Personality"] = null;
        $retarray[] = $row;
    }
    return $retarray;
}
function takeOrderFromDataBase($OID)
{
    $data = array();
    $data["OID"] = $OID;
    $order = dbGetOrder($OID);
    $data["customerONotes"] = $order["CustomerONotes"];
    $data["adminONotes"] = $order["AdminONotes"];
    $data["isExpedited"] = $order["IsExpedited"];
    $data["orderedDate"] = date("m/d/Y", $order["OrderedDate"]);
    // note that ShippingFee, ExpediteFee, and Discount are null
    // if not specified - to distinquish them from being 0.00
    // translate the null to a blank string here, then back to
    // null on the way out of the form.
    $data["shippingFee"] = $order["ShippingFee"];
    if ($data["shippingFee"] === null) {
        $data["shippingFee"] = "";
    }
    $data["expediteFee"] = $order["ExpediteFee"];
    if ($data["expediteFee"] === null) {
        $data["expediteFee"] = "";
    }
    $data["discount"] = $order["Discount"];
    if ($data["discount"] === null) {
        $data["discount"] = "";
    }
    $items = dbGetItems($OID);
    $i = 1;
    foreach ($items as $item) {
        $data["iid{$i}"] = $item["IID"];
        $data["personality{$i}"] = $item["Personality"];
        $data["packages{$i}"] = $item["PKID"];
        $data["quantity{$i}"] = $item["Quantity"];
        $i++;
    }
    return $data;
}
function lockInFees($oid)
{
    global $SETTINGS;
    $changed = false;
    $mod = array();
    $order = dbGetOrder($oid);
    if ($order["IsExpedited"] && $order["ExpediteFee"] === null) {
        $changed = true;
        $mod["ExpediteFee"] = $SETTINGS["ExpediteFeeDefault"];
    }
    if ($order["ShippingFee"] === null) {
        $changed = true;
        $items = dbGetItems($oid);
        // TODO - this isn't a GREAT way to calculate shipping because
        //        it will also count little things.
        $count = 0;
        foreach ($items as $item) {
            $count += $item["Quantity"];
        }
        $mod["ShippingFee"] = $count * $SETTINGS["ShippingPerChapR"];
    }
    dbOrderModify($oid, $mod);
}
function dbOrderDuplicate($oid)
{
    $order = dbGetOrder($oid);
    if (!$order) {
        return null;
    }
    // remove the OID from $order, before insertion
    unset($order["OID"]);
    $newoid = dbInsertNewOrder($order["CID"], $order);
    if (!$newoid) {
        dbOrderDelete($newoid);
        return null;
    }
    $items = dbGetItems($oid);
    if ($items) {
        foreach ($items as $item) {
            unset($item["IID"]);
            $newiid = dbInsertNewItem($newoid, $item);
            if (!$newiid) {
                dbOrderDelete($newoid);
                // this still leaves orphan items
                return null;
            }
        }
    }
    return $newoid;
}
function getItems($oid)
{
    $items = dbGetItems($oid);
    $packages = dbGetPackages();
    $pieces = dbGetPieces();
    $retarray = array();
    foreach ($items as $item) {
        $row = array();
        $row["Quantity"] = $item["Quantity"];
        $row["Name"] = findPackageName($item["PKID"], $packages);
        $row["Personality"] = findPieceName($item["Personality"], $pieces);
        $row["Price"] = findPackagePrice($item["PKID"], $packages);
        $retarray[] = $row;
    }
    return $retarray;
}