Seite 1 von 2

Postnuke's pnForum in phpBB2 konvertieren, aber wie?

Verfasst: 11.01.2006 21:35
von Artos
Hallo,
bin dabei unsere Schulhomepage auf Joomla umzustellen. Bisher verwendete ich Postnuke mit pnForum. Nun habe ich phpBB2 installiert und würde gerne die alten Beiträge aus pnForum nicht verlieren. Gibt es eine Möglichkeit, diese in phpBB2 hinüber zu retten?

MfG Artos

Verfasst: 12.01.2006 18:41
von Artos
Hatte noch niemand dieses Problem? Würde mich über eine Antwort freuen, auch wenn sie lauten sollte: "Es geht nicht!"

Gibt es vielleicht ein Script, das man für solch eine Übertragung anpassen könnte?

MfG Artos

Verfasst: 01.02.2006 13:00
von sprodde
ich habe ein skript gefunden, dass bei mir aber nur bedingt funktioniert.
Wenn du möchstest maile ich es dir zu. Bist du ansonsten auch schon so weiter gekommen ?

Verfasst: 03.02.2006 11:01
von Nebulous
Hallo!
Ich suche ebenfalls einen Konverter, um pnForum-Daten in ein phpBB zu exportieren.

Verfasst: 15.02.2006 17:01
von Nebulous
Habe mir mittlerweile mein eigenes SQL-Script gebaut, welches ein pnForum (2.0.1) in ein phpBB (2.0.19) importiert.

Ich denke mal, dass man auch eine neuere pnForum-Version damit exportieren kann...

Bitte beachten: das Script ist recht Quick-and-Dirty mäßig, es gibt immer noch ein paar Dinge zu verbessern...z.B. den überflüssigen bbcode aus dem pnForum zu entfernen etc.

Ok, hier ist es:

Code: Alles auswählen

## PNFORUM TO PHPBB CONVERTER v1.0
## 2006 by Christian Leuenberg aka Nebulous
## nebulous@n-revolution.de
##
## This script uses data from the following PostNuke tables:
## nuke_pnforum_categories
## nuke_pnforum_forums
## nuke_pnforum_posts
## nuke_pnforum_posts_text
## nuke_pnforum_topics
## nuke_pnforum_users
## nuke_users

##
## IMPORT CATEGORIES:
##
INSERT INTO phpbb_categories (
	cat_id,
	cat_title,
	cat_order
)
SELECT
	cat_id,
	cat_title,
	cat_order
FROM nuke_pnforum_categories;

##
## IMPORT FORUMS:
##
INSERT INTO phpbb_forums (
	forum_id,
	cat_id,
	forum_name,
	forum_desc,
	forum_order,
	forum_posts,
	forum_topics,
	forum_last_post_id
)
SELECT 
	forum_id,
	cat_id,
	forum_name,
	forum_desc,
	forum_order,
	forum_posts,
	forum_topics,
	forum_last_post_id
FROM nuke_pnforum_forums;

##
## IMPORT POSTS:
##
INSERT INTO phpbb_posts (
	post_id,
	topic_id,
	forum_id,
	poster_id,
	post_time,
	poster_ip
)
SELECT 
	post_id,
	topic_id,
	forum_id,
	poster_id,
	UNIX_TIMESTAMP(post_time),
	poster_ip
FROM nuke_pnforum_posts;

##
## IMPORT POSTS-TEXT:
##
INSERT INTO phpbb_posts_text (
	post_id,
	post_text 
)
SELECT 
	post_id,
	post_text
FROM nuke_pnforum_posts_text;

##
## IMPORT TOPICS:
##
INSERT INTO phpbb_topics (
	topic_id,
	forum_id,
	topic_title,
	topic_poster,
	topic_time,
	topic_views,
	topic_replies,
	topic_status,
	topic_first_post_id,
	topic_last_post_id
)
SELECT 
	topic_id,
	forum_id,
	topic_title,
	topic_poster,
	UNIX_TIMESTAMP(topic_time),
	topic_views,
	topic_replies,
	topic_status,
	topic_last_post_id,
	topic_last_post_id
FROM nuke_pnforum_topics;

##
## IMPORT USER-DATA FROM PNFORUM AND POSTNUKE:
## NOTE: user_id > 2 because anonymous and administrator should already been set within phpBB-installation
## If you wish to export all users you should truncate phpbb_users first and delete 'AND nuke_pnforum_users.user_id > 2'
##
INSERT INTO phpbb_users (
	user_id,
	user_posts,
	user_rank,
	user_level,
	user_lastvisit,
	username,
	user_password,
	user_regdate,
	user_timezone,
	user_avatar,
	user_email,
	user_icq,
	user_website,
	user_from,
	user_sig,
	user_aim,
	user_yim,
	user_msnm,
	user_interests
)
SELECT 
	nuke_pnforum_users.user_id,
	nuke_pnforum_users.user_posts,
	nuke_pnforum_users.user_rank,
	nuke_pnforum_users.user_level,
	nuke_pnforum_users.user_lastvisit,
	nuke_users.pn_uname,
	nuke_users.pn_pass,
	nuke_users.pn_user_regdate,
	nuke_users.pn_timezone_offset,
	nuke_users.pn_user_avatar,
	nuke_users.pn_email,
	nuke_users.pn_user_icq,
	nuke_users.pn_url,
	nuke_users.pn_user_from,
	nuke_users.pn_user_sig,
	nuke_users.pn_user_aim,
	nuke_users.pn_user_yim,
	nuke_users.pn_user_msnm,
	nuke_users.pn_user_intrest
FROM nuke_pnforum_users,nuke_users WHERE nuke_pnforum_users.user_id = nuke_users.pn_uid AND nuke_pnforum_users.user_id > 2;

Verfasst: 22.04.2006 19:47
von flori
Hi,
ich wollte dein Script gleich mal ausprobieren, doch es erscheint leider folgende Fehlermeldung:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE CONCAT_WS( "-",
cat_id,
cat_title,
cat_order
)
' at line 3

Was mache ich falsch?
Bitte helft mir

flori

Verfasst: 24.04.2006 09:47
von Nebulous
Das Forum muss leer sein - also wenn du eine frische phpBB-Installation hast, dann wird immer eine Test-Kategorie/-Forum angelegt mit einem Beitrag - das musst du vorher löschen. Dann müsste es eigentlich klappen...

Verfasst: 25.04.2006 17:04
von flori
vielen Dank das hat geklappt.
Ich habe jetzt nur noch das Problem, dass das Datum der Beiträge nicht stimmt.
Da steht jetzt immer 01.01.1970.
Eigentlich sollte die Zeit ja mit übernommen werden.

Verfasst: 25.04.2006 19:04
von Nebulous
hm, ich hatte deswegen extra beim Import UNIX_TIMESTAMP verwendet, weil ich das Problem auch hatte. Vielleicht nutzt du ja andere Versionen und brauchst das gar nicht?! Also lösch mal im SQL überall UNIX_TIMESTAMP() - z.B.:

aus

Code: Alles auswählen

UNIX_TIMESTAMP(post_time),
wird

Code: Alles auswählen

post_time,
Wenn das nicht hilft, dann poste mal, wie in der DB deiner pnForum-Version die Zeiten gespeichert werden.

Verfasst: 25.04.2006 21:09
von flori
vieln Dank, hat schon geklappt.
:D :D :D