Page 1 of 1

Mehrere Foren mit der selben User-Tabelle verwenden

Unread postMessage posted...: Tue 22. May 2012, 21:27
by Thomas
Nachdem ich in letzter Zeit öfters danach gefragt wurde habe ich nun zu diesem Thema ein kleine Anleitung erstellt:

Dieses Code-Snippet ermöglicht die Nutzung von mehreren Foren mit der selben Usertabelle.


Dies lässt sich durch gezielte Änderungen in 2 Dateien ganz einfach realisieren, wenn alle Tabellen in einer DB gespeichert sind:
(Bitte zuerst das komplette Tutorial lesen, um Problemen vorzubeugen)

Wichtig: Die Änderungen müssen an dem zusätzlichen Forum durchgeführt werden!

Öffne die /includes/constants.php und ersetzte in folgende Zeilen:
Code: Select all
define('ACL_ROLES_TABLE',         $table_prefix . 'acl_roles');
Code: Select all
define('BANLIST_TABLE',            $table_prefix . 'banlist');
Code: Select all
define('BBCODES_TABLE',            $table_prefix . 'bbcodes');
Code: Select all
define('BOTS_TABLE',            $table_prefix . 'bots');
Code: Select all
define('GROUPS_TABLE',            $table_prefix . 'groups');
Code: Select all
define('LANG_TABLE',            $table_prefix . 'lang');
Code: Select all
define('PRIVMSGS_TABLE',         $table_prefix . 'privmsgs');
Code: Select all
define('PRIVMSGS_FOLDER_TABLE',      $table_prefix . 'privmsgs_folder');
Code: Select all
define('PRIVMSGS_RULES_TABLE',      $table_prefix . 'privmsgs_rules');
Code: Select all
define('PRIVMSGS_TO_TABLE',         $table_prefix . 'privmsgs_to');
Code: Select all
define('PROFILE_FIELDS_TABLE',      $table_prefix . 'profile_fields');
Code: Select all
define('PROFILE_FIELDS_DATA_TABLE',   $table_prefix . 'profile_fields_data');
Code: Select all
define('PROFILE_FIELDS_LANG_TABLE',   $table_prefix . 'profile_fields_lang');
Code: Select all
define('PROFILE_LANG_TABLE',      $table_prefix . 'profile_lang');
Code: Select all
define('RANKS_TABLE',            $table_prefix . 'ranks');
Code: Select all
define('REPORTS_TABLE',            $table_prefix . 'reports');
Code: Select all
define('SESSIONS_TABLE',         $table_prefix . 'sessions');
Code: Select all
define('SESSIONS_KEYS_TABLE',      $table_prefix . 'sessions_keys');
Code: Select all
define('USER_GROUP_TABLE',         $table_prefix . 'user_group');
Code: Select all
define('USERS_TABLE',            $table_prefix . 'users');
Code: Select all
define('WARNINGS_TABLE',         $table_prefix . 'warnings');
Code: Select all
define('ZEBRA_TABLE',            $table_prefix . 'zebra');


Diesen Codeteil:
Code: Select all
$table_prefix


Durch diesen Codeteil:
Code: Select all
$table_prefix2



Öffne die /config.php und füge nach folgender Zeile den folgenden Code ein

Code: Select all
$table_prefix = phpbb_2_';
-->
Code: Select all
$table_prefix2 = 'phpbb_';


phpbb_ Ist das präfix vom Forum, dessen User-Tabelle verwendet werden soll.
phpbb_2_ ist das präfix von den Tabellen des zusätzlichen Forums.
Beide Präfixe müssen durch die entsprechenden ersetzt werden.

Anmerkungen:
Diese Variante habe ich bereits öfters erfolgreich genutzt. Trotzdem ist es ratsam vor der Nutzung ein Backup der DB zu machen, um eventuellen Datenverlust zu verhindern.
És werden durch das Snippet die wichtigen Tabellen zur Nutzerverwaltung vom Hauptforum genutzt, in welchem auch die Registrierung stattfinden sollte.
Sollte es Probleme geben stehe ich gerne zur Verfügung. Desweiteren würde ich mich über ein Feedback freuen ;)