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); }
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) {