พีดีเอ

View Full Version : แก้ หากหัวข้อที่เกินกว่าที่กำหนดโดยการแทรกของสิ่ง 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
ok เราสามารถที่จะทำซ้ำปัญหานี้และตอนนี้เรากำลังทำงานกับมัน

vBET
20-09-11, 08:41
สวัสดี ผมสามารถที่จะทำซ้ำ มันเป็นเรื่องยากที่จะทำซ้ำและฉันทำมันไม่ตั้งใจทำงานในสิ่งอื่น มันก็ยากเพราะมันเป็นข้อผิดพลาด vBulletin vBET ใช้ฟังก์ชั่น vbchop vBulletin ซึ่งสมมติว่าในการตัดสตริงตามความยาวที่ต้องการในวิธีที่ปลอดภัย (การรักษาในการเข้ารหัสอักขระใจ) แต่น่าเสียดายที่ระบบมีปัญหาและมีการสำหรับข้อความที่มีการเข้ารหัสเป็น UTF - 8 ปลอดภัย (เช่นตัวอักษรและรหัส #;) ให้ผลที่ไม่ถูกต้อง

เราจะส่งรายงานข้อผิดพลาดในการซิ่ง (BUG vBulletin (http://tracker.vbulletin.com/browse/VBIV-13177)) และการแก้ไขอย่างรวดเร็วที่สร้างขึ้นในด้าน vBET ดังนั้นตอนนี้ vBET ตรวจพบว่ากลับ vbchop ผลอีกต่อไปและจะลดการที่ต้องการอย่างใดอย่างหนึ่ง นอกจากนี้เรามีการตรวจสอบง่ายเพื่อตรวจสอบตัวอักษรไม่เข้ารหัสในรูปแบบและรหัส #; ไม่ได้ถูกตัดอยู่ตรงกลางและถ้าใช่แล้วคำพูดสุดท้ายถูกตัดยัง (เพียงโดยการหาพื้นที่ last) โปรดดูการแก้ไขอย่างรวดเร็วด้านล่าง

แก้ไขด่วน :

เปิด / includes / 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
Thanks to vBET 4.10.1 you can enjoy automatic translations