КПК

Просмотр полной версии: Решенный Если поток название превышен вставки langtitle вещи перерыв



tavenger5
12-09-11, 22:24
Я заметил, что если кто-нить сообщения на другом языке, то есть чуть менее мин символов нить название и langtitle теги перейти этот предел, это щурит отображение потоков в forumdisplay, результаты поиска, и в потоке страницу себя. То же самое, если нить название переводится, кто-нибудь ответит на поток, и "Re:" посылает сообщение титул на ее символов.

Я не могу показать пример этого, потому что я, чтобы исправить это на мой форум. Я уверен, если может быть воспроизведена в данном случае, если вы введете название чуть менее характер нить название предела, что в переводе с языка по умолчанию.

r.dziadusz
13-09-11, 11:04
Не могли бы вы показать нам проблемы, потому что я вряд ли можно понять, когда возникает проблема

tavenger5
13-09-11, 16:44
Проблема в том, когда "langtitle 'вставляется в поток названия, это не признавая характер нить название предела. Если тег получает отрезать и не закрыта должным образом, он распадается на страницу, где название появляется.

r.dziadusz
14-09-11, 10:05
Хорошо, но я не могу воспроизвести эту проблему на моем тестовом форуме, мой [langtitle] никогда не вырезать.
Не могли бы вы выслать мне подробную информацию об этой проблеме. Каково ваше langtitle предел длины, и как долго черта должна быть (на каком языке), чтобы разорвать строку?

tavenger5
17-09-11, 19:46
мой титул длина предел был 85, но я увеличил его до 100. Так, например, если пользователь вставил название, которое было 95 символов, то тогда langtitle теги бы отправить его на пределе. Система усеченной закрывающего тега langtitle в результате чего разрыв макета.

r.dziadusz
18-09-11, 20:01
Хорошо, мы смогли воспроизвести эту проблему, и теперь мы работаем над этим

vBET
20-09-11, 08:41
Привет. Я был в состоянии воспроизвести его. Это было действительно трудно воспроизвести, и я сделал это случайно работаем над кое-что еще. Это было тяжело, потому что это VBulletin ошибка. vBET использует VBulletin функции vbchop, которые предполагают сократить строку в соответствии с желаемой длины в безопасном пути (имея в виду, закодированных символов). К сожалению VBulletin имеет ошибку там, и для сообщений, которые кодируются в безопасные UTF-8 (символы, такие как & # код;) дает неправильные результаты.

Мы посылаем сообщение об ошибке на VBulletin (VBulletin ошибка (http://tracker.vbulletin.com/browse/VBIV-13177)) и создал быстро исправить на vBET стороны. Так прямо сейчас vBET обнаруживает, если vbchop вернулся больше результата и сокращения его к искомой. Также у нас есть простое обнаружение и проверить это письмо, кодированных в формате & # код; не было сократить в среднем и если да, то последнее слово является также сократить (просто найдя последнего места). Пожалуйста, смотрите быстро исправить ниже.

Quick Fix:

Открыть / входит / vbenterprisetranslator_functions_detection.php
Поиск по сайту:

$title = vbchop($title, $vbulletin->options['titlemaxchars'] - 12).'[/langtitle]';
Заменить на:


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



Эта информация будет включена в следующий выпуск.

vBET
20-09-11, 23:02
Обратите внимание, что предыдущий пост был отредактирован, чтобы обеспечить более быстрое решение сложных (решение вопроса о вырезать в середине письма в формате & # код;). Так что если вы уже применяют предыдущее решение вы можете рассмотреть использование фактических один, или просто ждать нового релиза:)

tavenger5
22-09-11, 01:49
Благодаря Михал - Я знал, что-то вверх. Ли быстро исправить также счета для ответов, а? Иногда "Re:" послал его на пределе.

vBET
22-09-11, 09:34
Мы не проверяли его. Если вы обнаружите, что проблема все еще существует в таком случае, пожалуйста, свяжитесь с нами здесь, и мы будем обращаться с этим:)

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