Hallo Mimi,
Zitat
tja, hätt ich die Anpassung mal bei dir in Auftrag gegeben.
Dann hättest Du bei Problemen natürlich die volle Funktionsgarantie, aber so habe ich das natürlich auch nicht gemeint. Ich freue mich sogar, wenn sich Leute selbst an Plugins und Modifikationen herantrauen! Davon lebt ja letztlich die Plattform. Nur muss ich natürlich dann darauf hinweisen, dass individuelle Codehilfe natürlich leider kein Teil des Supportpaketes ist und daher meine Hilfestellung nicht wie gewohnt die Komplettlösung sein kann und ich höchstens ein paar Tipps als Anregung geben kann. Man muss sich in Fremdcode ja ansonsten erst einmal einlesen, etwas ggf. nachstellen, testen, etc. - je nach Umfang geht da schnell eine Stunde oder deutlich mehr drauf, das könnte man dann natürlich in einem Pauschalpaket so nicht für jeden halten (ist daher im Grunde bei jedem Hersteller so). Also das praktisch nur so ein Hinweis nebenher gewesen. Natürlich hast Du dann trotzdem noch Möglichkeiten, wenn Du weitere Unterstützung bei Eigenentwicklungen benötigst: Entweder ich schaue mir das „vor Ort“ an und teste und man rechnet dann die Arbeitszeit ab, oder Du fragst hier im „Developer-Talk“, ob ein anderer Entwickler eine Idee hat. Oder in einem Forum für PHP Programmierung, wobei die zum Testen auch mindestens sich das Problem bzw. die Auswirkungen in Deinem Forum ansehen müssten.
Aber vielleicht helfen Dir meine Anhaltspunkte ja auch schon weiter, die kann ich Dir natürlich gerne mal geben:
Ich habe jetzt mal in einem Testforum ein blankes Portal und einen blanken MediaManager in aktueller Version installiert und dabei festgestellt, dass normal mit dem MediaManager gepostete Bilder ohnehin schon mit dem Originalcode als „erstes Bild“ in der Automatikbox gezeigt werden. Mit komplexem Code (z.B. MediaManager Galerie) sieht das dann ggf. anders aus, aber zumindest ist die Bildanzeige im Original auch schon automatisch auf den MediaManager ausgeweitet und sollte direkt funktionieren.
Ich hätte also für Dein Problem nur folgende Ideen/Hinweise:
Hinweis 1:
Versuche einmal den Originalcode zu verwenden, ändere allerdings nur das reguläre preg_match:
Code
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $res['post_text'], $matches);
auf folgendes um:
Code
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/ism', $res['post_text'], $matches);
damit würdest Du Codekonstellationen um Carrier-Returns und Multiline abdecken und vielleicht wird dann auch im Galerie-Modus ein Bild vom MM mit ausgelesen.
Hinweis 2:
Beachte, dass der Code sich auf gekürzte Automatik Boxen bezieht:
Code
if($boxinfo['bshorten']>0)
Achte also im ACP darauf, dass Du bei "Text kürzen nach x Zeichen" eine Zahl größer 0 eingetragen hast, sonst wird die Codepassage komplett übersprungen.
Hinweis 3:
In dem von Dir hinzugefügten preg_match erkennst Du Links und zwar nur, wenn sie das Format .jpg haben:
Code
preg_match('/<a.+href="(?P<upl>.+?\.jpg)".*>/', $res['post_text'], $matches);
Eventuell werden hier also auch "normale" Links (also a, nicht img) mal fälschlich erkannt oder eher Bilder anderer Formate (.gif, .png) nicht aufgenommen, da Du es ja auf .jpg beschränkt hast. Eventuell musst Du hier also als Identifikator den Pfad zum MM Ordner mit aufnehmen (und später wieder anhängen, wenn es nicht Teil vom Matching ist) oder eben noch auf .png und .gif erweitern (Links zu einem Bild, unabhängig ob MM oder nicht, vermutlich ist das sogar die Ursache).
Einen Hinweis kann Dir hier immer ein Blick in die Quelltext Ausgabe einer fehlerhaften Seite sein, was hier (oder was nicht) als Link in den Quelltext für ein Bild ausgegeben wird. Wenn kein "falsches Bild" kommt (irgend ein anderer Link wurde erkannt, der aber kein Bild ist), dann schätze ich, dass die Fehlenden Bilder viellelicht ein png oder jp
eg oder gif waren und daher aktuell durch Dein Erkennungsraster fallen. Mit einer Anpassung Deines Matchers sollte das dann behoben sein. Auch kannst Du bei Deinem matching hinten auch den Modus /ism verwenden, das ignoriert groß/kleinschreibung (.JPG, .jPg, .PnG, ...), dehnt sich auf mehrere Zeilen aus (multiline) und stolpert nicht über \n's und \r's.
So könnte das also eventuell mit Deinem geänderten matcher dann schon besser funktionieren im Falle von MM-Galerien, die nicht in die normale Bilderkennung fallen:
Code
preg_match('/<a.+href="(?P<upl>.+?\.(jpg|jpeg|png|gif))".*>/ism', $res['post_text'], $matches);
ist aber jetzt ungetestet, eventuell musst bissel nachfeilen.
Hoffe die schnellen Tipps helfen Dir!
Viele Grüße,
Chris