'; // load tonight's date $query = sprintf("SELECT * FROM bruckm_ticketdate WHERE DATE(date) = CURDATE()"); $result = dbQuery($query); if($date = mysqli_fetch_array($result, MYSQLI_ASSOC)) { // load event data $query = sprintf("SELECT name, reservationType FROM bruckm_ticketevent WHERE id = %d", $date['eventId']); $result = dbQuery($query); $event = mysqli_fetch_array($result, MYSQLI_ASSOC); $xml .= ''; $xml .= ' 1) $xml .= 'b="' . $entries[1] . '" '; if(sizeof($entries) > 2) $xml .= 'c="' . $entries[2] . '" '; $xml .= 'workingdays="0">'; // load all reductions $query = sprintf("SELECT id, classId, name FROM bruckm_index WHERE class = 'TicketReduction' ORDER BY name ASC"); $result = dbQuery($query); while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){ $query = sprintf("SELECT * FROM bruckm_ticketreduction WHERE id = %d", $line['classId']); $red = mysqli_fetch_array(dbQuery($query), MYSQLI_ASSOC); $xml .= ''; } $xml .= ''; // load room if ($event['reservationType'] == "seat") { $query = sprintf("SELECT xml FROM bruckm_ticketroom WHERE id = %d", $date['room']); $result = dbQuery($query); $room = mysqli_fetch_array($result, MYSQLI_ASSOC); $xml .= substr($room['xml'], strpos($room['xml'], "'; } $xml .= ''; $xml .= ''; } header('Content-Type: text/xml'); echo $xml; } /** transfers the local data to the web database */ ############################################ function saveData() { ############################################ if(empty($_POST['tickets'])) { echo "&result=ok&"; return; } // deserialize ticket data $tickets = explode("\n", $_POST['tickets']); foreach($tickets as $i=>$ticket){ $tickets[$i] = explode("\t", $ticket); } // decrease seat number (simple reservation) if($_POST['reservationType'] == "simple"){ $query = sprintf("UPDATE bruckm_ticketdate SET seats = seats - %d WHERE id = %d", sqlnum(sizeof($tickets)), sqlnum($_POST['dateId'])); dbQuery($query); } // save order $ticketIds = array(); $query = sprintf("INSERT INTO bruckm_ticketorder (customerId, dateId, paid, payMethod, orderDate, voucherValue, voucherInfo) VALUES (%d, %d, %s, %s, NOW(), %d, %s)", sqlnum(DEFAULT_CUSTOMER_ID), sqlnum($_POST['dateId']), sqlstring("true"), sqlstring("instant"), sqlnum(0), sqlstring("")); dbQuery($query); $orderId = mysql_insert_id(); foreach($tickets as $i=>$ticket){ $query = sprintf("INSERT INTO bruckm_ticket (category, reductionId, cultureCardId, seat, row, floor, room, seatIndex, rowIndex, floorIndex, orderId, dateId) VALUES (%s, %d, %d, %d, %d, %s, %s, %d, %d, %d, %d, %d)", sqlstring($ticket[1]), sqlnum($ticket[2]), sqlnum($ticket[3]), sqlnum($ticket[4]), sqlnum($ticket[5]), sqlstring($ticket[6]), sqlstring($ticket[7]), sqlnum($ticket[8]), sqlnum($ticket[9]), sqlnum($ticket[10]), sqlnum($orderId), sqlnum($_POST['dateId'])); dbQuery($query); $ticketIds[] = mysql_insert_id(); // culture card if($ticket[3] != 0){ $query = sprintf("UPDATE bruckm_ticketculturecard SET tickets = tickets - 1 WHERE id = %d", sqlnum($ticket[3])); dbQuery($query); // auto-insert non existent culture card if(mysql_affected_rows() == 0){ $query = sprintf("INSERT INTO bruckm_ticketculturecard (id, owner, tickets) VALUES (%d, %s, 5)", sqlnum($ticket[3]), sqlstring("id:" . $_POST['customerId'])); dbQuery($query); } // check if all free tickets are used else{ $query = sprintf("SELECT tickets FROM bruckm_ticketculturecard WHERE id = %d", sqlnum($ticket[3])); $result = dbQuery($query); $line = mysqli_fetch_array($result, MYSQLI_ASSOC); if($line['tickets'] == 0){ sendCultureCardMemo($ticket[3]); } } } } echo "&result=ok&"; } /** sends a memo that a culture card has expired * @param serial culture card serial number */ ############################################ function sendCultureCardMemo($serial){ ############################################ $to = OFFICE; $subject = "Kulturcard Erinnerung"; $message = "Die Kulturcard $serial wurde aufgebraucht."; $from = "FROM: tickets@bruckmuehle.at"; @mail($to, $subject, $message, $from); } ?>