Files
bm/public_html/public/test/tickets/room.php
2025-09-24 13:26:28 +02:00

129 lines
3.7 KiB
PHP

<?php
/** loads and saves room data
*
* @version 2.0.0
* @since 2008-02-13
* @author Martin Lenzelbauer
*/
define("ROOT", "../");
require_once(ROOT."include/config.inc.php");
require_once(ROOT."include/db.inc.php");
require_once(ROOT."include/xml.inc.php");
switch($_GET['action']){
case "loadRoom": loadRoom($_GET['id']);
break;
case "saveRoom": saveRoom();
break;
case "loadReservations": loadReservations($_GET['dateId']);
break;
case "loadTickets": loadTickets($_GET['dateId']);
break;
}
/** loads room data
* @param id room id
*/
############################################
function loadRoom($id){
############################################
$query = sprintf("SELECT xml FROM bruckmuehle_ticketroom WHERE id = %d", sqlnum($id));
$result = dbQuery($query);
$line = mysqli_fetch_array($result, MYSQLI_ASSOC);
header('Content-Type: text/xml');
echo $line['xml'];
}
/** saves room data
*/
############################################
function saveRoom(){
############################################
if ($_POST['id'] == 0) {
$query = sprintf("INSERT INTO bruckmuehle_ticketroom (xml) VALUES (%s)", sqlstring(utf8_decode($_POST['xml'])));
dbQuery($query);
echo "&result=ok&id=" . mysql_insert_id() . "&";
return;
}
$query = sprintf("UPDATE bruckmuehle_ticketroom SET xml = %s WHERE id = %d",
sqlstring(utf8_decode($_POST['xml'])),
sqlnum($_POST['id']));
dbQuery($query);
echo "&result=ok&id=" . $_POST['id'] . "&";
}
/** loads all reservations for the given date
* @param dateId date id
*/
############################################
function loadReservations($dateId){
############################################
$xml = '<?xml version="1.0" encoding="utf-8"?>';
$xml .= '<reservations>';
$query = sprintf("SELECT * FROM bruckmuehle_ticket WHERE dateId = %d", sqlnum($dateId));
$result = dbQuery($query);
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$xml .= '<ticket seatIndex="' . $line['seatIndex'] . '" tableIndex="' . $line['tableIndex'] . '" rowIndex="' . $line['rowIndex'] . '" floorIndex="' . $line['floorIndex'] . '" />';
}
$xml .= '</reservations>';
header('Content-Type: text/xml');
echo $xml;
}
/** loads all tickets for the given date
* @param dateId date id
*/
############################################
function loadTickets($dateId){
############################################
$xml = '<?xml version="1.0" encoding="utf-8"?>';
$xml .= '<tickets>';
// load all orders for this date
$query = sprintf("SELECT * FROM bruckmuehle_ticketorder WHERE dateId = %d", sqlnum($dateId));
$result = dbQuery($query);
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
// load customer
$query = sprintf("SELECT firstname, surname FROM bruckmuehle_ticketcustomer WHERE id = %d", sqlnum($line['customerId']));
$customer = dbQuery($query);
$c = mysqli_fetch_array($customer, MYSQLI_ASSOC);
$xml .= '<order id="' . $line['id'] . '" paid="' . $line['paid'] . '" paymethod="' . $line['payMethod'] . '" voucherValue="' . $line['voucherValue'] . '" ';
$xml .= 'firstname="' . xmlstring($c['firstname']) . '" surname="' . xmlstring($c['surname']) . '">';
// load all tickets of this order
$query = sprintf("SELECT * FROM bruckmuehle_ticket WHERE orderId = %d", sqlnum($line['id']));
$tickets = dbQuery($query);
while($t = mysqli_fetch_array($tickets, MYSQLI_ASSOC)){
$xml .= '<ticket seatIndex="' . $t['seatIndex'] . '" tableIndex="' . $t['tableIndex'] . '" rowIndex="' . $t['rowIndex'] . '" floorIndex="' . $t['floorIndex'] . '" category="' . $t['category'] . '" reduction="' . $t['reductionId'] . '" />';
}
$xml .= '</order>';
}
$xml .= '</tickets>';
header('Content-Type: text/xml');
echo $xml;
}
?>