176 lines
4.1 KiB
PHP
176 lines
4.1 KiB
PHP
<?php
|
|
/** loads culture card data
|
|
*
|
|
* @version 2.1.0
|
|
* @since 2008-04-19
|
|
* @author Martin Lenzelbauer
|
|
*
|
|
*/
|
|
define("ROOT", "../");
|
|
require_once(ROOT."include/config.inc.php");
|
|
require_once(ROOT."include/db.inc.php");
|
|
|
|
if(DEBUG){
|
|
foreach($_GET as $i=>$j){
|
|
$_POST[$i] = urldecode($j);
|
|
}
|
|
}
|
|
|
|
|
|
switch($_GET['action']){
|
|
case "load": load();
|
|
break;
|
|
case "save": save();
|
|
break;
|
|
case "export": exportForExcel();
|
|
break;
|
|
case "cleanUp": cleanUp();
|
|
break;
|
|
case "add": add();
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
/** loads the culture card data
|
|
*/
|
|
########################################
|
|
function load(){
|
|
########################################
|
|
|
|
$query = sprintf("SELECT * FROM bruckm_ticketculturecard WHERE id = %d", sqlnum($_REQUEST['id']));
|
|
$result = dbQuery($query);
|
|
|
|
$xml = '<?xml version="1.0" encoding="utf-8"?>';
|
|
$xml .= '<culturecard>';
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
$xml .= '<data owner="' . $line['owner'] . '" tickets="' . $line['tickets'] . '" reductions="' . $line['reductions'] . '" />';
|
|
}
|
|
$xml .= '</culturecard>';
|
|
|
|
header('Content-Type: text/xml');
|
|
echo $xml;
|
|
|
|
}
|
|
|
|
|
|
/** saves the culture card data
|
|
*/
|
|
########################################
|
|
function save(){
|
|
########################################
|
|
|
|
$query = sprintf("INSERT INTO bruckm_ticketculturecard (id, owner, tickets, reductions) VALUES (%d, %s, %d, %d)
|
|
ON DUPLICATE KEY UPDATE owner = %s, tickets = %d, reductions = %d",
|
|
sqlnum($_POST['id']),
|
|
sqlstring($_POST['owner']),
|
|
sqlnum($_POST['tickets']),
|
|
sqlnum($_POST['reductions']),
|
|
sqlstring($_POST['owner']),
|
|
sqlnum($_POST['tickets']),
|
|
sqlnum($_POST['reductions']));
|
|
$result = dbQuery($query);
|
|
|
|
echo "&ok=true&";
|
|
|
|
}
|
|
|
|
|
|
/** adds a new kulturcard
|
|
*/
|
|
########################################
|
|
function add(){
|
|
########################################
|
|
$file = $_GET['id'] . ".sql";
|
|
if (!file_exists($file)) {
|
|
echo "Ungültige URL: Die Kulturcard kann nicht gespeichert werden!";
|
|
return;
|
|
}
|
|
|
|
$f = fopen($file, "r");
|
|
$query = fread($f, filesize($file));
|
|
fclose($f);
|
|
unlink($file);
|
|
|
|
dbQuery($query);
|
|
echo "Die Kulturcard wurde in der Datenbank gespeichert!";
|
|
}
|
|
|
|
|
|
/** exports the list of culture cards for MS Excel
|
|
*/
|
|
######################################
|
|
function exportForExcel(){
|
|
######################################
|
|
|
|
/*$minDate = date("ymd") - 10000; // only culture cards that are less than 1 year old
|
|
$query = sprintf("SELECT * FROM bruckm_ticketculturecard WHERE id > %d ORDER BY id ASC",
|
|
sqlnum($minDate . "000"));*/
|
|
$query = "SELECT * FROM bruckm_ticketculturecard ORDER BY id ASC";
|
|
$result = dbQuery($query);
|
|
|
|
$out = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\">";
|
|
$out .= "<tr>";
|
|
$out .= "<th><b>Kulturcard #</b></th>";
|
|
$out .= "<th><b>Name</b></th>";
|
|
#$out .= "<th><b>Adresse</b></th>";
|
|
#$out .= "<th><b>PLZ</b></th>";
|
|
#$out .= "<th><b>Ort</b></th>";
|
|
$out .= "<th><b>Gratis Tickets</b></th>";
|
|
$out .= "<th><b>Ermäßigte Tickets</b></th>";
|
|
$out .= "<th><b>Ausstellungsdatum</b></th>";
|
|
$out .= "</tr>";
|
|
|
|
while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
|
|
$id = sprintf("%012d", $line['id']);
|
|
$out .= "<tr>";
|
|
$out .= "<td>$id</td>";
|
|
$out .= "<td>$line[owner]</td>";
|
|
$out .= "<td>$line[tickets]</td>";
|
|
$out .= "<td>$line[reductions]</td>";
|
|
$out .= "<td>" . id2date($id) . "</td>";
|
|
$out .= "</tr>";
|
|
}
|
|
|
|
/*
|
|
$f = fopen("export.xls", "w");
|
|
fwrite($f, $out);
|
|
fclose($f);
|
|
chmod("export.xls", 0777);
|
|
|
|
echo "&ok=ok&";
|
|
*/
|
|
|
|
header("Content-Type: application/vnd-ms-excel");
|
|
header("Content-Disposition: attachment; filename=\"export.xls\"");
|
|
header('Pragma: no-cache');
|
|
header('Expires: 0');
|
|
echo $out;
|
|
exit();
|
|
}
|
|
|
|
|
|
/** deletes the exported xls after download
|
|
*/
|
|
#########################################
|
|
function cleanUp() {
|
|
#########################################
|
|
@unlink("export.xls");
|
|
echo "&ok=ok&";
|
|
}
|
|
|
|
|
|
/** converts the id to a date
|
|
*/
|
|
#########################################
|
|
function id2date($id){
|
|
#########################################
|
|
|
|
$y = "2" . substr($id, 2, 3);
|
|
$m = substr($id, 5, 2);
|
|
$d = substr($id, 7, 2);
|
|
return "$d.$m.$y";
|
|
|
|
}
|
|
|
|
?>
|