Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Dr. Scream

2Foren / 2Datenbanken / 1Anmeldung

Recommended Posts

Hallo,

ich weis nicht ob die Überschrift schon das sagt was ich mir hierrunter vorstelle.

Es ist so ich betreuhe ja 2 Foren und diese zwei Foren liegen auf unterschiedlichstem Webspace und haben Unterschiedliche Datenbanken.

Jetzt würde ich gerne eine "Fusion" mit diesen beiden Foren eingehen. Das wenn man sich bei dem einen Forum Anmeldet auch automatisch auf dem anderen Forum Angemeldet ist und natürlich auch umgekehrt.

Ist so etwas möglich?

Ich möchte nicht jedesmal die Tabelle mit den Usern von Hand kopieren. Am schönsten wäre wenn das Automatisch gehen würde.

Danke

Dr. Scream

Share this post


Link to post

Sollte eigentlich machbar sein mit dem Member Sync Modul. Dabei müssen die Informationen halt an ein Script auf dem anderen Webspace übermittelt werden, welche es dann in der anderen Datenbank einträgt.

Wie gesagt, das Modul ist soweit vorhanden, würde dann die Mitgliedsinformationen codieren, so das es in eine Variable gespeichert werden kann und an ein Script auf der Gegenstelle übermitteln. Dieses decodiert die Informationen und speichert es in die andere Datenbank.

Wichtig ist nur, das die beiden Mitgliederdatenbanken im Moment synchron sind, dann brauchen auch keine großartigen Kontrollmechanismen eingebaut werden, da die Eingaben von dem einen Forum ja geprüft wurden. :)

Freischaltungen oder Änderungen der Mitgliedergruppen kann man auch über das Modul realisieren, nur wie gesagt, in der Hinsicht sollte es alles gleich sein, dann ist es recht schnell realisiert.

Share this post


Link to post

Naja bis jetzt sind sie leider nicht gleich, ehr gesagt sehr verschieben :)

Das eine Forum hat 198 User und die User IDs sind anders als bei dem anderen Forum wo es 50 User gibt wo ca. die Hälfte garnicht auf dem einen Forum vorhanden sind und umgekehrt.

Share this post


Link to post

Dann ist es ein wenig komplizierter, denn wenn auf dem einen Forum ein Name schon existiert, kann er nicht eingetragen werden. Man müßte einige Kontrollen einbauen.

Wie gesat, bei gleichen Mitgliedertabellen wäre die Realisierung eine Sache von einer halben Stunde oder so. ;)

Share this post


Link to post

Wo kann man dieses Member-Sync-Modul finden, Stefan?

Ich möchte eine englische Version meiner Page machen. Hatte ich ja bereits vor einiger Zeit schon gepostet. Wahrscheinlich werde ich eine Kopie des bestehenden Boards machen und unter einem anderem Prefix laufen lassen. Die Benutzer sollten natürlich gleich sein und sich überall einloggen können...

Welche Tips/Modempfehlungen kannst Du mir geben?

Share this post


Link to post

Das Modul findest du im Verzeichnis modules. ;)

Wenn das zweite Board in der gleichen DB ist, dann ist es recht simpel realisiert. Vielleicht kann ich dir am Wochenende sowas basteln. Sollte nur bei jeder Methode in dem Modul ein SQL Statement implementiert werden, damit es läuft. ;)

Share this post


Link to post

Hab ich noch nicht probiert, sollte aber machbar sein. Eigentlich bräuchte man nur eine seperate index.php und admin.php, die verschiedene conf_global.php aufrufen.

Solange die User auf beiden Foren gleich sind, kommt es auch nicht zu Problemen mit den Avatars oder ähnlichen. Ggf. bei den Uploads, aber da könnte man auch zwei verschiedene Verzeichnisse angeben. Bei den Skins muß ich nochmal überlegen, aber im Moment seh ich da auch kein Problem.

Share this post


Link to post

Naja, als Kniff ginge noch, das du die Datei index.php3 nennst. ;)

Muß nur dein Server parsen können und in der anderen conf_global.php trägst du als php_ext dann php3 ein. :)

Share this post


Link to post

Naja, php4 gibt es auch noch und wenn das nicht reicht, kannst du den Webserver auch anweisen spezielle Dateiendungen zu parsen mittels htaccess. Vorausgesetzt, dein Webhoster erlaubt dir diesen Eingriff per Datei. ;)

Share this post


Link to post

Hmm, das scheint (zumindest zum Großteil) zu funktionieren...

Leider sind an einigen Stellen (z.B. in der Navigation vom Portal) trotzdem noch Zugriffe auf die normale "index.php" anstatt auf "index.php3"...

