132 lines
4.0 KiB
PHP
132 lines
4.0 KiB
PHP
<?php
|
|
/** loads event 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");
|
|
|
|
dbQuery("SET NAMES utf8");
|
|
|
|
switch($_GET['action']){
|
|
case "loadEvent": loadEvent($_GET['id']);
|
|
break;
|
|
case "loadDates": loadDates($_GET['id']);
|
|
break;
|
|
}
|
|
|
|
|
|
/** loads event data
|
|
* @param id event id
|
|
*/
|
|
############################################
|
|
function loadEvent($id){
|
|
############################################
|
|
|
|
$query = sprintf("SELECT * FROM bruckm_ticketevent WHERE id = %d", $id);
|
|
$result = dbQuery($query);
|
|
$line = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
|
|
$xml = '<?xml version="1.0" encoding="utf-8"?>';
|
|
$xml .= '<event id="' . $line['id'] . '" title="' . xmlstring($line['name']) . '" reservationtype="' . $line['reservationType'] . '" />';
|
|
|
|
header('Content-Type: text/xml');
|
|
echo $xml;
|
|
|
|
}
|
|
|
|
|
|
/** loads all dates of the event
|
|
* @param id event id
|
|
*/
|
|
############################################
|
|
function loadDates($id){
|
|
############################################
|
|
|
|
// load all reductions
|
|
$allReductions = array();
|
|
$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)){
|
|
$allReductions[] = $line;
|
|
}
|
|
foreach($allReductions as $i=>$r){
|
|
$query = sprintf("SELECT * FROM bruckm_ticketreduction WHERE id = %d", $r['classId']);
|
|
$result = dbQuery($query);
|
|
$line = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
$allReductions[$i]['type'] = $line['type'];
|
|
$allReductions[$i]['value'] = $line['value'];
|
|
}
|
|
|
|
// load dates
|
|
if($_GET['minTimeToEvent'] > 0){
|
|
$query = sprintf("SELECT * FROM bruckm_ticketdate WHERE `date` > DATE_ADD(NOW(), INTERVAL %d HOUR) AND eventId = %d ORDER BY `date` ASC",
|
|
sqlnum($_GET['minTimeToEvent']),
|
|
sqlnum($id));
|
|
}
|
|
else{
|
|
/*$query = sprintf("SELECT * FROM bruckm_ticketdate WHERE `date` > DATE_ADD(NOW(), INTERVAL -1 HOUR) AND eventId = %d ORDER BY `date` ASC",
|
|
sqlnum($id));*/
|
|
$query = sprintf("SELECT * FROM bruckm_ticketdate WHERE eventId = %d ORDER BY `date` ASC",
|
|
sqlnum($id));
|
|
}
|
|
$result = dbQuery($query);
|
|
|
|
$xml = '<?xml version="1.0" encoding="utf-8"?>';
|
|
$xml .= '<dates>';
|
|
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
$xml .= '<date id="' . $line['id'] . '" eventid="' . $line['eventId'] . '" timestamp="' . strtotime($line['date']) . '" ';
|
|
$xml .= 'room="' . $line['room'] . '" seats="' . $line['seats'] .'" ';
|
|
$xml .= 'seatsA="' . $line['seatsA'] . '" seatsB="' . $line['seatsB'] . '" seatsC="' . $line['seatsC'] . '" ';
|
|
$entries = explode("\t", $line['entries']);
|
|
$xml .= 'a="' . $entries[0] . '" ';
|
|
if(sizeof($entries) > 1) $xml .= 'b="' . $entries[1] . '" ';
|
|
if(sizeof($entries) > 2) $xml .= 'c="' . $entries[2] . '" ';
|
|
$workingDays = intval((strtotime($line['date']) - time()) / 60 / 60 / 24);
|
|
$query = sprintf("SELECT * FROM bruckm_ticketcalendar WHERE holiday <= %s AND holiday > %s",
|
|
sqlstring($line['date']),
|
|
sqlstring(date("Y-m-d")));
|
|
$result2 = dbQuery($query);
|
|
$workingDays -= mysqli_num_rows($result2);
|
|
$xml .= 'workingdays="' . $workingDays . '" >';
|
|
$reductions = explode("\t", $line['reductions']);
|
|
foreach($allReductions as $r){
|
|
$xml .= '<reduction name="' . trim($r['name']) . '" type="' . $r['type'] . '" value="' . $r['value'] . '" id="' . $r['classId'] . '" ';
|
|
if (in_array($r['id'], $reductions)) { // 'id' is flexicon id!
|
|
// extra check for "frühbucherbonus"
|
|
if ($r['type'] == '14d') {
|
|
if (strtotime($line['date']) > time() + 9 * 86400) {
|
|
$xml .= 'enabled="true"';
|
|
}
|
|
else {
|
|
$xml .= 'enabled="false"';
|
|
}
|
|
}
|
|
else {
|
|
$xml .= 'enabled="true"';
|
|
}
|
|
}
|
|
else{
|
|
$xml .= 'enabled="false"';
|
|
}
|
|
$xml .= ' />';
|
|
}
|
|
$xml .= '</date>';
|
|
}
|
|
|
|
$xml .= '</dates>';
|
|
|
|
header('Content-Type: text/xml');
|
|
echo $xml;
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|