Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.40 veröffentlicht (28.05.26)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[NG] Deaktivierte Smiles werden im PopUp angezeigt
#1
Werden im ACP Smilies deaktivert, werden sie unlogischerweise mmer noch beim Erstellen von Beiträgen im PopUp der Smilies (mehr) ausgegeben und können somit, entgegen der deaktivierten Definition, verwendet werden.

Ursache ist in misc.php der Abschnitt (Zeilen: 777 bis 804):
PHP-Code:
foreach($smilies_cache as $smilie) { $smilie['image'] = str_replace("{theme}", $theme['imgdir'], $smilie['image']); $smilie['image'] = htmlspecialchars_uni($mybb->get_asset_url($smilie['image'])); $smilie['name'] = htmlspecialchars_uni($smilie['name']); // Only show the first text to replace in the box $temp = explode("\n", $smilie['find']); // use temporary variable for php 5.3 compatibility $smilie['find'] = $temp[0]; $smilie['find'] = htmlspecialchars_uni($smilie['find']); $smilie_insert = str_replace(array('\\', "'"), array('\\\\', "\'"), $smilie['find']); $onclick = " onclick=\"MyBBEditor.insertText(' $smilie_insert ');\""; eval('$smilie_image = "'.$templates->get('smilie', 1, 0).'";'); eval("\$smile_icons .= \"".$templates->get("misc_smilies_popup_smilie")."\";"); if($e == 2) { eval("\$smilies .= \"".$templates->get("misc_smilies_popup_row")."\";"); $smile_icons = ''; $e = 1; $class = alt_trow(); } else { $e = 2; } }
Abhilfe in der misc.php durch Änpassung des Abschnits, damit nur die Smilies angezeigt werden welche in der DB mit showclickable = 1 definiert sind:
PHP-Code:
foreach($smilies_cache as $smilie) { if($smilie['showclickable'] == 1) { $smilie['image'] = str_replace("{theme}", $theme['imgdir'], $smilie['image']); $smilie['image'] = htmlspecialchars_uni($mybb->get_asset_url($smilie['image'])); $smilie['name'] = htmlspecialchars_uni($smilie['name']); // Only show the first text to replace in the box $temp = explode("\n", $smilie['find']); // use temporary variable for php 5.3 compatibility $smilie['find'] = $temp[0]; $smilie['find'] = htmlspecialchars_uni($smilie['find']); $smilie_insert = str_replace(array('\\', "'"), array('\\\\', "\'"), $smilie['find']); $onclick = " onclick=\"MyBBEditor.insertText(' $smilie_insert ');\""; eval('$smilie_image = "'.$templates->get('smilie', 1, 0).'";'); eval("\$smile_icons .= \"".$templates->get("misc_smilies_popup_smilie")."\";"); if($e == 2) { eval("\$smilies .= \"".$templates->get("misc_smilies_popup_row")."\";"); $smile_icons = ''; $e = 1; $class = alt_trow(); } else { $e = 2; } } }
Gehe mal davon aus, dass dieses unlogische Verhalten zurecht als Bug definiert werden kann und melde es hiermit mal.

Sollte jemand eine  einfachere Lösung haben, welche keinen Eingriff in die Core-Dateien erfordert, wäre ich erfreut wenn dies mitgeteilt würde.
Wenn ich Helfen kann biete ich Hilfe(n) an  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [PlugIns] ♦ [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [Justiz-XML] ♦ [QR-Gen] ♦ [BUS-Adr] ♦ [PHP-Vers]
Zitieren
#2
Es gibt beim MyBB keine Option Smilies zu deaktivieren, nur diese Option:
Zitat:Zeige in Smilieliste? *
Soll dieser Smilie im Editor zur Verfügung stehen?
Diese bezieht sich sich ausschließlich auf die Smilie-Box neben dem Editor. Damit kannst du also steuern, welche Smilies direkt, ohne Umweg über "mehr", genutzt werden können. Vollständig deaktivieren geht aber nicht (und steht dort auch nicht), daher kann ich hier keinen Bug erkennen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
„Deaktivieren“ ist hier vlt der falsche Begriff, da die Smileys weiterhin über Zeichencodes eingefügt werden können. Vielmehr geht es darum, sie in der Smiley-Auswahlbox auszublenden.

Wenn die Option im ACP „Zeige in Smileyliste?“ auf „Nein“ gesetzt ist, sollten diese Smileys im Editor gar nicht auftauchen – auch nicht nach dem Klicken auf „Mehr“ Smilies. Andernfalls verliert die Funktion ihre logische Bedeutung finde ich.

Smiliesite ist Smiliesiste... auch wenn ich auf mehr drücke.
Deshalb bin ich auch der Meinung das es sich hierbei um einen Bug handelt.

Rolleyes
Zitieren