查看完整版本: 已解决 如果线程的标题是超过打破langtitle东西插入
我注意到,如果有人张贴在另一种语言,只是在主题标题最小字符的线程,langtitle标签超过这个限制,forumdisplay,搜索结果中,显示了线程和线程页面上螺丝本身。同样,如果一个线程的标题是翻译,有人回复到线程,和“:”发送的字符数限制的职衔。
我不能表现出这样的一个例子,因为我已经固定在我的论坛。我敢肯定,如果可以复制在这里,如果你输入一个主题标题字符的限制,是从默认的语言翻译的标题下。
r.dziadusz
13-09-11, 11:04
能否请您告诉我们一个问题,因为当问题出现时,我很难理解
问题是,当“langtitle”是插入到主题标题,这是不承认主题标题字符的限制。如果标签被切断,未正确关闭,它打破了页面标题出现。
r.dziadusz
14-09-11, 10:05
OK,但我无法重现这个问题对我的测试论坛,我的[langtitle]是从来没有削减。
可否请你寄给我有关这个问题的详细信息。什么是你langtitle的长度的限制,和多久的微量应该是什么语言来打破行吗?
我的标题长度限制为85人,但我增加至100。因此,举例来说,如果用户插入的称号,是95个字符,然后再langtitle标签将发送超过极限。该系统截断闭幕langtitle标记,从而打破布局。
r.dziadusz
18-09-11, 20:01
好了,我们能够重现这个问题,现在我们就可以工作
嗨。我能够重现。这是真的很难重现,我一不小心别的工作。这是很难的,因为它是vBulletin错误。 vBET使用vBulletin的功能vbchop,假设削减根据所需长度在安全的方式(记编码字符)的字符串。不幸的是,vBulletin有错误有编码的邮件安全的UTF - 8(字符如&#代码;)给出了错误的结果。
我们发送错误报告vBulletin(错误vBulletin(http://tracker.vbulletin.com/browse/VBIV-13177))和创建vBET方速战速决。所以现在vBET检测,如果vbchop返回较长的结果和削减所需之一。同时,我们也有简单的检测,检查不信编码格式#代码;不会削减在中间,如果有的话,那么最后一个字是 也削减(只需通过寻找最后的空间)。请参阅下面速战速决。
快速修复:
打开/ / 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]';
这将包含在下一版本。
请注意,以前的职位是编辑,以提供更先进的快速修复(解决问题切在中间的字母格式#代码)。所以如果你已经申请以前的解决方案,你可以考虑到实际使用的一,或者只是等待新版本:)
感谢米哈尔 - 我知道什么东西了。是否快速修复以及答复?有时“重新:”送过来的限制。
我们没有检查。如果你会发现,问题仍然存在,在这种情况下,请与我们联系,我们将处理这个问题:)
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.