$time); if (!$LOGGED_IN && !$open) redirect("begin.php"); else { setcookie("fid", $fid, $time + 3600); redirect("index.php"); } } else if ($_GET['del']) // Delete whole order { if (!$LOGGED_IN) die; $delid = intval($_GET['del']); $fid = intval($_GET['fid']); $ordq = q("SELECT * FROM flea_orders WHERE id = $delid AND flea_id = $fid LIMIT 1"); if (!rows()) redirect("index.php"); $ord = assoc($ordq); $first_name = $ord['first_name']; $last_name = $ord['last_name']; $phone = $ord['phone_nr']; $tables = $ord['tables']; $sqq = q("SELECT square FROM flea_bookings WHERE order_id = $delid AND flea_id = $fid"); while ($sq = assoc($sqq)) $sqs[] = $sq['square']; $squares = join(", ", $sqs); $delstr = urlencode("Varaus poistettu onnistuneesti. Jos poistit sen vahingossa, niin tässä paikkavarauksen tiedot vielä viimeisen kerran näkyvillä: $first_name $last_name Ruudut: $squares Pöytiä: $tables"."kpl Puh: $phone"); q("DELETE FROM flea_orders WHERE id = $delid AND flea_id = $fid LIMIT 1"); q("DELETE FROM flea_bookings WHERE order_id = $delid AND flea_id = $fid"); redirect("index.php?succeed=$delstr"); } else if ($_GET['del2']) // Delete a square from an order { if (!$LOGGED_IN) die; $delid = intval($_GET['del2']); $fid = intval($_GET['fid']); $ordid = mysql_result(q("SELECT order_id FROM flea_bookings WHERE square = $delid AND flea_id = $fid LIMIT 1"), 0, 0); $squares_q = q("SELECT square FROM flea_bookings WHERE order_id = $ordid AND flea_id = $fid ORDER BY square ASC"); $squares = 0; while ($square = assoc($squares_q)) { if ($square['square'] == $delid) continue; $sqlist[] = $square['square']; $squares++; } $all = join(", ", $sqlist); $order = assoc(q("SELECT * FROM flea_orders WHERE id = $ordid AND flea_id = $fid LIMIT 1")); $flea = assoc(q("SELECT * FROM flea_fleas WHERE id = $fid LIMIT 1")); $price = $squares*$flea['price_square'] + $order['tables']*$flea['price_table']; q("UPDATE flea_orders SET price = $price WHERE id = $ordid LIMIT 1"); q("DELETE FROM flea_bookings WHERE square = $delid AND flea_id = $fid LIMIT 1"); redirect("index.php?succeed=".urlencode("Ruutu nro. $delid poistettu onnistuneesti tilauksesta. Poistit ruudun $delid henkilön $order[first_name] $order[last_name] tilauksesta, joka käsittää nyt enää paikat $all. Tilauksen uudeksi hinnaksi muodostui $price"."€")); } else if ($_GET['canc'] == "1") // First section of modifying an order { $first_name = iconv("iso-8859-1", "utf-8", $_GET['first_name']); $last_name = iconv("iso-8859-1", "utf-8", $_GET['last_name']); $code = intval($_GET['code']); $fid = intval($_GET['fid']); $ordq = q("SELECT * FROM flea_orders WHERE first_name = ".esc($first_name)." AND last_name = ".esc($last_name)." AND code = $code AND flea_id = $fid LIMIT 1"); if (!rows()) die("35"); else { $order = assoc($ordq); $sqq = q("SELECT square FROM flea_bookings WHERE order_id = $order[id] AND flea_id = $fid ORDER BY square ASC"); if (!rows()) die("36"); while ($sq = assoc($sqq)) $sqs[] = $sq['square']; $squares = join(", ", $sqs); array_push($order, $squares); $fleaq = q("SELECT * FROM flea_fleas WHERE id = $order[flea_id] LIMIT 1"); if (!rows()) die("36"); $flea = assoc($fleaq); $price = $flea['price_square']*count($sqs) + $flea['price_table']*$order['tables']; foreach ($sqs as $square) $sq_dels[] = "$square"; $sq_del_str = join(" ", $sq_dels); $free_tables = $flea['tables'] - mysql_result(q("SELECT SUM(tables) FROM flea_orders WHERE flea_id = $fid"), 0, 0); $max_tables = $free_tables + $order['tables']; $dis_1 = ($max_tables < 1)? 'disabled ':''; $dis_2 = ($max_tables < 2)? 'disabled ':''; die("Varaus löytyi:
$order[first_name] $order[last_name]
Puh: $order[phone_nr]
Ruudut: $squares
Pöytiä: $order[tables]kpl
Hinta: $order[price]€

