Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Beitragsvorschau > Fehlermeldung
#11
(17.08.2023, 17:14)Schnapsnase schrieb: Ist hierfür evtl. ein Plugin aktiv?
Treffer!
Die Ursache ist dem PlugIn phpptl (ob Original vom 26.06.2023 oder modifiziert von Dir - wegen Helpfiles) geschuldet. Wenn ich das PlugIn deaktiviere funktioniert die Vorschau fehlerfrei.

Nur kann ich mir aus der Fehlermeldung (siehe OP) nicht ableiten wo im PlugIn der Fehler sein bzw. wie man ihn beheben könnte. Die Begriffe "MyBBXMLParser" bzw. "Parser"kommen im PlugIn nicht vor.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#12
Das wird dann sehr wahrscheinlich auch nicht am Plugin selbst liegen, sondern eher an einer Modifikation in einem Templates, die du mit Hilfe dieses Plugins betreibst.
Ich kann das bei mir gerade nicht testen - geht erst wieder ab Montag. Wink

Schönes WE
Zitieren
#13
(18.08.2023, 13:42)Schnapsnase schrieb: Ich kann das bei mir gerade nicht testen - geht erst wieder ab Montag.

Hast ja noch den FTP- und Adminzugang zum Testforum. Das ist mit dem Standardtemplate und meldet das Selbige.

Lass Dir Zeit, bin eh froh wenn sich jemand darum bemüht.

Nice weekend i wish.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#14
(18.08.2023, 06:09)Schnapsnase schrieb: Das verstehe ich soweit Stefan, aber warum sollte das dann nur bei firstpost passieren.
Beim Parsen wird doch nicht zwischen newthread und newreply unterschieden, oder irre ich mich da.
Das Problem hat mit dem Parser auch nichts zu tun, dieser kommt gar nicht zum Einsatz, wenn $parser an irgendeiner Stelle überschrieben wird. Letztlich kann die Beobachtung von Gerti auch reiner Zufall sein und die Bedingungen bei der irgendein Plugin ausgelöst wird, ist eine ganz andere.

Welches Plugin im Front-End irgendwelche XML-Dateien verarbeiten könnte, kann ich nur spekulieren. Das ist ziemlich ungewöhnlich oder vielleicht auch ein Programmierfehler.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#15
@Gerti

Ich habe es nun in meinem und mehreren anderen Foren getestet und konnte deinen Fehler nicht reproduzieren.
Das Plugin "PHP in Templates" verursacht diesen Fehler offensichtlich nicht - zumindest nicht bei mir. Wink
Auch in Verbindung mit dem Wortfilter kann ich keine Fehler feststellen.
Nun stellt sich die Frage, welche Plugins bei dir noch aktiviert sind...
Zitieren
#16
Es sind im Testforum lediglich die PlugIns error_viewer und phpptl enthalten.

Könnte die Anmerkung von Doylecc bzgl. XML auch etwas damit zu tun haben?
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#17
(17.08.2023, 17:27)StefanT schrieb: Offenbar überschreibt dir irgendeine Plugin oder eine Modifikation die Variable $parser. Das darf kein MyBBXMLParser sein.

@StefanT

Nach mehreren Tests gebe ich dir mit deiner Vermutung Recht. Allerdings finde auch ich den Verursacher nicht.
Mit dem Plugin "PHP in Templates" und/oder der PHP-Version hat es nichts zu tun, da die Kombi in anderen Foren auch funktioniert.
Ich bin nun vorab zu folgender Lösung gekommen:
In der /inc/functions_post.php ab Zeile 36

PHP-Code:
// Set up the message parser if it doesn't already exist.
    
if(!$parser)
    {
        require_once 
MYBB_ROOT."inc/class_parser.php";
        
$parser = new postParser;
    } 
 
ändern in:
PHP-Code:
// Set up the message parser if it doesn't already exist.
    
        
require_once MYBB_ROOT."inc/class_parser.php";
        
$parser = new postParser

Damit wird die Variable an der Stelle zwangsweise (wieder) mit dem Postparser gefüllt.
Natürlich ist das nur ein Mittel zum Zweck, aber ich komme nicht an den Verursacher des Problems.
Wie sich das an anderer Stelle auswirkt, bleibt abzuwarten. Es funktioniert aber augenscheinlich erstmal. Wink
Zitieren
#18
Ich würde einfach mal alle Dateien nach "create_xml_parser" durchsuchen (geht mit Tools wie Notepad++ ja schnell und komfortabel). Diese Funktion wird im Front-End an keiner Stelle genutzt und sollte daher schnell gefunden sein: https://crossreference.mybb.de/nav.html?...arser.html

Wenn es an beiden Plugins nicht liegt, muss ja irgendetwas anderes modifiziert sein und stört möglicherweise noch an anderer Stelle.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#19
(23.08.2023, 19:11)StefanT schrieb: Ich würde einfach mal alle Dateien nach "create_xml_parser" durchsuchen...

Ja, diese Funktion gibt es bei Gerti in includierten Dateien...
Allerdings habe ich testweise alle includes aus den Templates entfernt und hatte trotzdem keinen Erfolg. Huh
Wenn meine Dateiänderung jetzt zielführend ist, dann gut und Gerti muss selbst weiter suchen.
Ich habe dafür zu wenig Einblick.  Wink

Trotzdem danke Stefan für den entscheidenden Hinweis.

VG
Zitieren
#20
(23.08.2023, 17:42)Schnapsnase schrieb: Damit wird die Variable an der Stelle zwangsweise (wieder) mit dem Postparser gefüllt.
Dafür besten Dank

(23.08.2023, 19:11)StefanT schrieb: Ich würde einfach mal alle Dateien nach "create_xml_parser" durchsuchen...
Danke für die Anregung welche ich durchgeführt und mit den Original-MyBB-Dateien verglichen habe .
Ergebnis siehe Grafik:
   
Fazit: Der gesuchte Begriff ist stets identisch gegeben.

In den Templates kommt der Begriff "create_xml_parser" nirgendwo vor.

Schnapsnase hat mir soeben noch einen Tipp übermittelt welchen ich austesten werde.

Bei positivem Ergebnis werde ich berichten.
Fehlerquelle gefunden und beseitigt!

Ursache war, das ich in einem eigenen includiertem PHP-File die MyBB-Version abgefragt habe und mit Hilfe von:
PHP-Code:
$parser create_xml_parser($contents);
$tree $parser->get_tree(); 
ausgewertet habe.

Bis einschl. PHP-7.4 funktionierte das bisherige Konstrukt fehlerfrei. Erst mit PHP-8 kam das Problem, der nicht funktionierenden Vorschau jedoch nur bei neuen Beiträgen, auf.

Ich habe nun die Abfrage komplett umgeschrieben damit ich den $parser nicht mehr verwenden muss.

Meinen aufrichtigen Dank an Schnapsnase für seinen aktiven, intensiven Einsatz die Fehlerquelle dezidiert einzukreisen sowie StefanT für die Hinweise zur Findung der Fehlerquelle.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren