964 lines
28 KiB
PHP
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>";
|
|
|
|
|
|
|
|
|
|
?>
|