function mods_create_order($start_data)
{
    $id = (int) $start_data['id'];
    $old = new order($id);
    // requantify the old order
    $old->data['quantity'] = $old->data['quantity'] - $start_data['quantity'];
    if (class_exists('stock_object')) {
        $stock = new stock_object();
        $stock->silent = true;
        $stock->remove_from_waiter($old->id, $old->data['quantity']);
    }
    $err = $old->set();
    if ($err) {
        return 1;
    }
    // quantity set error
    // creates the new order;
    $arr['quantity'] = 0;
    $newid = orders_create($ord->data['dishid'], $arr);
    if ($newid == 0) {
        return 1;
    }
    // order not created
    $newid = (int) $newid;
    $new = new order($newid);
    $olddata = $old->data;
    // copies old order's data
    // now unsets some vars that we don't want to copy
    unset($olddata['id']);
    unset($olddata['associated_id']);
    unset($olddata['price']);
    unset($olddata['timestamp']);
    $new->data = $olddata;
    //first set() without quantity for stock function
    $new->data['quantity'] = 0;
    $err = $new->set();
    $new->data['quantity'] = $start_data['quantity'];
    if (class_exists('stock_object')) {
        $stock = new stock_object();
        $stock->silent = true;
        $stock->remove_from_waiter($new->id, $new->data['quantity']);
    }
    $err = $new->set();
    if ($err) {
        return 1;
    }
    // Now we set $start_data[id] to the new order, because we're going to work on it, and leave the old one
    $GLOBALS['start_data']['id'] = $new->id;
    return 0;
}
function orders_service_fee_questions()
{
    $id = orders_service_fee_exists();
    $created = false;
    if (!$id) {
        $data['quantity'] = get_conf(__FILE__, __LINE__, "default_quantity");
        $id = orders_create(SERVICE_ID, $data);
        $created = true;
    }
    $start_data['id'] = $id;
    orders_edit($start_data, $created);
}
Example #3
0
         orders_list();
         break;
     } else {
         // found one, we directly assume that's the dish the user wanted
         $dishid = $num;
     }
 }
 $dish = new dish($dishid);
 if (!$dish->exists()) {
     $tmp = '<b><font color="Red">' . ucfirst(phr('DISH_DOES_NOT_EXIST')) . "</font></b><br>\n";
     $tpl->append('messages', $tmp);
     orders_list();
     break;
 }
 if ($dishid) {
     $id = orders_create($dishid, $start_data);
 }
 if ($id) {
     $err = 0;
 } else {
     $err = ERR_UNKNOWN;
 }
 status_report('CREATION', $err);
 if (isset($_REQUEST['from_category']) && $_REQUEST['from_category']) {
     if (isset($_REQUEST['back_to_cat']) && $_REQUEST['back_to_cat']) {
         $back_to_cat = true;
     } else {
         $back_to_cat = false;
     }
 }
 if ($back_to_cat) {