Dr. Scream 0 Report post Posted February 24, 2004 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
Stefan 0 Report post Posted February 24, 2004 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
Dr. Scream 0 Report post Posted February 24, 2004 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
Stefan 0 Report post Posted February 24, 2004 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
Dr. Scream 0 Report post Posted February 24, 2004 Naja sonst müsste ich jetzt eben von Hand durchgehen und die einzelnen User umtragen....ich denke jedoch das das einige Zeit in anspruch nehmen würde. Share this post Link to post
Silaz 0 Report post Posted February 24, 2004 ich finde so einen Mod fehlt einfach (in deiner Samlung Stefan) :) Share this post Link to post
craxelburger 0 Report post Posted February 24, 2004 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
Stefan 0 Report post Posted February 25, 2004 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
craxelburger 0 Report post Posted February 25, 2004 Würde es dann auch funktionieren das Board 2x oder öfter im selben Verzeichnis laufen zu lassen? Um Webspace zu sparen und nicht immer Mods 2x einbauen zu müssen... Share this post Link to post
Stefan 0 Report post Posted February 25, 2004 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
craxelburger 0 Report post Posted February 25, 2004 Ich hab mal versuchsweise eine Kopie der index hochgeladen (index_e.php). Scheinbar ist das doch nicht so einfach, da jeder Link auf die index.php bezogen ist... Share this post Link to post
Stefan 0 Report post Posted February 25, 2004 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
craxelburger 0 Report post Posted February 25, 2004 Hmm, werd ich heute abend mal testen. Nur dann sind leider nur zwei Sprachen möglich... Aber besser wie nichts... Share this post Link to post
Stefan 0 Report post Posted February 25, 2004 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
craxelburger 0 Report post Posted February 25, 2004 (edited) 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.... 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 February 25, 2004 by craxelburger Share this post Link to post
Stefan 0 Report post Posted February 26, 2004 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
craxelburger 0 Report post Posted February 27, 2004 Muß mit dem Member Sync Modul realisiert werden. Gibt es denn dafür ein Tutorial, wie man dieses Modul benutzt? Klar, ich hab das File zwar gefunden, weiss aber nicht wie ich es einsetzen kann. Share this post Link to post
Stefan 0 Report post Posted February 27, 2004 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
Dr. Scream 0 Report post Posted February 27, 2004 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
craxelburger 0 Report post Posted February 27, 2004 Wie gesagt, am Wochenende schau ich mal nach, wenn ich die Zeit finde. Danke, Stefan. Share this post Link to post
Stefan 0 Report post Posted March 3, 2004 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
craxelburger 0 Report post Posted March 3, 2004 Ist ja nicht so schlimm... Wollte nur nicht das es in Vergessenheit gerät... Ok, werd ich demnächst per PM machen. War nicht böse gemeint. :) Share this post Link to post
Stefan 0 Report post Posted March 3, 2004 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