Moikka. Olen voinut jäljentää se. Oli todella kova jäljentää ja tein sen parissa vahingossa jotain muuta. Se oli kova, koska se on vBulletin ohjelmavirhe. vBulletin-funktiota vBET vbchop, Mikä kai leikata merkkijono mukaan haluttu pituus turvallisesti (pitäen mielessä koodattuja merkkejä). Valitettavasti vBulletin on bugi siellä ja viestit, jotka on koodattu turvallisia UTF-8 (hahmot kuten & # koodiantaa virheellisiä tuloksia.
Lähetämme vikailmoituksesta vBulletin (vBulletin bug) ja quick fix luotu vBET puolella. Niin juuri nyt vBET havaitsee, jos vbchop palautti pidempi tuloksen ja leikkaa haluamasi. Lisäksi meillä on yksinkertainen tunnistaminen tarkistamaan does kirjeen koodattu muodossa & #CODE; oli keskellä leikattu ja jos Kyllä, sitten viimeinen sana on myös cut (yksinkertaisesti etsiminen viimeisen tilaa). Katso quick fix alla.
Quick Fix:
- Avoinna / Includes / vbenterprisetranslator_functions_detection.php
- Etsi:
PHP Code:$title = vbchop($title, $vbulletin->options['titlemaxchars'] - 12).'[/langtitle]';
- Korvautuvat:
PHP Code:$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]';
Tähän sisällytetään seuraavaan julkaisuun.




antaa virheellisiä tuloksia.
Vastaa lainauksella