Eine elegantere Lösung ist wahrscheinlich nicht so einfach, oder?

Kann man nicht die index.php von Anfang an mit einer Option starten, die bestimmt welche conf_global.php genommen wird?

Beispiel: index.php?board=eng oder index.php?board=deu

Aber wahrscheinlich geht das auch wieder nicht, da diese Option dann bei fixen Links (z.B. der Portalnavigation) trotzdem nicht mit übernommen wird.... :wacko:

EDIT:

Das nächste ist natürlich immer noch die Frage wie ich die beiden (SQL)Boards miteinander verknüpfe. Die User sollten sich natürlich nur einmal anmelden und auch keine Probs mit den Avatars und Memberfotos haben...

Edited by craxelburger

Share this post


Link to post

Kann man nicht die index.php von Anfang an mit einer Option starten, die bestimmt welche conf_global.php genommen wird?

Beispiel: index.php?board=eng oder index.php?board=deu

Ja, sowas läßt sich machen und sollte auch ohne Probleme laufen. Kommt nur drauf an, wie konsequent Matt das durchgesetzt hat. ;)

Das nächste ist natürlich immer noch die Frage wie ich die beiden (SQL)Boards miteinander verknüpfe. Die User sollten sich natürlich nur einmal anmelden und auch keine Probs mit den Avatars und Memberfotos haben...

Darüber hab ich mich in den vorherigen Beiträgen ausgiebig ausgelassen. Muß mit dem Member Sync Modul realisiert werden.

Share this post


Link to post

Es ist schon in dem Quelltext des Forums eingebunden und wird immer ausgeführt, wenn etwas in der Hinsicht gemacht wird.

Einfaches Beispiel. :)

Und ich geh jetzt mal davon aus, das es zwei getrennte Foren sind und nicht eins, was auf zwei DB Strukuren zurück greift, da dies das Posting und meine Mittagspause sprengen würde. ;)

Okay, die eine Datenbankstrukur hat den Standardprefix ibf_ und die zweite, die synchronisiert werden soll hat den Prefix ibf2_.

Das Beispiel soll zeigen, wie das Passwort eines Mitgliedes vom Hauptforum (ibf_) auch im Nebenforum (ibf2_) aktualisiert wird.

Benötigt dazu wird die Funktion on_pass_change.

	function on_pass_change($id, $new_raw)
{
 global $DB, $std, $ibforums;

 //---- START


 //---- END
}
Nun muß man den entsprechenden SQL Befehl erstellen und in der Funktion ausführen lassen. Das sehe dann wie folgt aus:
	function on_pass_change($id, $new_raw)
{
 global $DB, $std, $ibforums;
                $new_raw = md5($new_raw); // da im Klartext an die Funktion übergeben wurde, erst verschlüsseln
 //---- START
               $DB->query("UPDATE ibf2_members SET password = '".$new_raw."' WHERE id = '".$id."'", 1); // die 1 ist wichtig, da dann das Prefix nicht umgewandelt wird

 //---- END
}

Und so muß das nun für jede Funktion passieren. ;)

Wie gesagt, am Wochenende schau ich mal nach, wenn ich die Zeit finde.

Share this post


Link to post

Hallo,

ich bin hier nach einiger Zeit nicht mehr so ganz mitgekommen da ich ja noch nichteinmal so weit war.

Nun habe ich aus der ersten Datenbank die Tabelle gesichert und die User entfernt die schon auf dem anderen Board mit diesem Usernamen angemeldet sind.

Kann ich nun ganz simpel die andere Tabelle Importieren?? Oder stimmt da dann etwas mit den User IDs nicht.

Bitte ganz langsam und sachte erklärt damit ich armer wo sich nicht so doll mit SQL auskennt das auch versteht,

Danke

Dr. Scream

Share this post


Link to post

Wie gesagt, am Wochenende schau ich mal nach, wenn ich die Zeit finde.

Ich hab dich schon nicht vergessen, aber es kann auch mal was dazwischen kommen, wie es in dem Fall passiert ist. Ein "Bumpen" des Themas ist nicht notwendig und demnächst darfst du mich auch gern per PM kontaktieren, wenn du wissen möchtest, wann ich Zeit habe. :)

Share this post


Link to post

War nicht böse gemeint. :)

Ich hab es auch nicht so aufgefaßt. :)

Wollte halt nur sagen, das ich es nicht vergessen habe und ich arbeite die Sachen nacheinander ab. Je nach Aufwand kann auch schon mal sein, das ich andere Sachen kurzzeitig vorziehe. :)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×