PDA

Zobacz pełną wersję: Rozwiązany Jeśli tytuł wątku jest przekroczona przez wprowadzenie langtitle dziać dziwne rzeczy



tavenger5
12-09-11, 22:24
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ę

tavenger5
13-09-11, 16:44
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?

tavenger5
17-09-11, 19:46
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

vBET
20-09-11, 08:41
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.

vBET
20-09-11, 23:02
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ę:)

tavenger5
22-09-11, 01:49
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.

vBET
22-09-11, 09:34
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):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Multilingual forum supported by vBET Translator 4.10.1