Probleme bei der Konvertierung von 2.0.3 nach RC1

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Benutzeravatar
kellanved
Mitglied
Beiträge: 570
Registriert: 05.02.2005 15:15
Wohnort: Berlin

Beitrag von kellanved »

Das mit den Geburtstagen hört sich nach einem Bug an :D .
Bitte keine Supportanfragen via PM
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo,

ich bin jetzt noch nicht weiter gekommen mit meinem Problem der Geburtszage, die vor dem 01.01.1970 liegen und bei der Konvertierung nicht mit übernommen werden. Hat jemand von einer aktuellen Version die Konvertierung gemacht und ist da auch der Fehler aufgetreten?

Die Sache mit den selbst erstellten Profilfeldern im 2.0.3 oder auch spätere Versionen, wie Eingangs schon gesagt, beschäftigt mich auch noch, hat da schon jemand eine Lösung?

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

nach oben schieb .... :wink:
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo Leute,

ich war jetzt einige Wochen nicht da und konnte mich nicht um das Problem kümmern.

Das Problem mit dem Birthdaymod mit den Geburtstagen die vor dem 01.01.1970 liegen besteht auch weiterhin mit dem RC3, das habe ich eben getestet. Hat sonst noch jemand das gleiche Problem bei der Konvertierung der Datenbank von 2.0.x auf RC3 und vielleicht schon eine Lösung dazu?

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Beitrag von bantu »

Wie heißen denn bei dir die beiden User-Tabellen (also phpBB2 und phpBB3)?

Ergänzung:
Wie ist deine Serverumgebung? Welches Betriebsssytem und welcher Webserver läuft?
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo bantu,

