Seite 1 von 1

Import von PHP-Nuke 6.5 zu PHPbb

Verfasst: 27.06.2006 19:17
von riderr
Hallo,
ich habe eine Internetseite mit PHPNuke aufgezogen. Im intergrierten PHPbb Forum sind ca. 30000 Beiträge und 2000 User.

Lassen sich diese Forenbeiträge inkl. User in ein "Standalone" PHPbb Forum intergrieren? Sicherheitsupdates usw. lassen sich irgendwie einfacher im ganz normalen phpbb Forum nachinstallieren. Zumindest einfacher, als das ganze PHP-Nuke auf den neusten Stand zu bringen.

Welche Tabellen usw muss ich importieren. Und wie importiere ich die am besten?

Ich freue mich über Antworten und Tipps!

Danke! :)

Verfasst: 27.06.2006 21:38
von Balint
Hi!

Herzlichen Glückwunsch zu Deiner Entscheidung. phpBB.com hat zwei Artikel hierzu:

http://www.phpbb.com/kb/article.php?article_id=109

und

http://www.phpbb.com/kb/article.php?article_id=93


Hoffen wir, daß es für die aktuelle Version immer noch funktioniert...


Viele Grüße,
Bálint

Verfasst: 27.06.2006 22:19
von riderr
Hey, danke für die Links :grin:

Aber ich bin Anfänger und habe noch ein paar Fragen:

1. Upload a fresh copy of PHPBB2 to the new directory, I used version 2.0.5.

Ok, ist gemacht. Aber halt die aktuelle Version, läuft.


2. Use PHPMyAdmin to drop the following tables in the fresh copy: Auth-access, Topics, Categories, Forums, Posts, Posts_text.

Hui, was ist damit gemeint? PHPmyAdmin aufrufen ist klar. Was soll ich da genau tun?

3. Then use PHPMyAdmin to export the above tables from the PHPNuke copy (nuke_bb*) then change the nuke_bb values to phpbb_ or whatever your prefix is and import them into the fresh copy. Be sure to choose data AND structure when exporting the original tables.

Okay, alle nuke_bb tabellen exportieren. Wie kann ich die dann in phpbb umbennen?

4. Then export data AND structure of the nuke_users table. Again change all the nuke_ values to phpbb_ and import it. Now some tricky modding, you'll have to convert the regdate to unixtime, so in phpmyadmin edit all the user_regdate fields. See http://www.onlineconversion.com/unix_time.htm for a online unixtime converter.

Hilfe!! Kann jemand verständlich erklären?!

5. When that is done, alter the user table by deleting all fields that NOT start with user_ (except username).

?

6. Then export DATA only of the following nuke fields: nuke_bbgroups and nuke_bbuser_groups. Again change the nuke_bb values to phpbb_ and then import them.

Wieder umbennenen. Wie?

7. Now set the user_level of your admin in your phpbb_users table to 1.

Okay, bekomme ich hin

8. Set some of your configuration options, and your done. PHPNuke can be deleted safely, but first make sure the forum works fine!

Das ist das Ziel!

Verfasst: 27.06.2006 23:30
von Balint
riderr hat geschrieben:2. Use PHPMyAdmin to drop the following tables in the fresh copy: Auth-access, Topics, Categories, Forums, Posts, Posts_text.

Hui, was ist damit gemeint? PHPmyAdmin aufrufen ist klar. Was soll ich da genau tun?
Drop heißt löschen. Die betreffenden Tabellen anhaken und unten im Dropdownfeld, wo markierte steht, löschen wählen.
3. Then use PHPMyAdmin to export the above tables from the PHPNuke copy (nuke_bb*) then change the nuke_bb values to phpbb_ or whatever your prefix is and import them into the fresh copy. Be sure to choose data AND structure when exporting the original tables.

Okay, alle nuke_bb tabellen exportieren. Wie kann ich die dann in phpbb umbennen?
Ich hoffe, Du benutzt nicht dieselbe Datenbank. Dann ist das vorgehen eigentlich umgekeht: importieren in die Datenbank und dann die Tabellen umbenennen. Dazu die Tabell in der Datenbank aufrufen, sodaß die Stuktur der jeweiligen Tabelle sichtbar wird. Dann gibt es oben einen Reiter "Operationen". Dort kann man den Tabellennamen ändern.
4. Then export data AND structure of the nuke_users table. Again change all the nuke_ values to phpbb_ and import it. Now some tricky modding, you'll have to convert the regdate to unixtime, so in phpmyadmin edit all the user_regdate fields. See http://www.onlineconversion.com/unix_time.htm for a online unixtime converter.

