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):
Abhilfe in der misc.php durch Änpassung des Abschnits, damit nur die Smilies angezeigt werden welche in der DB mit showclickable = 1 definiert sind:
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.
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;
}
}
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;
}
}
}
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]
Tools ◀ [PlugIns] ♦ [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [Justiz-XML] ♦ [QR-Gen] ♦ [BUS-Adr] ♦ [PHP-Vers]
