388 lines
13 KiB
PHP
388 lines
13 KiB
PHP
<?php
|
|
define("ROOT", "../");
|
|
require_once(ROOT."include/config.inc.php");
|
|
require_once(ROOT."include/db.inc.php");
|
|
|
|
########################################
|
|
function createTables(){
|
|
########################################
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticket (
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
category VARCHAR(2) NOT NULL,
|
|
reductionId INT NOT NULL,
|
|
serialNumber INT(13) NOT NULL,
|
|
seat SMALLINT UNSIGNED NOT NULL,
|
|
row SMALLINT UNSIGNED NOT NULL,
|
|
floor VARCHAR(64) NOT NULL,
|
|
room VARCHAR(64) NOT NULL,
|
|
seatIndex SMALLINT UNSIGNED NOT NULL,
|
|
rowIndex SMALLINT UNSIGNED NOT NULL,
|
|
floorIndex SMALLINT UNSIGNED NOT NULL,
|
|
dateId INT UNSIGNED NOT NULL,
|
|
orderId INT UNSIGNED NOT NULL,
|
|
printed INT UNSIGNED NOT NULL DEFAULT 0,
|
|
PRIMARY KEY(id),
|
|
INDEX (orderId)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketcalendar (
|
|
holiday DATE NOT NULL,
|
|
PRIMARY KEY (holiday)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketcustomer (
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
firstname VARCHAR(64) NOT NULL,
|
|
surname VARCHAR(64) NOT NULL,
|
|
email VARCHAR(255) NOT NULL,
|
|
gender ENUM('f','m','x') DEFAULT 'x',
|
|
address VARCHAR(128) NOT NULL,
|
|
zip SMALLINT NOT NULL,
|
|
city VARCHAR(64) NOT NULL,
|
|
country VARCHAR(32) NOT NULL,
|
|
phone VARCHAR(24) NOT NULL,
|
|
acad VARCHAR(16) NOT NULL,
|
|
creationDate DATE,
|
|
changeDate DATE,
|
|
newsletter ENUM('true','false') DEFAULT 'false',
|
|
password VARCHAR(32) NOT NULL,
|
|
locked ENUM('true','false') DEFAULT 'true',
|
|
loose ENUM('true','false') DEFAULT 'false',
|
|
PRIMARY KEY(id),
|
|
INDEX(email),
|
|
INDEX(surname),
|
|
INDEX(firstname)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketdate(
|
|
id INT NOT NULL AUTO_INCREMENT,
|
|
`date` DATETIME NULL,
|
|
eventId INT NOT NULL,
|
|
entries VARCHAR(32) NULL,
|
|
reductions VARCHAR(255) NULL,
|
|
room VARCHAR(50) NOT NULL DEFAULT '',
|
|
seats INT UNSIGNED NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (id),
|
|
INDEX(eventId)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketevent (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
flexiconId INT UNSIGNED NOT NULL,
|
|
name VARCHAR(200) NOT NULL DEFAULT '',
|
|
startDate DATE NULL,
|
|
endDate DATE NULL,
|
|
category1 INT NOT NULL DEFAULT 0,
|
|
category2 INT NOT NULL DEFAULT 0,
|
|
category3 INT NOT NULL DEFAULT 0,
|
|
genre INT NOT NULL DEFAULT 0,
|
|
entries VARCHAR(32) NULL,
|
|
reductions VARCHAR(255) NULL,
|
|
reservationType ENUM('none','simple','seat') NOT NULL DEFAULT 'none',
|
|
thumb VARCHAR(10) NOT NULL DEFAULT '',
|
|
dates VARCHAR(255) NULL,
|
|
visible TINYINT(1) NOT NULL DEFAULT 0,
|
|
PRIMARY KEY (id)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketlocked (
|
|
email VARCHAR(255) NOT NULL,
|
|
PRIMARY KEY (email)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketorder (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
customerId INT UNSIGNED NOT NULL,
|
|
dateId INT UNSIGNED NOT NULL,
|
|
orderDate DATE NOT NULL,
|
|
paid ENUM('true','false') DEFAULT 'false',
|
|
comments TEXT NULL,
|
|
PRIMARY KEY (id)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
$query = "CREATE TABLE IF NOT EXISTS bm_ticketreduction (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
value INT UNSIGNED NOT NULL DEFAULT 0,
|
|
type ENUM ('-','%','=','0','k') NOT NULL DEFAULT '-',
|
|
PRIMARY KEY (id)
|
|
)";
|
|
dbQuery($query);
|
|
|
|
$query = sprintf("CREATE TABLE IF NOT EXISTS bm_ticketroom (
|
|
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
xml TEXT NOT NULL DEFAULT '',
|
|
PRIMARY KEY (id)
|
|
)");
|
|
dbQuery($query);
|
|
|
|
}
|
|
|
|
|
|
|
|
##############################################
|
|
function renameTables(){
|
|
##############################################
|
|
|
|
$oldTables = array("ticket", "ticketcustomer", "ticketdate", "ticketevent", "ticketreduction", "ticketroom");
|
|
$newTables = array("ticket", "ticketcalendar", "ticketcustomer", "ticketdate", "ticketevent", "ticketlocked", "ticketorder", "ticketreduction", "ticketroom");
|
|
|
|
foreach($oldTables as $t){
|
|
$query = sprintf("RENAME TABLE bruckm_%s TO bm2_%s", $t, $t);
|
|
dbQuery($query);
|
|
}
|
|
|
|
foreach($newTables as $t){
|
|
$query = sprintf("RENAME TABLE bm_%s TO bruckm_%s", $t, $t);
|
|
dbQuery($query);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
##############################################
|
|
function undoRenameTables(){
|
|
##############################################
|
|
|
|
$oldTables = array("ticket", "ticketcustomer", "ticketdate", "ticketevent", "ticketreduction", "ticketroom");
|
|
$newTables = array("ticket", "ticketcalendar", "ticketcustomer", "ticketdate", "ticketevent", "ticketlocked", "ticketorder", "ticketreduction", "ticketroom");
|
|
|
|
foreach($newTables as $t){
|
|
$query = sprintf("RENAME TABLE bruckm_%s TO bm_%s", $t, $t);
|
|
dbQuery($query);
|
|
}
|
|
|
|
foreach($oldTables as $t){
|
|
$query = sprintf("RENAME TABLE bm2_%s TO bruckm_%s", $t, $t);
|
|
dbQuery($query);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
##############################################
|
|
function truncateTables(){
|
|
##############################################
|
|
|
|
$newTables = array("ticket", "ticketcalendar", "ticketcustomer", "ticketdate", "ticketevent", "ticketlocked", "ticketorder", "ticketreduction", "ticketroom");
|
|
|
|
foreach($newTables as $t){
|
|
$query = sprintf("TRUNCATE TABLE bm_%s", $t);
|
|
dbQuery($query);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
#############################################
|
|
function importData(){
|
|
#############################################
|
|
|
|
// tickets
|
|
$query = sprintf("SELECT * FROM bruckm_ticket ORDER BY dateId ASC, customerId ASC");
|
|
$result = dbQuery($query);
|
|
$order = array('dateId' => 0,
|
|
'orderId' => 0);
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
if($line['dateId'] != $order['dateId'] || $line['customerId'] != $order['customerId']){
|
|
$query = sprintf("INSERT INTO bm_ticketorder (customerId, dateId, orderDate, paid) VALUES (%d, %d, NOW(), 'true')",
|
|
$line['customerId'],
|
|
$line['dateId']);
|
|
dbQuery($query);
|
|
$order['id'] = mysql_insert_id();
|
|
}
|
|
$query = sprintf("SELECT classId FROM bruckm_index WHERE id = %d", $line['reduction']);
|
|
$reduction = dbQuery($query);
|
|
$r = mysqli_fetch_array($reduction, MYSQLI_ASSOC);
|
|
$line['reductionId'] = $r['classId'];
|
|
$query = sprintf("INSERT INTO bm_ticket (id, category, reductionId, seat, row, floor, room, seatIndex, rowIndex, floorIndex, dateId, orderId, printed, serialNumber)
|
|
VALUES (%d, %s, %d, %d, %d, %s, %s, %d, %d, %d, %d, %d, 1, 0)",
|
|
$line['id'],
|
|
sqlstring($line['category']),
|
|
$line['reductionId'],
|
|
$line['seat'],
|
|
$line['row'],
|
|
sqlstring($line['floor']),
|
|
sqlstring($line['room']),
|
|
$line['seatIndex'],
|
|
$line['rowIndex'],
|
|
$line['floorIndex'],
|
|
$line['dateId'],
|
|
$order['id']);
|
|
dbQuery($query);
|
|
}
|
|
|
|
echo "1";
|
|
|
|
// customers
|
|
$query = sprintf("SELECT * FROM bruckm_ticketcustomer ORDER BY id ASC");
|
|
$result = dbQuery($query);
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
if($line['newsletter'] == "yes"){
|
|
$line['newsletter'] = "true";
|
|
}
|
|
else{
|
|
$line['newsletter'] = "false";
|
|
}
|
|
$query = sprintf("INSERT INTO bm_ticketcustomer (id, firstname, surname, email, address, zip, city, country, phone, acad, gender, creationDate, changeDate, newsletter, password, locked, loose)
|
|
VALUES (%d, %s, %s, %s, %s, %d, %s, %s, %s, %s, %s, %s, NOW(), %s, '', 'false', 'true')",
|
|
$line['id'],
|
|
sqlstring($line['firstname']),
|
|
sqlstring($line['surname']),
|
|
sqlstring($line['email']),
|
|
sqlstring($line['address']),
|
|
$line['zip'],
|
|
sqlstring($line['city']),
|
|
sqlstring($line['country']),
|
|
sqlstring($line['phone']),
|
|
sqlstring($line['acad']),
|
|
sqlstring($line['gender']),
|
|
sqlstring($line['creationDate']),
|
|
sqlstring($line['newsletter']));
|
|
dbQuery($query);
|
|
}
|
|
|
|
echo "2";
|
|
|
|
// dates
|
|
$query = sprintf("SELECT * FROM bruckm_ticketdate ORDER BY id ASC");
|
|
$result = dbQuery($query);
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
if(is_numeric($line['room'])){
|
|
$query = sprintf("SELECT classId FROM bruckm_index WHERE id = %d", $line['room']);
|
|
$room = dbQuery($query);
|
|
$r = mysqli_fetch_array($room, MYSQLI_ASSOC);
|
|
$line['room'] = $r['classId'];
|
|
}
|
|
$query = sprintf("SELECT classId FROM bruckm_index WHERE id = %d", $line['eventId']);
|
|
$event = dbQuery($query);
|
|
$e = mysqli_fetch_array($event, MYSQLI_ASSOC);
|
|
$line['eventId'] = $e['classId'];
|
|
$query = sprintf("INSERT INTO bm_ticketdate (id, `date`, eventId, entries, reductions, room, seats)
|
|
VALUES (%d, %s, %d, %s, %s, %s, %d)",
|
|
$line['id'],
|
|
sqlstring($line['date']),
|
|
$line['eventId'],
|
|
sqlstring($line['entries']),
|
|
sqlstring($line['reductions']),
|
|
sqlstring($line['room']),
|
|
$line['seats']);
|
|
dbQuery($query);
|
|
}
|
|
|
|
echo "3";
|
|
|
|
// events
|
|
$query = sprintf("SELECT * FROM bruckm_ticketevent ORDER BY id ASC");
|
|
$result = dbQuery($query);
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
switch($line['reservationType']){
|
|
case 0: $line['reservationType'] = "none"; break;
|
|
case 1: $line['reservationType'] = "simple"; break;
|
|
case 2: $line['reservationType'] = "seat"; break;
|
|
}
|
|
$query = sprintf("INSERT INTO bm_ticketevent (id, flexiconId, name, startDate, endDate, category1, category2, category3, entries, reductions, reservationType, thumb, dates, visible, genre)
|
|
VALUES (%d, %d, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %d, %d)",
|
|
$line['id'],
|
|
$line['flexiconId'],
|
|
sqlstring($line['name']),
|
|
sqlstring($line['startDate']),
|
|
sqlstring($line['endDate']),
|
|
sqlstring($line['category1']),
|
|
sqlstring($line['category2']),
|
|
sqlstring($line['category3']),
|
|
sqlstring($line['entries']),
|
|
sqlstring($line['reductions']),
|
|
sqlstring($line['reservationType']),
|
|
sqlstring($line['thumb']),
|
|
sqlstring($line['dates']),
|
|
$line['visible'],
|
|
$line['genre']);
|
|
dbQuery($query);
|
|
}
|
|
|
|
echo "4";
|
|
|
|
// reductions
|
|
$query = sprintf("SELECT * FROM bruckm_ticketreduction ORDER BY id ASC");
|
|
$result = dbQuery($query);
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
if($line['type'] == "0"){
|
|
$line['type'] = "k";
|
|
}
|
|
$query = sprintf("INSERT INTO bm_ticketreduction (id, value, type)
|
|
VALUES (%d, %s, %s)",
|
|
$line['id'],
|
|
sqlstring($line['value']),
|
|
sqlstring($line['type']));
|
|
dbQuery($query);
|
|
}
|
|
|
|
echo "5";
|
|
|
|
// rooms
|
|
$query = sprintf("SELECT * FROM bruckm_ticketroom ORDER BY id ASC");
|
|
$result = dbQuery($query);
|
|
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
|
|
$query = sprintf("INSERT INTO bm_ticketroom (id, xml)
|
|
VALUES (%d, %s)",
|
|
$line['id'],
|
|
sqlstring($line['xml']));
|
|
dbQuery($query);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
#############################################
|
|
function importCultureCards(){
|
|
#############################################
|
|
|
|
$f = fopen("culturecard.csv", "r");
|
|
while($line = fgetcsv($f, 1000, ";")){
|
|
$name = $line[0] . " " . $line[1];
|
|
$address = $line[2];
|
|
$zip = $line[3];
|
|
$city = $line[4];
|
|
$date = $line[6];
|
|
$no = sprintf("%03d", substr($line[7], strpos($line[7], "/") + 1));
|
|
$serial = "0000" . substr($date, 9, 1) . substr($date, 3, 2) . substr($date, 0, 2) . $no;
|
|
$query = sprintf("INSERT INTO bruckm_ticketculturecard (id, owner, zip, city, address, tickets)
|
|
VALUES (%d, %s, %d, %s, %s, 6)",
|
|
sqlnum($serial),
|
|
sqlstring($name),
|
|
sqlnum($zip),
|
|
sqlstring($city),
|
|
sqlstring($address));
|
|
dbQuery($query);
|
|
echo "added culture card #$serial<br>\n";
|
|
}
|
|
fclose($f);
|
|
|
|
}
|
|
|
|
|
|
##########################################################################################################################################################
|
|
##########################################################################################################################################################
|
|
##########################################################################################################################################################
|
|
|
|
#createTables();
|
|
#importData();
|
|
#renameTables();
|
|
#undoRenameTables();
|
|
#truncateTables();
|
|
|
|
importCultureCards();
|
|
|
|
echo "ok";
|
|
|
|
|
|
|
|
?>
|