PDA

View Full Version: Giải quyết Nếu tiêu đề chủ đề được vượt quá bằng cách chèn những điều langtitle phá vỡ



tavenger5
12-09-11, 22:24
Tôi nhận thấy rằng nếu bài viết một người nào đó một sợi trong một ngôn ngữ khác mà chỉ là theo các nhân vật phút cho tiêu đề thread, và các thẻ langtitle đi quá mức giới hạn này, điều này vít lên màn hình hiển thị của thread trong forumdisplay, kết quả tìm kiếm, và trên trang chủ đề chính nó. Cũng vậy nếu một tiêu đề chủ đề được dịch, một người nào đó trả lời cho chủ đề, và 'Re: gửi các tiêu đề bài đăng trên giới hạn ký tự của nó.

Tôi không thể hiển thị một ví dụ về điều này bởi vì tôi đã phải sửa chữa nó trên diễn đàn của tôi. Tôi chắc chắn rằng nếu có thể được nhân rộng ở đây nếu bạn nhập một tiêu đề dưới giới hạn chủ đề các nhân vật được dịch từ ngôn ngữ mặc định.

r.dziadusz
13-09-11, 11:04
Ông có thể cho chúng ta thấy một vấn đề, vì tôi khó có thể hiểu được khi vấn đề xuất hiện

tavenger5
13-09-11, 16:44
Vấn đề là khi 'langtitle được đưa vào tiêu đề thread, nó không phải là công nhận giới hạn chủ đề nhân vật. Nếu thẻ được cắt bỏ và không được đóng đúng, nó phá vỡ các trang tiêu đề xuất hiện.

r.dziadusz
14-09-11, 10:05
Ok, nhưng tôi không thể tái tạo vấn đề này trên diễn đàn thử nghiệm của tôi, của tôi [langtitle] là không bao giờ cắt.
Ông có thể xin vui lòng gửi cho tôi thông tin chi tiết về vấn đề này. Langtitle giới hạn chiều dài của bạn là gì, và bao lâu tittle nghĩa vụ phải được (ngôn ngữ) để phá vỡ đường dây?

tavenger5
17-09-11, 19:46
tiêu đề giới hạn chiều dài của tôi là 85, nhưng tôi tăng lên đến 100. Vì vậy, ví dụ, nếu người sử dụng chèn một tiêu đề là 95 nhân vật, sau đó sau đó langtitle thẻ sẽ gửi nó quá mức giới hạn. Hệ thống cắt ngắn các từ khóa langtitle đóng cửa mà kết quả trong việc phá vỡ bố cục.

r.dziadusz
18-09-11, 20:01
Ok chúng ta đã có thể tái sản xuất vấn đề này, và bây giờ chúng tôi đang làm việc trên nó

vBET
20-09-11, 08:41
Hi. Tôi đã có thể tái tạo nó. Đó là thực sự khó khăn để tái sản xuất và tôi đã làm nó vô tình làm việc trên cái gì khác. Đó là khó khăn, bởi vì nó là lỗi vBulletin. vBET sử dụng chức năng vbchop vBulletin, cho rằng cắt chuỗi theo chiều dài mong muốn theo cách an toàn (giữ trong tâm trí nhân vật được mã hóa). Thật không may vBulletin đã lỗi đó và cho các tin nhắn được mã hóa an toàn UTF-8 (các nhân vật như CODE #;) cho kết quả sai.

Chúng tôi gửi báo cáo lỗi vBulletin (bug vBulletin (http://tracker.vbulletin.com/browse/VBIV-13177)) và sửa chữa nhanh chóng tạo ra về phía vBET. Vì vậy, ngay bây giờ vBET phát hiện nếu vbchop trở lại kết quả lâu hơn và cắt giảm một mong muốn. Ngoài ra, chúng tôi đã phát hiện đơn giản để kiểm tra không lá thư được mã hóa trong định dạng & # CODE; không được cắt ở giữa và nếu có, sau đó từ cuối cùng cũng cắt giảm (chỉ đơn giản bằng cách tìm không gian cuối cùng). Xin vui lòng xem nhanh chóng khắc phục dưới đây.

Quick Fix:

Mở / bao gồm / vbenterprisetranslator_functions_detection.php
Tìm:

$title = vbchop($title, $vbulletin->options['titlemaxchars'] - 12).'[/langtitle]';
Thay thế bởi:


$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]';



Điều này sẽ được bao gồm trong phiên bản tiếp theo.

vBET
20-09-11, 23:02
Xin lưu ý rằng bài viết trước đây đã được chỉnh sửa để cung cấp nhanh chóng khắc phục tinh vi hơn (giải quyết vấn đề cắt trong thư trung lưu ở định dạng & # CODE). Vì vậy, nếu bạn đã áp dụng giải pháp trước đây, bạn có thể xem xét sử dụng một thực tế, hoặc chỉ cần chờ đợi cho phiên bản mới:)

tavenger5
22-09-11, 01:49
Thanks Michal - Tôi biết có điều gì đó lên. Có sửa chữa nhanh chóng chiếm trả lời cũng? Đôi khi lại: 'gửi quá mức giới hạn.

vBET
22-09-11, 09:34
Chúng tôi đã không kiểm tra nó. Nếu bạn sẽ thấy rằng vấn đề vẫn còn tồn tại trong trường hợp này, xin vui lòng liên hệ với chúng tôi tại đây và chúng tôi sẽ xử lý này:)

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Integration with translations by vBET Translator 4.10.1