Hilfe!! Kann jemand verständlich erklären?!
Das ist hart (ich hoffe, es gibt noch eine automatische Lösung dafür). Die Beuntzertabelle muß importiert und umdenannt werden. Aber da das Feld user_regdate ein anderes Format hat, müßte das für alle 2000 Benutzer manuell umgewandelt werden... das ist natürlich Wahnsinn.
5. When that is done, alter the user table by deleting all fields that NOT start with user_ (except username).

?
Alle Felder in der Tabelle phpbb_user, die nicht mit user_ (also user_regdate, user_level etc.) beginnen müssen mit Ausnahme des Feldes username gelöscht werden, weil sie nicht mehr benötigt werden.
6. Then export DATA only of the following nuke fields: nuke_bbgroups and nuke_bbuser_groups. Again change the nuke_bb values to phpbb_ and then import them.

Wieder umbennenen. Wie?
Siehe oben.


Viel Glück!


Bálint

Verfasst: 27.06.2006 23:39
von riderr
Danke für die tolle Hilfe!!

Aber ich glaube dieses:
Das ist hart (ich hoffe, es gibt noch eine automatische Lösung dafür). Die Beuntzertabelle muß importiert und umdenannt werden. Aber da das Feld user_regdate ein anderes Format hat, müßte das für alle 2000 Benutzer manuell umgewandelt werden... das ist natürlich Wahnsinn
wird die Sache scheitern lassen :roll:
Ohje, bei 30000 Beitragen wieder bei Null anzufangen? Ich glaube die Community wird mich köpfen.

Verfasst: 28.06.2006 00:31
von Balint
Hi!

OK, dann bin ich mal so freundlich *g*

http://www.phpbb.com/phpBB/viewtopic.ph ... ht=phpnuke
I have a script that will correct the user regdate from nuke to phpbb if anyone is interested so when you convert your forums the correct registration date will appear and place the unix date back into the table!

Verfasst: 28.06.2006 01:15
von riderr
:grin: Ich probiere es gerade. Komischerweise soll der Import der Datenbank mehrere Stunden dauern. Der Export dagenen nur wenige Minuten. Bin also bei Schritt 3. Sobald ich weiter bin, melde ich mich erneut!!

edit:
<?
/*******************************************************************/
/* Place this file in the same folder as config.php */
/*******************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$sql = "SELECT user_id, user_regdate FROM phpbb_users";
$result = $db->sql_query($sql);
while($record = $db->sql_fetchrow($result)) {
extract($record);
$user_regdate = str_replace(',',' ',$user_regdate);
$date = explode(' ',$user_regdate,3);
switch($date[0]) {
case('Jan'): $m=1; break;
case('Feb'): $m=2; break;
case('Mar'): $m=3; break;
case('Apr'): $m=4; break;
case('May'): $m=5; break;
case('Jun'): $m=6; break;
case('Jul'): $m=7; break;
case('Aug'): $m=8; break;
case('Sep'): $m=9; break;
case('Oct'): $m=10; break;
case('Nov'): $m=11; break;
case('Dec'): $m=12; break;
}
$newDate = mktime(0, 0, 0, $m, $date[1], $date[2]);
echo $user_id.' -- '.$user_regdate.' = '.$newDate.' = '.date('m d Y',$newDate).'<br />';
/*******************************************************************/
/* When you are satisfied that the code is working correctly, */
/* uncomment the following 2 lines and resubmit the script. */
/*******************************************************************/
//$sql = "UPDATE phpbb_users set user_regdate = $newDate where user_id = $user_id";
//$result1 = $db->sql_query($sql);
}
?>
meine Tabellen heißen alle phpbb_1 und nicht phpbb. Wo muss ich in diesem Script die 1 dahintersetzen, damit er alle User korrekt umwandelt?
$sql = "SELECT user_id, user_regdate FROM phpbb_users";
hier?

Verfasst: 28.06.2006 01:30
von Balint
Hi!

Heißen dann Deine Tabellen phpbb_1users und so weiter?

Wenn ja, dann hier

Code: Alles auswählen

$sql = "SELECT user_id, user_regdate FROM phpbb_1users"; 
und hier

Code: Alles auswählen

//$sql = "UPDATE phpbb_1users set user_regdate = $newDate where user_id = $user_id";
das Zweite natürlich ohne die // - aber das hast Du sicherlich gelesen.


Viele Grüße,
Bálint

Verfasst: 28.06.2006 09:10
von riderr
Heißen dann Deine Tabellen phpbb_1users und so weiter?
Jo, genau :)
Der Import der Datenbank dauert noch ca. 3 Stunden :-? (lief schon die ganze Nacht durch!)

Bin gespannt 8)