PDA

Ver Versão Completa: Resolvido Se o título da thread é ultrapassado pela inserção de coisas langtitle quebrar



tavenger5
12-09-11, 22:24
Percebi que, se alguém postar um tópico em outro idioma que é apenas sob os personagens min para título do thread, e as marcas langtitle ultrapassar esse limite, isso estraga a exibição do segmento em forumdisplay, resultados de pesquisa, e na página de discussão em si. O mesmo vale se um título de thread é traduzido respostas, alguém para o segmento, e 'Re:' envia o título do post sobre o seu limite de caracteres.

Eu não posso mostrar um exemplo disso porque eu tinha que consertá-lo no meu forum. Tenho certeza que se pode ser replicado aqui se você digitar um título logo abaixo do limite de caracteres fio título que é traduzido do idioma padrão.

r.dziadusz
13-09-11, 11:04
Você poderia por favor mostrar-nos um problema, porque eu mal posso entender quando o problema aparece

tavenger5
13-09-11, 16:44
O problema é quando "langtitle 'é inserido no título do thread, não é reconhecer a linha limite de caracteres do título. Se a marca é cortada e não é fechado corretamente, ele quebra a página onde aparece o título.

r.dziadusz
14-09-11, 10:05
Ok, mas eu não posso reproduzir este problema em meu fórum de teste, a minha [langtitle] nunca é cortada.
Você poderia por favor me envie informações detalhadas sobre este problema. Qual é o seu limite de comprimento langtitle, e quanto tempo o til deveria ser (em que língua) para quebrar a linha?

tavenger5
17-09-11, 19:46
o meu limite de comprimento título foi de 85, mas eu aumentei para 100. Assim, por exemplo, se o usuário inseriu um título que foi de 95 caracteres, então, em seguida, langtitle etiquetas iria enviá-lo acima do limite. O sistema truncado a tag de fechamento langtitle o que resulta em quebrar o layout.

r.dziadusz
18-09-11, 20:01
Ok fomos capazes de reproduzir este problema, e agora estamos trabalhando nisso

vBET
20-09-11, 08:41
Oi. Eu era capaz de reproduzi-lo. Foi muito difícil de reproduzir e eu fiz isso acidentalmente trabalhando em outra coisa. Foi difícil, porque é bug vBulletin. vBET usa vBulletin vbchop função, que suponho que cortar string de acordo com o comprimento desejado de forma segura (tendo em mente caracteres codificados). Infelizmente vBulletin tem bug lá e para as mensagens que são codificadas para seguro UTF-8 (caracteres como & # CODE;) dá resultados errados.

Enviamos relatório de bug para vBulletin (bug vBulletin (http://tracker.vbulletin.com/browse/VBIV-13177)) e criado solução rápida no lado vBET. Então, agora vBET detecta se vbchop voltou mais resultado e corta-o para um desejado. Também temos de detecção simples de verificar se carta codificada no formato & # CODE; não foi cortado no meio e se sim, então a última palavra também é cortada (simplesmente por encontrar espaço passado). Consulte rápida correção abaixo.

Quick Fix:

Abrir / includes / vbenterprisetranslator_functions_detection.php
Pesquisar:

$title = vbchop($title, $vbulletin->options['titlemaxchars'] - 12).'[/langtitle]';
Substituir por:


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



Isto será incluído no próximo lançamento.

vBET
20-09-11, 23:02
Por favor note que post anterior foi editado para fornecer mais sofisticada solução rápida (resolver questão do corte na letra do meio em formato & # CODE;). Então, se você já aplicam solução anterior você pode considerar usar um real, ou apenas esperar por nova versão:)

tavenger5
22-09-11, 01:49
Graças Michal - Eu sabia que algo estava acontecendo. Será que a solução rápida também conta para as respostas também? Às vezes, a "re:" enviou acima do limite.

vBET
22-09-11, 09:34
Nós não verificá-lo. Se você vai descobrir que problema ainda existe no caso, entre em contato conosco aqui e vamos lidar com isso:)

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