Zobacz pełną wersję: Rozwiązany Jeśli tytuł wątku jest przekroczona przez wprowadzenie langtitle dziać dziwne rzeczy
Zauważyłem, że jeśli ktoś posty w wątku w innym języku, który jest tuż pod znaki min tytuł wątku, a langtitle tagów przejść przez ten limit, to śruby do wyświetlania wątku, w forumdisplay, wyniki wyszukiwania, oraz na stronie gwint się. To samo jeśli tytuł wątku jest tłumaczone, ktoś odpowie na wątku, i "Re:" wysyła wiadomość tytuł nad limit znaków.
Nie mogę pokazać tego przykładem, bo musiałem go naprawić na moim forum. I jestem pewien, czy może być powielana tutaj, jeśli wpisz tytuł tylko pod tytułem wątku limitu znaków, które są tłumaczone z języka domyślnego.
r.dziadusz
13-09-11, 11:04
Czy mógłbyś nam pokazać problem, bo trudno mi zrozumieć, kiedy problem pojawia się
Problem jest wtedy, gdy "langtitle" dodaje się tytuł wątku, to nie rozpoznaje Tytuł wątku limit znaków. Jeśli tag jest odcięta i nie jest właściwie zamknięta, rozkłada strony, na której tytułu.
r.dziadusz
14-09-11, 10:05
Ok, ale nie mogę odtworzyć ten problem na moim forum test, moim [langtitle] nigdy nie jest cięte.
Będę wdzięczny za przesłanie mi szczegółowych informacji na temat tego problemu. Jakie jest Twoje langtitle limit długości, i jak długo tytuł ma być (w jakim języku) do przełamania linii?
mój limit długości tytułu wynosiła 85, ale zwiększenie go do 100. Tak, na przykład, jeśli użytkownik wprowadza tytuł, który był 95 znaków, a następnie następnie langtitle tagi by wysłać go ponad limit. System skróconego tag langtitle zamknięcia, co powoduje złamanie układu.
r.dziadusz
18-09-11, 20:01
Ok udało nam się odtworzyć ten problem, a teraz pracujemy nad tym
Hi. Udało mi się go powtórzyć. To było naprawdę trudne do odtworzenia i zrobiłem to przypadkowo pracuje nad czymś innym. Było ciężko, ponieważ jest to vBulletin błąd. vBET wykorzystuje vbchop funkcji vBulletin, które przypuszczać, aby wyciąć ciąg według żądanej długości w bezpieczny sposób (pamiętając zakodowanych znaków). Niestety vBulletin ma tam błędów i komunikatów, które są kodowane w bezpieczne UTF-8 (znaki takie jak & # kod;) daje błędne wyniki.
Mamy wyślij raport o błędach do vBulletin (błąd vBulletin (http://tracker.vbulletin.com/browse/VBIV-13177)) i stworzył szybkiej i taniej vBET stronie. Więc teraz vBET wykrywa, czy vbchop wrócił już wynik i odcina ją do żądanej. Również mamy prosty wykrywania aby sprawdzić czy list zakodowany w formacie & # kod; nie została wycięta w środku, a jeśli tak, to ostatnie słowo jest również cięcia (po prostu znalezienia ostatniego miejsca). Zapoznaj się szybko naprawić poniżej.
Quick Fix:
Otwórz / includes / vbenterprisetranslator_functions_detection.php
Znajdź:
$title = vbchop($title, $vbulletin->options['titlemaxchars'] - 12).'[/langtitle]';
Zamień na:
$desiredLength = $vbulletin->options['titlemaxchars'] - 12;
$title = vbchop($title, $desiredLength);
if (strlen($title) > $desiredLength) {
$title = substr($title, 0, $desiredLength);
$lastOpen = strrpos($title,'&');
$lastSpace = strrpos($title, ' ');
$lastClose = strrpos($title,';');
if ($lastOpen!==false && $lastSpace!==false && $lastClose!==false && ($lastSpace < $lastOpen) && ($lastOpen > $lastClose)) {
$title = substr($title, 0, $lastSpace);
}
}
$title .= '[/langtitle]';
Będzie to uwzględnione w następnym wydaniu.
Należy pamiętać, że poprzedni post był edytowany, aby zapewnić bardziej wyrafinowane szybko naprawić (rozwiązywanie kwestii cięcia w środku list w formacie & # kod;). Więc jeśli już stosuje poprzednie rozwiązanie można rozważyć w celu wykorzystania rzeczywistych lub jedynie czekać na nową wersję:)
Dzięki Michał - Wiedziałem, że coś się. Czy szybko naprawić również uwagę na odpowiedzi, jak również? Czasami "re:" wysłał ponad limit.
Nie sprawdzić. Jeśli okaże się, że problem nadal istnieje w takim przypadku prosimy o kontakt tutaj, a my sobie z tym poradzić:)
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.