"Assmann Peter", 445 => "Berger Gabriele", 217 => "Buttinger-Caspar Andreas", 483 => "Eisenmann Therese", 227 => "Fischbacher Franz", 205 => "Hager Ernst", 485 => "Kraml Peter", 237 => "Luger Christoph", 519 => "Mayrhofer Christa", 471 => "Riedl Alois", 481 => "Riedl Annerose", 327 => "Salzmann Heinrich", 415 => "Starrermayr Astrid", 387 => "Steininger Erich", 343 => "Strobl Thomas"); $authors = array(519 => "Donhauser Michael", 213 => "Fischer Eva", 225 => "Fuchs Margarita", 235 => "Habringer Rudolf", 449 => "Janacs Christoph", 209 => "Krenner Günter Giselher", 301 => "Pauli Herbert", 219 => "Rathenböck Elisabeth Vera", 221 => "Schmid Ernst", 469 => "Schöggl Ernst Reinhard", 431 => "Strauß Ester", 229 => "Wall Richard");/*, 431 => "Wiplinger Peter Paul");*/ // === 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); } // ==== IMPORT FUNCTIONS ======================================================================== // # imports an artist or author function importPerson($eventId, $name, $listId){ echo "import person $name
\n"; //get ticket page $query = sprintf("SELECT childObjects FROM bruckmuehle_index WHERE id = %d", $eventId); $line = getOne($query); $childObjects = explode("\t", $line['childObjects']); $query = sprintf("SELECT classId FROM bruckmuehle_index WHERE id = %d", $childObjects[0]); $line = getOne($query); //get page contents $query = sprintf("SELECT buildingBlocks FROM bruckmuehle_stdpage WHERE id = %d", $line['classId']); $line = getOne($query); $buildingBlocks = explode("\t", $line['buildingBlocks']); $blocks = array(); foreach($buildingBlocks as $b){ $bl = explode(",", $b); switch($bl[0]){ case "textblock": $blocks[] = copyTextBlock($bl[1]); break; case "headingblock": $blocks[] = copyHeadingBlock($bl[1]); break; case "imageblock": $blocks[] = copyImageBlock($bl[1]); break; case "fileblock": $blocks[] = copyFileBlock($bl[1]); break; case "galleryblock": $blocks[] = copyGalleryBlock($bl[1]); break; } } //create person page $query = sprintf("INSERT INTO bruckmuehle_stdpage (template, buildingBlocks) VALUES ('bruckmuehle.html', %s)", sqlstring(implode("\t", $blocks))); $classId = insert($query); $query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible) VALUES (%s, 'PersonPage', %d, 0, NOW(), '2', '1', 1)", sqlstring($name), $classId); $personPageId = insert($query); //create person $query = sprintf("INSERT INTO bruckmuehle_person (job) VALUES ('')"); $classId = insert($query); $query = sprintf("INSERT INTO bruckmuehle_index (name, class, classId, parentId, lastUpdate, editable, listable, visible, childObjects) VALUES (%s, 'Person', %d, %d, NOW(), '2', '1', 1, %s)", sqlstring($name), $classId, $listId, sqlstring($personPageId)); $personId = insert($query); $query = sprintf("UPDATE bruckmuehle_index SET parentId = %d WHERE id = %d", $personId, $personPageId); update($query); //update person list $query = sprintf("SELECT childObjects FROM bruckmuehle_index WHERE id = %d", $listId); $line = getOne($query); if(empty($line['childObjects'])){ $childObjects = $personId; } else{ $childObjects = $line['childObjects']."\t".$personId; } $query = sprintf("UPDATE bruckmuehle_index SET childObjects = %s WHERE id = %d", sqlstring($childObjects), $listId); update($query); } # copies a text block # returns id function copyTextBlock($id){ $line = getOne(sprintf("SELECT * FROM bruckmuehle_textblock WHERE id = %d", $id)); $query = sprintf("INSERT INTO bruckmuehle_textblock (content) VALUES (%s)", sqlstring($line['content'])); $blockId = insert($query); return "textblock,$blockId"; } # copies a heading block # returns id function copyHeadingBlock($id){ $line = getOne(sprintf("SELECT * FROM bruckmuehle_headingblock WHERE id = %d", $id)); $query = sprintf("INSERT INTO bruckmuehle_headingblock (content, level) VALUES (%s, %d)", sqlstring($line['content']), $line['level']); $blockId = insert($query); return "headingblock,$blockId"; } # copies an image block # returns id function copyImageBlock($id){ $line = getOne(sprintf("SELECT * FROM bruckmuehle_imageblock WHERE id = %d", $id)); $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"; } # copies a file block # returns id function copyFileBlock($id){ $line = getOne(sprintf("SELECT * FROM bruckmuehle_fileblock WHERE id = %d", $id)); $query = sprintf("INSERT INTO bruckmuehle_fileblock (file, displayName) VALUES (%s, %s)", sqlstring($line['file']), sqlstring($line['displayName'])); $blockId = insert($query); return "fileblock,$blockId"; } # copies a gallery block # returns id function copyGalleryBlock($id){ $line = getOne(sprintf("SELECT * FROM bruckmuehle_galleryblock WHERE id = %d", $id)); $query = sprintf("INSERT INTO bruckmuehle_galleryblock (galleryId) VALUES (%d)", $line['galleryId']); $blockId = insert($query); return "galleryblock,$blockId"; } // === MAIN =================================================================================================== // mysql_connect(DBHOST, DBUSER, DBPWD); mysql_select_db(DBNAME); foreach($artists as $i=>$j){ importPerson($i, $j, ARTIST_LIST); } echo "
"; foreach($authors as $i=>$j){ importPerson($i, $j, AUTHOR_LIST); } mysql_close(); ?>