danke dir für deine Antwort. Hier nochmal der Text aus meinem Eingangsposting:
Birthdaymod:
Ich habe die Version 1.4.6 (Niels Chr. Denmark < ncr@db9.dk > (Niels Chr. Rød) HTTP://mods.db9.dk) eingebaut, dabei wird in der Tabelle "phpbb_users" die Spalte "user_birthday" und "user_next_birthday_greeting" angelegt. Wenn kein Geburtstag angegeben ist, dann ist die Spalte "user_birthday" mit dem Wert "999999" gefüllt und in der Spalte "user_next_birthday_greeting" ist "0" eingetragen. Wenn ein Geburtstag angegeben ist, dann steht in der Spalte "user_birthday" z.B. für den 14.01.1965 der Wert "-1813" und in der Spalte "user_next_birthday_greeting" der Wert "2008" drinnen. Bei der Konvertierung wird aber die Spalte "user_birthday" in der Tabelle "php_users" vom neuen Forum nicht gefüllt, da steht nur der Wert "0- 0- 0" drinnen, obwohl beim betreffenden User im alten Forum ein Geburtstag eingetragen war.
Alle Geburtstage die nach dem 01.01.1970 liegen, also kein negatives Vorzeichen in der Spalte "user_birthday" vom alten Forum, diese werden fehlerfrei übernommen. Ich vermute mal, dass bei der Auswertung des Vorzeichens während der Konvertierung ein Fehler drinnen ist.

Ich bin bei Framecom, das System läuft unter Linux "Linux bragi 2.6.8-24-bigsmp #1 SMP Wed Oct 6 09:16:23 UTC 2004 i686", php Version "4.4.2" und MySQL Version "4.0.21-Max"

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

Beitrag von bantu »

Versuch mal folgendes:

Öffne

Code: Alles auswählen

phpBB3-RC3/install/convertors/functions_phpbb20.php
Suche (~ Zeile 453)

Code: Alles auswählen

if (!$birthday || $birthday == 999999 || $birthday < 0)
und ersetzte durch

Code: Alles auswählen

if (!$birthday || $birthday == 999999)
Gruß,
bantu
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo bantu,

ich habe die Änderung gerade getestet, auf den ersten Blick scheint es zu klappen, auch die Geburtstage vor dem 01.01.1970 werden jetzt übernommen. Es scheint wohl, dass da ein Bug drinnen ist in der Datei.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Re: Probleme bei der Konvertierung von 2.0.3 nach RC1

Beitrag von Helmut »

Hallo,

es ist schon eine Weile her, dass ich den Beitrag geschrieben habe. Nachdem nun alle Punkte erledigt sind, möchte ich euch die Lösung für die Übernahme der zusätzlichen Profilfelder vom phpbb2 bei der Konvertierung nicht vorenthalten.
Helmut hat geschrieben:[...]

zusätzliche Profilfelder
gibt es einen einfachen Weg, um die zusätzlich angelegten Profilfelder vom 2.0.3 nac RC1 zu übernehmen? Ich habe einige zusätzliche Profilfelder eingebaut (Mod: "Neues Feld in Profil einfügen" Version 1.2.2 von Acid), dabei werden die zusätzlichen Felder in der Tabelle phpbb_users angelegt.
Um die zusätzlichen Profilfelder (Mod: "Neues Feld in Profil einfügen" Version 1.2.2 von Acid) zu übernehmen, sind folgende Schritte vor der Konvertierung nötig:
  1. Mit phpmyadmin die Tabelle phpbb_users vom phpbb2 aufrufen und nachschauen wie das zusätzliche Profilfeld benannt wurde (z.B. user_hobby)
  2. Im phpbb3 im ACP (benutzerdefinierte Profilfelder) ein neues Profilfeld anlegen:
    • Art des Feldes: Einzeiliges Textfeld
      Feld-Kennung: hobby
      Auswahl der Anzeigeoptionen .....
      Dem Benutzer angezeigter Name/Titel: Hobby
      Spezifische Optionen der Feldart einstellen (Feld muss so groß sein wie im alten Forum)
      Zulässige Werte: Alle Zeichen
      .....
      Dann Speichern
  3. Die Datei install/convertors/convert_phpbb20.php öffnen

    Finde darin:

    Code: Alles auswählen

    	/**
    	* Tests for further MODs can be included here.
    	* Please use constants for this, prefixing them with MOD_
    	*/
    
    Dahinter einfügen:

    Code: Alles auswählen

    	//-- mod : custom_profilefields ----------------------------------------
    	
    		$sql = "SELECT user_hobby
    			FROM {$convert->src_table_prefix}users
    			WHERE user_id = " . ANONYMOUS;
    		$result = $src_db->sql_query($sql);
    		
    		if ($result !== false)
    		{
    			define('MOD_USER_HOBBY', true);
    		}
    		
    		$src_db->sql_freeresult($result);
    
    	//----------------------------------------------------------
    
    Finde weiter unten:

    Code: Alles auswählen

    			array(
    				'target'		=> USER_GROUP_TABLE,
    
    				array('group_id',		'user_group.group_id',				''),
    
    Davor einfügen:

    Code: Alles auswählen

    			// -----------------------------------------------
    			array(
    				'target'		=> PROFILE_FIELDS_DATA_TABLE,
    				'primary'		=> 'users.user_id',
    				'query_first'	=> array('target', $convert->truncate_statement . PROFILE_FIELDS_DATA_TABLE),
    
    				array('user_id',				'users.user_id',					'phpbb_user_id'),
    				
    				array('pf_hobby',			((defined('MOD_USER_HOBBY')) ? 'users.user_hobby' : ''),	'phpbb_set_encoding'),
    
    				'where'			=> 'users.user_id <> -1',
    			),
    			//---------------------------------------------
    
    Änderungen abspeichern und den Cache löschen.
  4. Nun die Konvertierung von phpbb2.0.x --> phpbb3.0.x starten. Bei der Konvertierung bleiben die im ACP vom neuen Forum gemachten Einträge für die benutzerdefinierten Profilfelder erhalten.
  5. Nun sollte das zusätzliche Profilfeld beim jeweiligen User je nach Einstellung angezeigt werden.
  6. Wenn die Konvertierung nochmal durchgeführt werden soll, dann muss zuvor die Tabelle "phpbb3_profile_fields_data" geleert aber nicht gelöscht werden!
So das wars, ich hoffe ihr könnt was damit anfangen.

Gruß Helmut :wink:
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
MartectX
Ehemaliger Übersetzer
Beiträge: 648
Registriert: 10.05.2008 17:08
Wohnort: Marienplatz

Beitrag von MartectX »

Wow, Danke für die Anleitung, das sollte man bei den Snippets oder irgendwo mal abspeichern. Ich habe meine selbsterstellten Felder damals händisch übertragen, aber das waren auch nur knapp 120 Nutzer. :roll:
Gesperrt

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