MyBB.de Forum
[G] Smiliedarstellung nach Update - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.4.x (https://www.mybb.de/forum/forum-51.html)
+---- Forum: Bugs (https://www.mybb.de/forum/forum-54.html)
+----- Forum: Gemeldete/Nicht gemeldete Bugs (https://www.mybb.de/forum/forum-56.html)
+----- Thema: [G] Smiliedarstellung nach Update (/thread-11465.html)



[G] Smiliedarstellung nach Update - AlexXS - 06.11.2008

Nabend beisammen!

Nach dem Update auf 1.4.3 werden in den alten Beiträgen die Smilies nicht mehr dargestellt.
Ich schätze, dass hat was mit dem parsen zu tun?!? Huh
Kann man da irgendwie was machen?
Hat damit jemand Erfahrung gesammelt?

Ähnlich ist es bei der Erstellung von neuen Beiträgen
Wenn ich einen Beitrag verfasse und klicke ein Smilie an, ohne dass ich ein Leerzeichen hinter dem letzten Wort gelassen habe, dann direkt ein Wort an den Smilie anhänge, wird mir der Smilie nicht angezeigt sondern nur der Code dafür.

Hier z.B.: SmilieSmileSmilie

Ich habe das gleiche auch noch mal in der Version 1.2.13 getestet!
Da funktioniert das wunderbar!
Um das ganze zu vereinfachen, dachte ich mir, ich baue einfach jeweils ein Leerzeichen vor und hinter dem Smilie in der Liste der anklickbaren Smilies ein.
Sozusagen eine Automatisierung. Beim anklicken der Smilies werden gleich die Leerzeichen mit eingefügt.
Jedoch blicke ich nicht so ganz durch in welcher Datei ich das machen könnte.
Ich dachte, ich würde die Lösung dazu in der editor.js finden aber nüscht...

Nun die berühmte und berüchtigte Frage:

Wer hat eine Idee oder Lösung?

Für Eure Mühe schon mal vielen Dank vorab!

LG
Alex


RE: Smiliedarstellung nach Update - Manuel - 06.11.2008

Ich hab da ne Lösung:

Öffne die editor.js und suche nach folgender Zeile:

PHP-Code:
        this.performInsert(element.alt""truefalse); 
PHP-Code:
        this.performInsert(" "+element.alt""truefalse); 
Wenn du danach auch noch ne leerstelle willst dann nimm folgendes
PHP-Code:
        this.performInsert(" "+element.alt+" """truefalse); 



RE: Smiliedarstellung nach Update - AlexXS - 06.11.2008

Moin Manuel!

Suuuuper!

Ich hatte nicht gedacht, dass ich dem Bereich etwas anpassen könnte da in 1383 MyBB.popupWindow drin steht.
Dachte es hätte nur was mit der misc.php im Bezug auf die PopUp-Seite zu tun.

Da kann mal wieder sehen: Probieren geht über studieren!

Vielen Dank!
Dann hätte ich jetzt zumindest das eine Problem gelöst!

Daumen hoch!

LG
Alex


RE: Smiliedarstellung nach Update - Manuel - 06.11.2008

Das andere Problem wäre also das Parsen der Smilies der alten Beiträge.
Also mir ist da eig. kein Fehler bekannt, das das Parsen von Smileys verhindern sollte.

Hast du von einer 1.4 Version geupdated oder von 1.2.13?


RE: Smiliedarstellung nach Update - AlexXS - 06.11.2008

Ich hatte mehrere Installationen durch aber allen ist das gleiche Problem!

Zum einen hatte ich eine 1.2.13 auf normalem Weg zu 1.4 upgedatet und weiter bis hoch zur 1.4.3,
dann hatte ich eine 1.4.1 neu installiert, diese Version der alte DB von der 1.2.13 upgedatet.

Hat eigentlich alles perfekt funktioniert!
Nur eben nun die Geschichte mit der Darstellung der alten Beiträge.
Die Smilies werden einfach nicht dargestellt bzw. man sieht nur den Smiliecode!

Sehr seltsam!

LG
Alex
Ich schon wieder! Wink

Wir haben noch etwas herausgefunden!

Hier mal ein Zitat eines Users von mir:

Zitat:Es betrifft btw ausschliesslich das Leerzeichen hinter dem jeweiligen Smilie, ein Leerzeichen davor ist irrelevant.

Vielleicht hilft das ja bei der Problemlösung.

LG
Alex
Und noch mal ich! Big Grin

Wir haben die Lösung so wie es scheint gefunden

Hier mal die Nachricht von einem meiner User:

Zitat:Die Smilies werden in der inc/class_parser.php eingefügt, und da steht ein total lustiger regulärer Ausdruck (Zeile 398 und 407:
Code:
$message = preg_replace("#(?<=[^&;\"])".preg_quote($find,"#")."(?=.\W|\"|\W.|\W$)#si", $replace, $message, $remainin
g, $replacements);
Wie man unschwer (muha) erkennen kann, matcht das nur auf ein 'nicht-zeichen', ein Anführungszeichen oder Zeilenende - wenn mich meine Erinnerung nicht im Stich lässt...
Den Teil "(?=.\W|\"|\W.|\W$)#si" könnte man probehalber ändern in "(?=.|.\W|\"|\W.|\W$)#si", dann sollte es gehen. Würde ich meinen wollen, aber keinem in die Hand versprechen oder so was. Wink

Was sagen die Spezialisten dazu?
Könnte es damit Probleme geben?
Ich bin da ehrlich gesagt nicht wirklich fit im programmieren! Blush

LG
Alex


RE: Smiliedarstellung nach Update - Michael - 06.11.2008

Ja, die Änderung der besagten Zeile ist die Lösung. Allerdings bin ich mir nicht sicher, ob es sich um einen Fehler handelt. So wie es jetzt ist wird verhindert, dass Smilies innerhalb von Worten/Bezeichnungen/etc. umgesetzt werden. Ich werde aber bei den Entwicklern nachfragen.