Uusi pöytämäärä: 0 1 2
Poista tilauksesta ruudut: $sq_del_str
Tilauksen uusi hinta: $price"."
"); } } else if ($_GET['mod'] == "1") // The other section of modifying an order { debugger("start"); $fid = intval($_GET['fid']); $price = intval($_GET['price']); $tables = intval($_GET['tables']); $order_id = intval($_GET['order_id']); $code = intval($_GET['code']); $adds = preg_split("/\,/", iconv("iso-8859-1", "utf-8", $_GET['adds'])); $dels = preg_split("/\,/", iconv("iso-8859-1", "utf-8", $_GET['dels'])); $first_name = iconv("iso-8859-1", "utf-8", $_GET['first_name']); $last_name = iconv("iso-8859-1", "utf-8", $_GET['last_name']); debugger("p1"); $ordq = q("SELECT * FROM flea_orders WHERE id = $order_id AND first_name = ".esc($first_name)." AND last_name = ".esc($last_name)." AND code = $code LIMIT 1"); if (!rows()) die("36"); $order = assoc($ordq); $fleaq = q("SELECT * FROM flea_fleas WHERE id = $fid LIMIT 1"); if (!rows()) die("36"); else $flea = assoc($fleaq); debugger("p2"); if (count($adds) > 0 && $adds[0] != "") foreach ($adds as $addition) q("INSERT INTO flea_bookings (flea_id, square, order_id) VALUES ($fid, $addition, $order_id)"); if (count($dels) > 0 && $dels[0] != "") foreach ($dels as $delete) q("DELETE FROM flea_bookings WHERE square = $delete AND flea_id = $fid LIMIT 1"); debugger("p3"); q("SELECT id FROM flea_bookings WHERE order_id = $order_id"); $squares = rows(); if (!$squares) { q("DELETE FROM flea_orders WHERE id = $order_id LIMIT 1"); debugger("p4"); die("38"); } else { debugger("p5"); $free_tables = $flea['tables'] - mysql_result(q("SELECT SUM(tables) FROM flea_orders WHERE flea_id = $fid"), 0, 0); debugger("p5.1"); $max_tables = $free_tables + $order['tables']; debugger("p5.2"); $tables = min($max_tables, $tables); debugger("p5.3"); $real_price = $tables*$flea['price_table'] + $squares*$flea['price_square']; debugger("p5.4 tables:$tables, price: $real_price, id: $order_id UPDATE orders SET tables = $tables, price = $real_price WHERE id = $order_id"); q("UPDATE flea_orders SET tables = $tables, price = $real_price WHERE id = $order_id"); debugger("p5.5"); debugger("p6"); die("37"); //36: error when handling, 37: success, 38: whole order deleted } } else if (isset($_GET['add'])) // Adding squares to an order { if (!$LOGGED_IN) die; $add = preg_split("/\,/", iconv("iso-8859-1", "utf-8", $_GET['add'])); $fid = intval($_GET['fid']); $ordid = intval($_GET['ordid']); $fleaq = q("SELECT * FROM flea_fleas WHERE id = $fid LIMIT 1"); if (!rows()) redirect("index.php?succeed=".urlencode("Virhe ruutuja tilaukseen lisättäessä. Yritä uudelleen.")); else $flea = assoc($fleaq); $ordq = q("SELECT * FROM flea_orders WHERE id = $ordid LIMIT 1"); if (!rows()) redirect("index.php?succeed=".urlencode("Virhe ruutuja tilaukseen lisättäessä. Yritä uudelleen.")); else $order = assoc($ordq); if (count($add) > 0 && $add[0] != "") { foreach ($add as $square) q("INSERT INTO flea_bookings (flea_id, square, order_id) VALUES ($fid, $square, $ordid)"); } else redirect("index.php?succeed=".urlencode("Virhe ruutuja tilaukseen lisättäessä. Yritä uudelleen.")); q("SELECT id FROM flea_bookings WHERE flea_id = $fid AND order_id = $ordid"); $squares = rows(); $price = $squares*$flea['price_square'] + $order['tables']*$flea['price_table']; q("UPDATE orders SET price = $price WHERE id = $ordid LIMIT 1"); redirect("index.php?succeed=".urlencode("Ruudut $_GET[add] lisätty henkilön $order[first_name] $order[last_name] tilaukseen.")); } else if (isset($_GET['delflea'])) { if (!$LOGGED_IN) die; $fid = intval($_GET['delflea']); q("DELETE FROM flea_bookings WHERE flea_id = $fid"); q("DELETE FROM flea_orders WHERE flea_id = $fid"); q("DELETE FROM flea_fleas WHERE id = $fid LIMIT 1"); redirect("fleas.php?a=2"); } function debugger($s) { // $f = fopen("debug.log", "a"); // fwrite($f, date("d.m.Y H:i:s ... ") . $s . "\n"); // fclose($f); }