Konverter Erweiterung

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Gesperrt
MidgeZ
Mitglied
Beiträge: 2
Registriert: 06.12.2011 21:22

Konverter Erweiterung

Beitrag von MidgeZ »

Hallo phpbb.de Community... :)

Ich würde mich wahnsinnig freuen, wenn mir jemand behilflich sein könnte...
  1. die convert_phpbb20.php um die Abfrage einer Spalte, mit der Bezeichnung 'post_az' aus der Tabelle posts_text zu erweitern. Leider fehlt es mir an dem notwendigen Know-How, um alle Zusammenhänge bzw. Abläufe im Konverter vollständig verstehen zu können. Mein Halbwissen reicht aber aus um zu wissen, was ein Array ist. Trotzdem erschließt sich mir nicht ganz die Zusammensetzung der im Konverter aufgeführten mit drei Parametern gefüllten Arrays. Könnte es vielleicht so funktionieren...

    array('Tabellenspalte_in_neuer_DB', 'Tabelle.Spalte_in_alter_DB, 'eventuelle_Funktion '),

    Wenn dem wirklich so ist, dann bräuchte ich wohl doch nur in der neuen DB in der Tabelle posts_text eine entsprechende Spalte 'post_az' erstellen und folgendes Array... array('post_az,'posts_text.post_az', ''), an entsprechender Stelle in der convert_phpbb20.phpeinfügen?
  2. Wenn ich die englischen Kommentare (u.a. ab Zeile 473 - Zitat: "Increment user id if the old forum is having a user with the id 1")in der functions_phpbb20.php richtig verstehe, wird die originale User-ID nur übernommen, wenn in der alten DB kein User mit der user_id 1 vorhanden ist? Verstehe ich dies richtig oder gibt es noch andere Faktoren, die die originale UserID beeinflussen könnten?
Besten Dank im Voraus für dein Interesse und die Beantwortung meiner Fragen.
Midge
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Konverter Erweiterung

Beitrag von Helmut »

Hallo MidgeZ,

es ist wirklich kein Problem, Spalten von Tabellen aus dem alten Forum im Converter zu übernehmen. Hier mal ein Beispiel von mir für die zusätzlichen Profilfelder: viewtopic.php?p=1055614#p1055614

Klar musst du vorher in der neuen Tabelle die entsprechende Spalte anlegen sonst geht es nicht. Willst du den Inhalt der Spalte 1:1 übernehmen, oder müssen die Daten ggf. noch umgewandelt werden?
Sollte das der Fall sein, dann ist es etwas komplizierter, geht auch aber dazu muss noch etwas in die functions_phpbb20.php rein welche die Daten umarbeitet.

In deinem Fall müsstest du nur das hier machen, dann sollte es gehen:

Öffne convert_phpbb20.php und finde darin:

Code: Alles auswählen

            array(
                'target'        => POSTS_TABLE,
                'primary'        => 'posts.post_id',
                'autoincrement'    => 'post_id',
                'query_first'    => array('target', $convert->truncate_statement . POSTS_TABLE),
                'execute_first'    => '
                    $config["max_post_chars"] = 0;
                    $config["min_post_chars"] = 0;
                    $config["max_quote_depth"] = 0;
                ',

                array('post_id',                'posts.post_id',                    ''),
                array('topic_id',                'posts.topic_id',                    ''),
                array('forum_id',                'posts.forum_id',                    ''),
                array('poster_id',                'posts.poster_id',                    'phpbb_user_id'),
                array('icon_id',                0,                                    ''),
                array('poster_ip',                'posts.poster_ip',                    'decode_ip'),
                array('post_time',                'posts.post_time',                    ''),
                array('enable_bbcode',            'posts.enable_bbcode',                ''),
                array('',                        'posts.enable_html',                ''),
                array('enable_smilies',            'posts.enable_smilies',                ''),
                array('enable_sig',                'posts.enable_sig',                    ''),
                array('enable_magic_url',        1,                                    ''),
                array('post_username',            'posts.post_username',                'phpbb_set_encoding'),
                array('post_subject',            'posts_text.post_subject',            'phpbb_set_encoding'),
                array('post_attachment',        ((defined('MOD_ATTACHMENT')) ? 'posts.post_attachment' : 0), ''),
                array('post_edit_time',            'posts.post_edit_time',                array('typecast' => 'int')),
                array('post_edit_count',        'posts.post_edit_count',            ''),
                array('post_edit_reason',        '',                                    ''),
                array('post_edit_user',            '',                                    'phpbb_post_edit_user'),
 
Füge danach ein:

Code: Alles auswählen

                //Deine Spalte
                array('post_az',            'posts_text.post_az',            'phpbb_set_encoding'),
                //--------------
 
Wenn deine Spalte post_az keinen Text enthält, dann schreibst du statt 'phpbb_set_encoding' nur '' in die Zeile rein (wie bei post_id).


Das stimmt, die UserIDs werden so übernommen, außer für den Administrator weil der im alten Forum 1 hatte und im neuen Forum die ID1 das Gastkonto ist (war im alten Forum -1). Der Admin bekommt dann eine ID welche sich ganz am Ende befindet.

Du solltest aber die Konvertierungen erst mal lokal z.B. auf xampp mit einer Kopie deines Forums testen bevor du die endgültige Konvertierung vornimmst.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
MidgeZ
Mitglied
Beiträge: 2
Registriert: 06.12.2011 21:22

Re: Konverter Erweiterung

Beitrag von MidgeZ »

Hallo Helmut... ganz lieben Dank für deine ausführliche und super schnelle Hilfe! Die Spalte 'post_az' ist in der Tat Text... es sind ISBN-Codes. Dein Hinweis mit dem lokalen Test finde ich super... doch fehlt mir dazu derzeit die Möglichkeit. Ich werde es wie von dir empfohlen umsetzen und bei eventuellen Problemen, leere ich halt nochmal die entsprechenden Tabellen im Ziel-Forum.

Übrigens (keine Ahnung warum), besitzt der erste Admin in meiner alten DB die UserID 2... UserID 1 ist nicht vergeben. Es wäre also problemlos möglich Anonymous von ID -1 auf eins zusetzen. Es ist mir sehr wichtig, dass die originalen UserIDs erhalten bleiben, denn ich kann nicht mehr genau sagen ob diese in der Historie des Forums (8 Jahre) irgendwo Verwendung fanden.

Ebenso hoffe ich, dass die originalen Beitrags-, Themen-, Foren- und Kategorie-IDs (trotz Lücken im autoincrement) erhalten bleiben...

Also Danke nochmals... ! :)
Midge
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“