Webboard

Pełna wersja: Niepotrzebne parsowanie niektórych znaków Unicode
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Adres forum:
https://lotus-sim.pl (jeszcze zamknięte dla gości)


Wersja silnika:
1.8.19


Opis problemu:
Cześć, konfigurujemy MyBB pod nowe forum i mamy jeden grubszy problem, do którego nie wiemy jak podejść. Otóż chcieliśmy, by skrypt wspierał wszystkie znaki Unicode. W tym celu przekonwertowaliśmy wszystkie tabele  do utf8mb4, w config.php również zmieniliśmy kodowanie. Rezultatem jest to, że emoji i innych znaków faktycznie możemy używać praktycznie wszędzie, ale w postach większość z nich (także np. znaczek copyright) są parsowane na span z klasą i przez to nie wyświetlają się w przeglądarce. Co ciekawe, po szybkiej edycji jest OK, ale po odświeżeniu strony już nie. Sytuację przedstawiłem na screenach w załącznikach.

W parserze nic nie ruszaliśmy. Tego typu zachowanie jest na każdym szablonie, także domyślnym.

Jeśli ktoś zechciałby przyjrzeć się sprawie i pomóc, przez priv mogę dać dostęp do ACP lub/i plików.
Używasz jakichś pluginów? Możliwe, że jakiś plugin dodaje te klasy, bo MyBB samo w sobie nic takiego nie robi, a przynajmniej niczego takiego nie zauważam na swoim forum.
Okazało się, że plugin Tapatalka powodował takie zachowanie.

W tapatalk.php:

Kod:
function tapatalk_postbit(&$post)
{
    global $mybb;
    require_once MYBB_ROOT.$mybb->settings['tapatalk_directory'].'/emoji/emoji.php';
    $post['message'] = emoji_name_to_unified($post['message']);
    $post['message'] = emoji_unified_to_html($post['message']);
    return $post;
}