View Full Version : แก้ หากหัวข้อที่เกินกว่าที่กำหนดโดยการแทรกของสิ่ง langtitle ทำลาย
ผมสังเกตเห็นว่าถ้ามีคนโพสต์ข้อความในภาษาที่เป็นเพียงภายใต้อักขระนาทีสำหรับหัวข้อที่อื่นและแท็ก langtitle ไปกว่าขีด จำกัด นี้, สกรูนี้ขึ้นแสดงผลของหัวข้อใน forumdisplay, ผลลัพธ์การค้นหาและบนหน้าด้าย ตัวเอง เดียวกันจะไปถ้าชื่อหัวข้อที่จะถูกแปล, คนตอบด้ายและ'Re : ส่งชื่อเรื่องการโพสต์เกินขีด จำกัด อักขระของ
ฉันไม่สามารถแสดงตัวอย่างนี้เพราะผมมีการแก้ไขของฉันฟอรั่ม ผมมั่นใจว่าถ้าสามารถทำซ้ำที่นี่ถ้าคุณป้อนชื่อเพียงภายใต้หัวข้อเรื่องขีด จำกัด ของอักขระที่จะแปลจากภาษาเริ่มต้น
r.dziadusz
13-09-11, 11:04
คุณได้โปรดแสดงให้เราเห็นปัญหาเพราะฉันแทบจะไม่สามารถเข้าใจได้เมื่อเกิดปัญหาจะปรากฏขึ้น
ปัญหาคือเมื่อ'langtitle'ถูกแทรกลงในหัวข้อที่จะไม่ได้ตระหนักถึงด้ายชื่อเรื่องขีด จำกัด ของอักขระ หากแท็กที่ได้รับการตัดออกและไม่ได้ปิดอย่างถูกต้องมันแบ่งหน้าเว็บที่ชื่อที่ปรากฏ
r.dziadusz
14-09-11, 10:05
ตกลง แต่ฉันไม่สามารถทำซ้ำปัญหานี้บนฟอรั่มการทดสอบของฉัน [langtitle] ฉันจะไม่เคยตัด
คุณจะกรุณ าส่งข้อมูลรายละเอียดเกี่ยวกับปัญหานี้ กำหนดความยาวของคุณ langtitle คืออะไรและวิธีการพูดยาวที่ควรจะถูก (ในภาษาอะไร) ในการแบ่งบรรทัด?
จำกัดความยาวของชื่อของฉันคือ 85 แต่ฉันเพิ่มขึ้นไป 100 ดังนั้นตัวอย่างเช่นหากผู้ใช้แทรกชื่อที่ได้ 95 ตัวอักษรแล้วแล้ว langtitle แท็กจะส่งมันเกินขีด จำกัด ระบบจะตัดแท็กปิด langtitle ซึ่งผลในการทำลายรูปแบบที่
r.dziadusz
18-09-11, 20:01
ok เราสามารถที่จะทำซ้ำปัญหานี้และตอนนี้เรากำลังทำงานกับมัน
สวัสดี ผมสามารถที่จะทำซ้ำ มันเป็นเรื่องยากที่จะทำซ้ำและฉันทำมันไม่ตั้งใจทำงานในสิ่งอื่น มันก็ยากเพราะมันเป็นข้อผิดพลาด 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]';
นี้จะรวมอยู่ในรุ่นถัดไป
โปรดทราบว่าการโพสต์ก่อนหน้านี้มีการแก้ไขเพื่อให้การแก้ไขอย่างรวดเร็วความซับซ้อนมากขึ้น (การแก้ปัญหาของการตัดในตัวอักษรตรงกลางในรูปแบบและรหัส #;) ดังนั้นหากคุณใช้วิธีการแก้ปัญหาก่อนหน้านี้คุณสามารถพิจารณาที่จะใช้อย่างใดอย่างหนึ่งที่เกิดขึ้นจริงหรือเพียงแค่รอรุ่นใหม่ :)
ขอบคุณคาล -- ฉันรู้สิ่งที่เพิ่มขึ้น การแก้ไขอย่างรวดเร็วนอกจากนี้ยังมีบัญชีสำหรับการตอบกลับเช่นกันหรือไม่ บางครั้ง'Re :'ส่งมันเกินขอบเขต
เราไม่ได้ตรวจสอบ ถ้าคุณจะพบว่าปัญหายังคงมีอยู่ในกรณีดังกล่าวโปรดติดต่อเราที่นี่และเราจะจัดการนี ้ :)
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.