Seite 1 von 1

Universeller Import?

Verfasst: 22.05.2005 17:02
von MichaelN0815
Ich möchte aus meinem alten Forum Beiträge importieren. Da dies eine eigene Lösung war, wird es dafür keinen fertigen Importfilter geben. Da das Forum eine ganz anderen Aufbau hat als phpBB wird man auch nicht 1:1 die Daten rüberschaufeln können.

Mir schwebt eine Art universeller Import-Filter vor, der eine Text-Datei dieses Aufbaus einliest:

"Betreff", "Beitrag", "Username","Datum", "Uhrzeit","IP","Thread-ID"

und die Beiträge dann in phpBB anlegt. Die User sollten alle GAst-Status haben. Die Thread-ID unterscheidet unterschiedliche 'Themen'.

Ist sowas machbar? Wo muß ich ansetzen? Eine fertige Lösung werde ich wohl nicht finden, aber vielleicht irgendwo gut aufbereitete Infos zu db-Strukur von phpBB. Besher habe ich da nichts erhellendes gefunden. Mit Entity-Relationship-Modellen kann ich nichts anfangen.

Verfasst: 22.05.2005 17:03
von kratzer54847

Verfasst: 22.05.2005 17:08
von MichaelN0815
Ja, wenn ich das durcharbeite werde ich die Infos die ich brauche früher oder später rausbekommen. Eher später. Sehr viel später.

Meine Hoffnung ist, das hier jemand die db-Struktur so verinnerlicht hat, das er sagt:

Um einen neuen Gast-User anzulegen muß Du in der users-Tabelle die Felder x,y,z mit den Werten a,b,c beschreiben

(Ich weiß z.B. nichtmal, wie Gast-User in phpBB organisiert sind - wird für jeden ein Eintrag angelegt? Gibt es nur einen Gast? Wie wird der Name zugeordnet)

Welche Felder muß ich beschreiben um ein neues Thema anzulegen? Wo werden die einzelnen Beiträge angelegt? etc.

D.h. wenn ich Reengeeniering betreiben wollte, würde ich hier nicht fragen.

Verfasst: 22.05.2005 17:13
von kratzer54847
um den Gastuser anzulegen:

INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( -1, 'Anonymous', 0, 0, '', '', '', '', '', '', '', '', 0, NULL, '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, NULL, '', '', 0, '', '', '', 0, 0);

Verfasst: 22.05.2005 17:22
von MichaelN0815
Danke. Das ist schon mal ein Anfang.

Werde wohl mal eigene Experimente anstellen müssen.
Leider bleibt dann immer die Ungewissheit, ob die Manipulationen auch immer noch eine konsistente Datenbank hinterlassen...

Verfasst: 22.05.2005 17:23
von kratzer54847
was war denn dein altes Forum?

Verfasst: 22.05.2005 17:30
von MichaelN0815
Um nochmal nachzuhaken: Es hat noch niemand einen solchen universellen Importfilter geschrieben?

Schade eigentlich.

Mein altes Forum:
http://www.michaelneuhaus.de/burg/forumlight.htm :oops:

Muß ich den Gast-User nur einmal anlegen? Wie wird das dann gelöst - wenn ich als Gast einen Namen eingebe, wir im Forum 'Mike - Gast' angezeigt.

Wo trage ich den Namen 'Mike' in die Tabellen ein?
Wie lege ich ein neues Thema an?
Und wie lege ich einen neuen Beitrag in einem Thema an?

Dann müßte ich doch alle Infos haben um die Daten zu importieren. Oder habe ich was vergessen? :-?

Verfasst: 22.05.2005 17:33
von kratzer54847
hoi,

einen neuen User anzulegen funktioniert nach genau demselben Schema wie beim Gastuser, nur dass noch ein Passwort dazukommt:

Code: Alles auswählen

$password = "Test";
$password = md5($password)
und dann das SQL:

Code: Alles auswählen

$sql = "INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( 1, 'Username', 0, 0, '$password', '', '', '', '', '', '', '', 0, NULL, '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, NULL, '', '', 0, '', '', '', 0, 0)";
mysql_query($sql);