Benutzung von BBCodes und automatische URL-Erkennung im Tims Chat

  • WCF 1.1
Sie benutzen den Chat von TimWolla aus dem WoltLab Plugin Store und wundern sich, dass bei der Aktivierung des vollen Message-Parser (Einstellung auf „BBCodes und Smileys“ keine Links mehr automatisch erkannt und entsprechend umgewandelt bzw. anklickbar gemacht werden?
Dann sind Sie hier genau richtig und können nach folgender Anleitung dieses „Problem“ durch einen direkten Eingriff in den Quellcode ändern.

BITTE BEACHTEN SIE, DASS SIE NUN EINEN DIREKTEN EINGRIFF AN DEN DATEIEN DES CHATS IM DATEISYSTEM IHRES WOLTLAB COMMUNITY FRAMEWORK DURCHFÜHREN. DER BETREIBER DIESER INTERNETPRÄSENS UND ICH (ALS AUTOR DIESER ANLEITUNG) ÜBERNEHMEN KEINE HAFTUNG FÜR SCHÄDEN, DIE DURCH EINE FEHLERHAFTE DURCHFÜHRUNG ENTSTEHEN KÖNNEN!

Folgende Programme werden benötigt, um die Datei ändern zu können:
  • FTP-Programm (z.B. FileZilla (Open Source)), um auf das Dateisystem Ihres Server bzw. Webspaces zugreifen zu können
  • Einen Editor, der mit PHP-Dateien umgehen kann und am besten auch den Syntax von PHP anzeigt
    (Empfohlen meinerseits wird PSPAD, was ich für diese Minimaländerung
    auch benutzt habe; Ohne Syntaxhervorhebung kann alternativ auch der
    Windows Editor benutzt werden)
Öffnen Sie nun das FTP-Programm Ihrer Wahl und verbinden Sie sich mit dem Server, auf dem das WoltLab Community Framework und der Chat installiert sind. Navigieren Sie anschließend in das Verzeichnis „WCF_VERZEICHNIS/lib/data/chat“ („WCF_VERZEICHNIS“ entspricht meistens „wcf“) und laden Sie sich anschließend die PHP-Datei „ChatMessage.class.php“ herunter.

Starten Sie nun Ihren Editor und öffnen die gerade heruntergeladene Datei namens „ChatMessage.class.php“.

Suchen Sie nun die 49. Zeile, die wie folgt lauten sollte:

PHP-Quellcode: 49

  1. else if (CHAT_PARSER == 'full') {


(Sollten Sie diesen Ausschnitt des Quellcodes nicht in Zeile 49 vorfinden, so verwenden Sie vermutlich eine ältere Version des Chats und sollten diesen daher unbedingt aktualisieren. Falls Sie nicht wissen, wie dieser automatische Prozess funktioniert, finden Sie eine bebilderte Anleitung im Handbuch.)

Klicken Sie anschließend an das Ende dieser Zeile und drücken Sie Ihre ENTER-Taste, um einen Zeilenumbruch zu erzeugen.

Nun kopieren Sie die nachfolgenden beiden Quellcode-Zeilen und fügen sie in die gerade erzeugte Leerzeile ein.

PHP-Quellcode

  1. require_once(WCF_DIR.'lib/data/message/bbcode/URLParser.class.php');
  2. $content = URLParser::parse($content);


Zeile 49 bis 54 der Datei „ChatMessage.class.php“ sollte nun wie folgt aussehen:

PHP-Quellcode: 49

  1. else if (CHAT_PARSER == 'full') {
  2. require_once(WCF_DIR.'lib/data/message/bbcode/URLParser.class.php');
  3. $content = URLParser::parse($content);
  4. self::getMessageParser()->setOutputType(self::$outputType);
  5. $newContent = self::getMessageParser()->parse($content, $enableSmilies);
  6. }


Speichern Sie Ihre Änderungen ab (meistens über das bekannte Disketten-Symbol) und achten Sie darauf, dass Ihre Datei als UTF-8 kodiert ist. Wie Sie die Art der Kodierung erfahren, ist von Editor zu Editor unterschiedlich. Oft steht dies in der unteren Statuszeile. Ansonsten bitte in die Hilfe des Editors nachsehen.

Laden Sie die veränderte Datei nun wieder über Ihr FTP-Programm an den gleichen Ort zurück, wo Sie sie heruntergeladen haben. Die noch auf dem Server vorhandene gleichnamige Datei sollten Sie zur reinen Sicherheit umbenennen, so dass Sie bei einem auftretenden Fehler schnell die Originaldatei wieder einspielen können.

GESCHAFFT! Der Chat sollte nun neben den BBCodes auch wieder die Internetadressen (URLs) automatisch erkennen und umwandeln.

Sollten Ihnen dieser Artikel gefallen, so würde ich mich über einen positiven Kommentar sehr freuen. Fragen beantworte ich gerne im KittBlog-Forum, aber nicht in den Kommentaren.
Über den Autor
Keine Angabe

852 mal gelesen

Kommentare 2

  • michaelk -

    Vielen Dank Dennis. Ich habe mich immer gefragt wie man BBCodes und Links zusammen nutzen kann. Da waren ja nur diese zwei Optionen :S ^^

  • CIA JOE -

    Danke für diesen Beitrag... Jetzt weiß ich auch, wieso das nie geklappt hat bei mir.^^

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen