Files
bm/public_html/public/cms/scripts/import-all.php
2025-09-24 13:26:28 +02:00

964 lines
28 KiB
PHP

<?php
define(ROOT, "../../");
require_once(ROOT."include/db.inc.php");
define(DB_OLD, "usr_web7_1");
define(DB_NEW, "flexicon2");
// === SQL FUNCTIONS =========================================================================== //
# selects a database
function select($db){
mysql_select_db($db);
}
# executes an insert query
function insert($query){
mysql_query($query);
return mysql_insert_id();
}
# executes an update query
function update($query){
mysql_query($query);
}
# returns the result set
function getAll($query){
return mysql_query($query);
}
# returns one result line
function getOne($query){
$r = mysql_query($query);
return mysqli_fetch_array($r, MYSQLI_ASSOC);
}
// === WEBSITE =============================================================================== //
# imports the website
# returns flexicon id
function importWebsite(){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_website"));
echo "import website $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, lastUpdate, editable, listable, visible)
VALUES (%s, 'Website', NOW(), '3', '1', 1)",
sqlstring($line['title']));
$websiteId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
$types = explode("\t", $line['childTypes']);
foreach($ids as $i=>$id){
if(strtolower($types[$i]) == "indexpage"){
$childObjects[] = importIndexPage($id, $websiteId);
}
else{
$childObjects[] = importMenu($id, $websiteId);
}
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_index SET childObjects = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$websiteId);
update($query);
echo "website import complete<hr>\n";
return $websiteId;
}
# imports a menu
# returns flexicon id
function importMenu($id, $websiteId){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_menu WHERE id = %d", $id));
echo "import menu $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_menu (level) VALUES (%d)", $line['level']);
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'Menu', %d, %d, NOW(), '3', '1', 1)",
sqlstring($line['name']),
$classId,
$websiteId);
$menuId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
$types = explode("\t", $line['childTypes']);
$v = explode("\t", $line['childVisibility']);
$start = 0;
foreach($ids as $i=>$id){
switch(strtolower($types[$i])){
case "stdpage":
$childObjects[] = importStdPage($id, $menuId, $v[$i]);
break;
case "menu":
$childObjects[] = importMenu($id, $menuId, $v[$i]);
break;
case "personlist":
$childObjects[] = importPersonList($id, $menuId, $v[$i]);
break;
case "menuseparator":
$childObjects[] = importMenuSeparator($id, $menuId, $v[$i]);
break;
case "menulink":
$childObjects[] = importMenuLink($id, $menuId, $v[$i]);
break;
case "phppage":
$childObjects[] = importPhpPage($id, $menuId, $v[$i]);
break;
}
if($i == $line['startPage']){
$start = $childObjects[sizeof($childObjects)-1];
}
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_index SET childObjects = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$menuId);
update($query);
$query = sprintf("UPDATE bruckmuehle_menu SET startPage = %d WHERE id = %d",
$start,
$classId);
update($query);
return $menuId;
}
# imports a menu link
# returns flexicon id
function importMenuLink($id, $menuId, $visible){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_menulink WHERE id = %d", $id));
echo "import menulink $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_menulink (href, target) VALUES (%s, '_blank')",
sqlstring($line['filename']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'MenuLink', %d, %d, NOW(), '2', '1', %d)",
sqlstring($line['name']),
$classId,
$menuId,
$visible);
$menuLinkId = insert($query);
return $menuLinkId;
}
# imports a menu separator
# returns flexicon id
function importMenuSeparator($id, $menuId, $visible){
echo "import separator<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES ('[----------]', 'Separator', 0, %d, NOW(), '2', '1', %d)",
$menuId,
$visible);
$separatorId = insert($query);
return $separatorId;
}
# imports a php page
# returns flexicon id
function importPhpPage($id, $menuId, $visible){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_phppage WHERE id = %d", $id));
echo "import phppage $line[name]<br>\n";
select(DB_NEW);
//keep php file
if($line['phpfile'] == "contact.php"){
$query = sprintf("INSERT INTO bruckmuehle_phppage (template, phpfile) VALUES (%s, %s)",
sqlstring($line['template']),
sqlstring($line['phpfile']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'PhpPage', %d, %d, NOW(), '3', '1', %d)",
sqlstring($line['name']),
$classId,
$menuId,
$visible);
$phpId = insert($query);
}
//convert to event list
else{
$query = sprintf("INSERT INTO bruckmuehle_eventlist (template) VALUES ('bruckmuehle.html')");
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'EventList', %d, %d, NOW(), '3', '1', %d)",
sqlstring($line['name']),
$classId,
$menuId,
$visible);
$phpId = insert($query);
if($line['phpfile'] == "program.php"){
global $EVENT_LIST;
$EVENT_LIST = $phpId;
}
}
return $phpId;
}
# imports a standard page
# returns flexicon id
function importStdPage($id, $menuId, $visible){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_stdpage WHERE id = %d", $id));
echo "import stdpage $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_stdpage (template) VALUES (%s)",
sqlstring($line['template']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'StdPage', %d, %d, NOW(), '2', '1', %d)",
sqlstring($line['name']),
$classId,
$menuId,
$visible);
$pageId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
$types = explode("\t", $line['childTypes']);
foreach($ids as $i=>$id){
switch(strtolower($types[$i])){
case "textelement":
$childObjects[] = importTextBlock($id);
break;
case "headerelement":
$childObjects[] = importHeadingBlock($id);
break;
case "imageelement":
$childObjects[] = importImageBlock($id);
break;
case "fileelement":
$childObjects[] = importFileBlock($id);
break;
case "htmlelement":
$childObjects[] = importHtmlBlock($id);
break;
case "gallery":
$childObjects[] = importGalleryBlock($id);
break;
}
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_stdpage SET buildingBlocks = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$classId);
update($query);
return $pageId;
}
# imports the index page
# returns flexicon id
function importIndexPage($id, $websiteId){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_stdpage WHERE id = %d", $id));
echo "import indexpage $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_indexpage (template, enabled) VALUES ('index.html', 1)");
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'IndexPage', %d, %d, NOW(), '2', '1', 1)",
sqlstring($line['name']),
$classId,
$websiteId);
$pageId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
$types = explode("\t", $line['childTypes']);
foreach($ids as $i=>$id){
switch(strtolower($types[$i])){
case "textelement":
$childObjects[] = importTextBlock($id);
break;
case "headerelement":
$childObjects[] = importHeadingBlock($id);
break;
case "imageelement":
$childObjects[] = importImageBlock($id);
break;
case "fileelement":
$childObjects[] = importFileBlock($id);
break;
case "htmlelement":
$childObjects[] = importHtmlBlock($id);
break;
case "gallery":
$childObjects[] = importGalleryBlock($id);
break;
}
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_indexpage SET buildingBlocks = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$classId);
update($query);
return $pageId;
}
# imports a ticket page
# returns flexicon id
function importTicketPage($id, $menuId, $visible){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_stdpage WHERE id = %d", $id));
echo "import ticketpage $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_stdpage (template) VALUES (%s)",
sqlstring($line['template']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'TicketPage', %d, %d, NOW(), '2', '1', %d)",
sqlstring($line['name']),
$classId,
$menuId,
$visible);
$pageId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
$types = explode("\t", $line['childTypes']);
foreach($ids as $i=>$id){
switch(strtolower($types[$i])){
case "textelement":
$childObjects[] = importTextBlock($id);
break;
case "headerelement":
$childObjects[] = importHeadingBlock($id);
break;
case "imageelement":
$childObjects[] = importImageBlock($id);
break;
case "fileelement":
$childObjects[] = importFileBlock($id);
break;
case "htmlelement":
$childObjects[] = importHtmlBlock($id);
break;
case "gallery":
$childObjects[] = importGalleryBlock($id);
break;
}
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_stdpage SET buildingBlocks = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$classId);
update($query);
return $pageId;
}
# imports a person list
# returns flexicon id
function importPersonList($id, $menuId, $visible){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_personlist WHERE id = %d", $id));
echo "import personlist $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_personlist (template) VALUES (%s)",
sqlstring($line['template']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'PersonList', %d, %d, NOW(), '3', '1', %d)",
sqlstring($line['name']),
$classId,
$menuId,
$line['editable'],
$line['listable'],
$visible);
$pageId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
foreach($ids as $i=>$id){
$childObjects[] = importPerson($id, $pageId);
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_index SET childObjects = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$pageId);
update($query);
return $pageId;
}
# imports a person
# returns flexicon id
function importPerson($id, $pageId){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_person WHERE id = %d", $id));
echo "import person $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_person (job, mail, thumb) VALUES (%s, %s, %s)",
sqlstring($line['job']),
sqlstring($line['mail']),
sqlstring("$line[id].jpg"));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'Person', %d, %d, NOW(), '2', '1', 1)",
sqlstring($line['name']),
$classId,
$pageId);
$personId = insert($query);
$childObjects = array();
$childObjects[] = importPersonPage($line['page'], $personId);
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_index SET childObjects = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$personId);
update($query);
return $personId;
}
# imports a person page
# returns flexicon id
function importPersonPage($id, $menuId){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_personpage WHERE id = %d", $id));
echo "import personpage $line[name]<br>\n";
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_stdpage (template) VALUES (%s)",
sqlstring($line['template']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'PersonPage', %d, %d, NOW(), '2', '1', 1)",
sqlstring($line['name']),
$classId,
$menuId);
$pageId = insert($query);
$childObjects = array();
$ids = explode("\t", $line['childElements']);
$types = explode("\t", $line['childTypes']);
foreach($ids as $i=>$id){
switch(strtolower($types[$i])){
case "textelement":
$childObjects[] = importTextBlock($id);
break;
case "headerelement":
$childObjects[] = importHeadingBlock($id);
break;
case "imageelement":
$childObjects[] = importImageBlock($id);
break;
case "fileelement":
$childObjects[] = importFileBlock($id);
break;
case "htmlelement":
$childObjects[] = importHtmlBlock($id);
break;
case "gallery":
$childObjects[] = importGalleryBlock($id);
break;
}
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_stdpage SET buildingBlocks = %s WHERE id = %d",
sqlstring(implode("\t", $childObjects)),
$classId);
update($query);
return $pageId;
}
# imports a text block
# returns flexicon id
function importTextBlock($id){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_textelement WHERE id = %d", $id));
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_textblock (content) VALUES (%s)",
sqlstring($line['content']));
$blockId = insert($query);
return "textblock,$blockId";
}
# imports a heading block
# returns flexicon id
function importHeadingBlock($id){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_headerelement WHERE id = %d", $id));
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_headingblock (content, level) VALUES (%s, %d)",
sqlstring($line['content']),
$line['level']);
$blockId = insert($query);
return "headingblock,$blockId";
}
# imports a html block
# returns flexicon id
function importHtmlBlock($id){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_htmlelement WHERE id = %d", $id));
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_htmlblock (content) VALUES (%s)",
sqlstring($line['content']));
$blockId = insert($query);
return "htmlblock,$blockId";
}
# imports an image block
# returns flexicon id
function importImageBlock($id){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_imageelement WHERE id = %d", $id));
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_imageblock (file, caption, hyperlink) VALUES (%s, %s, %s)",
sqlstring($line['file']),
sqlstring($line['caption']),
sqlstring($line['hyperlink']));
$blockId = insert($query);
return "imageblock,$blockId";
}
# imports a file block
# returns flexicon id
function importFileBlock($id){
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_fileelement WHERE id = %d", $id));
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_fileblock (file, displayName) VALUES (%s, %s)",
sqlstring($line['file']),
sqlstring($line['displayName']));
$blockId = insert($query);
return "fileblock,$blockId";
}
# imports a gallery block
# returns flexicon id
function importGalleryBlock($id){
select(DB_OLD);
$line = getOne(sprintf("SELECT name FROM flexicon_gallery WHERE id = %d", $id));
select(DB_NEW);
$line = getOne(sprintf("SELECT id FROM bruckmuehle_index WHERE class = 'Gallery' AND name = %s", sqlstring($line['name'])));
$query = sprintf("INSERT INTO bruckmuehle_galleryblock (galleryId) VALUES (%d)",
$line['id']);
$blockId = insert($query);
return "galleryblock,$blockId";
}
// === GALLERIES ================================================================================ //
# imports all galleries
function importGalleries(){
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_gallery"));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
importGallery($line);
}
echo "gallery import complete<hr>\n";
}
# imports a gallery
function importGallery($line){
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_gallery (images) VALUES ('')");
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'Gallery', %d, 0, NOW(), '2', '2', 1)",
sqlstring($line['name']),
$classId);
$galleryId = insert($query);
$images = array();
$ids = explode("\t", $line['childElements']);
foreach($ids as $i=>$id){
$images[] = importImageBlock($id);
}
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_gallery SET images = %s WHERE id = %d",
sqlstring(implode("\t", $images)),
$classId);
update($query);
echo "import gallery $line[name]<br>\n";
}
// === EVENTS =================================================================================== //
# imports the complete events package
function importEvents(){
echo "import events<br>\n";
$roomIds = importRooms();
$reductionIds = importReductions();
$categoryIds = importCategories();
$categoryIds[-1] = 0;
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_ticketevent"));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
importEvent($line, &$roomIds, &$reductionIds, &$categoryIds);
}
echo "events import complete<hr>\n";
}
# imports an event
function importEvent($line, $roomIds, $reductionIds, $categoryIds){
echo "import event $line[name]<br>\n";
$line['category1'] = $categoryIds[$line['category1']];
$line['category2'] = $categoryIds[$line['category2']];
$line['category3'] = $categoryIds[$line['category3']];
if(!empty($line['reductions'])){
$reds = explode("\t", $line['reductions']);
foreach($reds as $i=>$j){
$reds[$i] = $reductionIds[$j];
}
$line['reductions'] = implode("\t", $reds);
}
$pageId = importTicketPage($line['childElements'], 0, 1);
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_ticketevent (id, name, startDate, endDate, category1, category2, category3, reservationType, thumb, entries, reductions, visible)
VALUES (%d, %s, %s, %s, %d, %d, %d, %d, %s, %s, %s, 1)",
$line['id'],
sqlstring($line['name']),
sqlstring($line['startDate']),
sqlstring($line['endDate']),
$line['category1'],
$line['category2'],
$line['category3'],
$line['reservationType'],
sqlstring("$line[id].jpg"),
sqlstring($line['entries']),
sqlstring($line['reductions']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible, childObjects)
VALUES (%s, 'TicketEvent', %d, 0, NOW(), '2', '2', 1, %s)",
sqlstring($line['name']),
$classId,
sqlstring($pageId));
$eventId = insert($query);
$dates = importDates($line['id'], $eventId, &$roomIds, &$reductionIds);
select(DB_NEW);
$query = sprintf("UPDATE bruckmuehle_ticketevent SET dates = %s, flexiconId = %d WHERE id = %d",
sqlstring(implode("\t", $dates)),
$eventId,
$classId);
update($query);
}
# imports dates for an event
# returns array of date ids
function importDates($oldId, $newId, $roomIds, $reductionIds){
$dateIds = array();
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_ticketdate WHERE eventId = %d", $oldId));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$dateIds[] = importDate($line, $newId, &$roomIds, &$reductionIds);
}
return $dateIds;
}
# imports a date
# returns date id
function importDate($line, $eventId, $roomIds, $reductionIds){
echo "import date $line[date]<br>\n";
if(!empty($line['reductions'])){
$reds = explode("\t", $line['reductions']);
foreach($reds as $i=>$j){
$reds[$i] = $reductionIds[$j];
}
$line['reductions'] = implode("\t", $reds);
}
if(!empty($line['room']) && is_numeric($line['room'])){
$line['room'] = $roomIds[$line['room']];
}
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_ticketdate (`date`, eventId, entries, reductions, room, seats)
VALUES (%s, %d, %s, %s, %s, %d)",
sqlstring($line['date']),
$eventId,
sqlstring($line['entries']),
sqlstring($line['reductions']),
sqlstring($line['room']),
$line['seats']);
$dateId = insert($query);
importTickets($line['id'], $dateId, &$reductionIds);
return $dateId;
}
# imports all tickets (+ customers) of a date
function importTickets($oldId, $newId, $reductionIds){
$customers = array();
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_ticket WHERE dateID = %d ORDER BY id ASC", $oldId));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo "import ticket<br>\n";
select(DB_NEW);
$line['reduction'] = $reductionIds[$line['reduction']];
$query = sprintf("INSERT INTO bruckmuehle_ticket (category, reduction, seat, row, floor, room, seatIndex, rowIndex, floorIndex, dateId, customerId, printed)
VALUES (%s, %d, %d, %d, %s, %s, %d, %d, %d, %d, %d, %d)",
sqlstring($line['category']),
$line['reduction'],
$line['seat'],
$line['row'],
sqlstring($line['floor']),
sqlstring($line['room']),
$line['seatIndex'],
$line['rowIndex'],
$line['floorIndex'],
$newId,
$line['customerID'],
$line['printed']);
insert($query);
if(!in_array($line['customerID'], $customers)){
$customers[] = $line['customerID'];
importCustomer($line['customerID']);
}
}
}
# imports a customer - keeps old customer id
function importCustomer($id){
select(DB_NEW);
$line = getOne(sprintf("SELECT id FROM bruckmuehle_ticketcustomer WHERE id = %d", $id));
if($line){
return;
}
select(DB_OLD);
$line = getOne(sprintf("SELECT * FROM flexicon_ticketcustomer WHERE id = %d", $id));
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_ticketcustomer (id, firstname, surname, email, gender, address, zip, city, country, phone, acad)
VALUES (%d, %s, %s, %s, %s, %s, %d, %s, %s, %s, %s)",
$id,
sqlstring($line['firstname']),
sqlstring($line['surname']),
sqlstring($line['email']),
sqlstring($line['gender']),
sqlstring($line['address']),
$line['zip'],
sqlstring($line['city']),
sqlstring($line['country']),
sqlstring($line['phone']),
sqlstring($line['acad']));
insert($query);
}
# import all rooms
# returns array with old template ids as keys and new flexicon ids as values
function importRooms(){
$roomsIds = array();
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_tickettemplate"));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$roomIds[$line['id']] = importRoom($line);
}
return $roomIds;
}
# imports a room
# returns flexicon id
function importRoom($line){
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_ticketroom (xml) VALUES (%s)",
sqlstring($line['xml']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'TicketRoom', %d, 0, NOW(), '2', '2', 1)",
sqlstring($line['name']),
$classId);
return insert($query);
}
# import all reductions
# returns array with old reduction ids as keys and new flexicon ids as values
function importReductions(){
$redIds = array();
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_ticketreduction"));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$redIds[$line['id']] = importReduction($line);
}
return $redIds;
}
# imports a reduction
# returns flexicon id
function importReduction($line){
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_ticketreduction (`value`, type) VALUES (%d, %s)",
$line['value'],
sqlstring($line['type']));
$classId = insert($query);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'TicketReduction', %d, 0, NOW(), '2', '2', 1)",
sqlstring($line['name']),
$classId);
return insert($query);
}
# import all categories
# returns array with old category ids as keys and new flexicon ids as values
function importCategories(){
$catIds = array();
select(DB_OLD);
$result = getAll(sprintf("SELECT * FROM flexicon_ticketcategory"));
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$catIds[$line['id']] = importCategory($line);
}
return $catIds;
}
# imports a category
# returns flexicon id
function importCategory($line){
select(DB_NEW);
$query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible)
VALUES (%s, 'TicketCategory', 0, 0, NOW(), '2', '2', 1)",
sqlstring($line['name']));
return insert($query);
}
# updates event links
function updateLinks(){
global $EVENT_LIST;
select(DB_NEW);
$query = "SELECT * FROM bruckmuehle_textblock WHERE content LIKE '%aktuell.php?id=%'";
$result = dbQuery($query);
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$content = $line['content'];
$pos1 = 0;
while($pos1 = strpos($content, "aktuell.php?id=", $pos1)){
$content1 = substr($content, 0, $pos1);
$pos2 = strpos($content, " ", $pos1);
$content2 = substr($content, $pos2);
$id = substr($content, $pos1+15, $pos2-$pos1-15);
$url = "?id=".$EVENT_LIST."&event=".findEvent($id);
$content = $content1 . $url . $content2;
echo "$content<br><br>";
}
}
}
# returns the flexicon id
function findEvent($id){
$query = sprintf("SELECT id FROM bruckmuehle_index WHERE class = 'TicketEvent' AND classId = %d", $id);
$result = dbQuery($query);
$line = mysqli_fetch_array($result, MYSQLI_ASSOC);
return $line['id'];
}
// === MAIN ===================================================================================== //
mysql_connect(DBHOST, DBUSER, DBPWD);
importGalleries();
importWebsite();
importEvents();
updateLinks();
mysql_close();
echo "<b>import complete</b>";
?>