Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
MyBB in Drupal integrieren
#1
Guten Abend,

Ich habe in diesem Thread eine Möglichkeit gefunden, wie einzelne Funktionen (vor allem die Prüfung, ob der User eingeloggt ist) in eine andere Seite eingebaut werden können.
Mein Ziel ist es vorerst mal, die global.php vernünftig in mein Drupal-Template zu integrieren.
Nach seitenweisem Lesen und rumprobieren, komme ich aber nicht weiter.
Das Problem scheint zu sein, dass ich mit chdir auf die global.php zugreifen muss, damit von dort aus richtig weiter referenziert werden kann. Gleichzeitig bringt mir die ganze Sache aber mein Drupal-Template komplett durcheinander.

Hier mal der Code, den ich zur Zeit zu Beginn der Seite eingebunden habe:

Code:
$level = "/www/htdocs/________/MountainboardWorld/forum";
define('IN_MYBB', 1);
chdir($level);
require('global.php');

Ich bekomme inzwischen zumindest keine Fehlermeldung mehr, dass global.php nicht gefunden wird, dafür aber die folgende:


Zitat:Fatal error: Call to a member function simple_select() on a non-object in /www/htdocs/________/MountainboardWorld/forum/inc/class_datacache.php on line 79

Hier ist jetzt zu sehen, dass mein Code die Datei class_datacache.php, die eigentlich zu Drupal gehört, im von mir vorher definierten Forenverzeichnis sucht, was mir eben schlussendlich die ganze Seite zerschießt.


Ich bin neu was PHP angeht und daher noch nicht so richtig drin im Thema. Hat da jemand vielleicht eine Idee, wie ich das Problem lösen könnte?
Dachte an eine Art sich anschließenden reset und habe es einfach mal so probiert:

Code:
require('./');

Scheint aber auch falsch zu sein.

Späteres Ziel wäre dann eben vielleicht die Miniaturversion einer Bridge für MyBB/Drupal, weil ich das leider nirgends finden konnte und die Funktion wirklich gut gebrauchen könnte...

Vielen Dank schon mal,

Nico
#2
Gerade bei PHP findest du praktisch kein Projekt, das so 100% modular geschrieben ist, daß man so eine wilde Code-Mischung machen kann.

Du kannst nicht zwei Main-Programme die beide den globalen Namespace und den Request für sich alleine haben wollen miteinander vermischen. Das geht garantiert schief. Du kannst einzelne Funktionen verwenden wenn sie 100% in ein Objekt / eine Klasse gekapselt sind, so daß sie nichts anderes stören können. Ansonsten musst du halt den Code selber kapseln oder selber schreiben.

Eine Bridge funktioniert normalerweise so, daß beide Projekte unabhängig voneinander laufen, aber durch ein Plugin auf jeder Seite dafür gesorgt wird, daß Usersessions usw. synchronisiert werden. Entweder indem jedes Plugin die Datenstruktur des jeweils anderen Projekts versteht, oder indem beide Plugins ihre eigene Tabelle anlegen und sich diese teilen.

Die Überschneidung findet also in der Datenschicht / Datenbank statt und nicht indem Code von beiden Projekten in einem Request zusammen eingebunden wird. D.h. kein define / chdir / require, und keine Seiten auf denen eine Hälfte des Outputs von Projekt A und die andere Hälfte des Outputs von Projekt B stammt. Das funktioniert nicht, solange die Projekte nicht speziell darauf ausgelegt sind.
#3
Hm heißt dann im Klartext, dass mir nichts anderes übrig bleibt, als mich in die Datenstruktur und die Userverwaltung der beiden System einzuarbeiten, richtig?
Meinst du, das ist mit genügend Aufwand auch als "Einsteiger" machbar? Ich hätte wirklich die Motivation, da meine Zeit rein zu stecken, wenn ich dafür aber erst 5 Semester Informatik studieren muss, lass ich es lieber bleiben wie es ist.

Danke für die ausführliche Antwort!
#4
Um eine Bridge entwickeln zu können musst du dich mit beiden Systemen auskennen, ja. (Auskennen == in der Lage sein Plugins dafür zu schreiben und mit der Datenbank zu arbeiten). Eine ordentliche Bridge zu schreiben die wirklich alles mitbekommt (Logins Logouts Registrierungen Bans Profiländerungen etc. auf beiden Seiten) ist alles andere als trivial. Gerade bei MyBB+Drupal haben sich schon mehrere dran versucht aber niemand hat was brauchbares auf die Beine gestellt.

Oder anders gesagt, wenns einfach wär gäbs das schon längst. Wink
#5
Hm, dann ist das wohl für mich erst mal relativ aussichtslos...
Hab schon lange drüber nachgedacht, wie ich das mit den Accounts regle. Ich habe leider wenig vorausschauend eine Website technisch komplett fertig gemacht, und zwar mit einem bunten Mix aus Drupal, MyBB und Wordpress. MyBB und Wordpress stehe ich mit WordBB zumindest ansatzweise an einer Lösung, aber Drupal und MyBB scheinen wohl echt Probleme zu machen.

Dann wird es wohl nur mit 2 Accounts pro User gehen, so blöd es auch ist. Will eigentlich weder auf MyBB noch auf Drupal verzichten...

Naja trotzdem vielen Dank, dass du dich da mal klar zu geäußert hast. Bisher habe ich nur längst stagnierte Projekte im Netz gefunden, wo die Entwicklung ohne Angabe von Gründen eingestellt wurde.
Schade.