Bug in WBB 4.0.8 PhpBB3xExporter.class.php

  • Affected App
    WoltLab Suite Forum

    Beim Import von Foren und Konversationen eines PHPBB3.x Forums trat ein Fehler in PhpBB3xExporter.class.php in Zeile 1316 auf.


    $text = preg_replace_callback('#\[code=php\](.*)\[/code\]#s', function ($matches) { $content = $matches[2]; <==================== Falscher Index $content = str_replace(array( '<br />', '&nbsp;&nbsp;&nbsp;&nbsp;' ), array( "\n", "\t" ), $content); $content = preg_replace('#(?:<span class="syntax[^"]*">|</span>)#', '', $content); return '[code'.$matches[1].']'.$content.'[/code]'; }, $text);


    Ich kann leider keinen Stacktrace mehr anbieten. Aber schaut man sich die RegEx an, dann sieht man dass $matches nur 2 Elemente hat und der Index 2 nicht existieren kann. Das wäre jetzt natürlich einfach zu fixen, aber der Returnwert der Callback-Funktion macht für mich dann irgendwie keinen Sinn, ich kenne aber die Interna der Software nicht um zu sagen ob ich hier falsch liege und wie das richtig zu fixen ist.


    return '[code'.$matches[1].']'.$content.'[/code]'; <==== Sinn von $matches[1]??


    P.S.: Sorry für die schlechte Formatierung des Codes, aber durch die BBCodes kommt der Editor hier durcheinander.

    Edited 6 times, last by votdev ().

  • Ich habe die Regex in Zeile 1315 folgendermaßen abgeändert um den Import erfolgreich abzuschliessen und den Bug zu fixen:


    #\[code(=php)\](.*)\[/code\]#s

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!