View Full Version: Ratkaistu Jos kierre otsikko ylittyy lisäämällä langtitle asioita break
Huomasin, että jos joku kirjoittaa kierre toisella kielellä, joka on vajaat min merkkiä Ketjun otsikko, ja langtitle Tunnisteet mennä yli tämän rajan, tämä ruuveja ylös näyttö kierre forumdisplay, hakutuloksissa, ja kierre sivu itse. Sama pätee jos Ketjun otsikko on käännetty, joku vastaa lanka, ja "Re:" lähettää viestin otsikossa yli sen merkin rajoitus.
En voi näyttää esimerkkiä, sillä olin korjata sen foorumiini. Olen varma, jos voidaan toistaa, jos annat otsikko vajaat Ketjun otsikko merkin rajan, joka on käännetty oletuskieli.
r.dziadusz
13-09-11, 11:04
Voisitteko näyttää meille ongelma, koska en voi tuskin ymmärtää, kun ongelma tulee
Ongelmana on kun "langtitle" työnnetään Ketjun otsikko, se ei tunnista Ketjun otsikko merkkiä. Jos tunniste katkeaa ja ei ole suljettu kunnolla, se rikkoo sivulle, jossa otsikko näkyy.
r.dziadusz
14-09-11, 10:05
Ok, mutta en voi toistaa tätä ongelmaa minun testifoorumi, minun [langtitle] ei ole koskaan leikattu.
Voisitteko lähettää minulle tietoa tästä ongelmasta. Mikä on langtitle pituusrajan, ja kuinka kauan tittelin pitäisi olla (millä kielellä) murtaa linja?
Oma otsikko pituus raja oli 85, mutta lisäsivät sitä 100. Niinpä esimerkiksi, jos käyttäjä lisätty otsikko, joka oli 95 merkkiä, niin sitten langtitle tageja lähettäisi sen yli rajan. Järjestelmä katkaistu sulkemalla langtitle tunniste, joiden tulokset rikkomaan layout.
r.dziadusz
18-09-11, 20:01
Ok pystyimme toistamaan tämän ongelman, ja nyt työn alla
Hi. Pystyin jäljitellä sitä. Se oli todella vaikea kopioida ja tein vahingossa työskentelevät jotain muuta. Se oli vaikeaa, koska se on vBulletin bugi. vBET käyttää vBulletin toiminto vbchop, joka olettaa 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 & # koodi;) antaa virheellisiä tuloksia.
Lähetämme vikailmoituksesta vBulletin (vBulletin bugi (http://tracker.vbulletin.com/browse/VBIV-13177)) ja luonut pikaratkaisua on vBET puolella. Niinpä juuri nyt vBET havaitsee vbchop palasi enää johda ja leikkaa se haluamasi. Myös meillä on yksinkertainen tunnistaminen tarkistamaan ei kirjeen koodattu muodossa & # koodi; ei leikata keskellä ja jos kyllä, niin viimeinen sana on myös leikattu (yksinkertaisesti etsimällä viimeisessä välissä). Katso pikaratkaisua alla.
Quick Fix:
Avaa / includes / vbenterprisetranslator_functions_detection.php
Etsi:
$title = vbchop($title, $vbulletin->options['titlemaxchars'] - 12).'[/langtitle]';
Korvautuvat:
$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.
Huomaa, että edellinen viesti oli muokattu tarjoamaan entistä kehittyneempiä pikaratkaisua (ratkaista kysymys leikata keskellä kirjeen muodossa & # koodi;). Joten jos jo hakea aiemmassa ratkaisussa voit harkita käytetään todellisia yhden, tai vain odottaa uusi versio:)
Thanks Michal - Tiesin jotain ylös. Onko pikaratkaisua myös osuus vastauksista samoin? Joskus "Re:" lähetti sen yli rajan.
Emme tarkistaa. Jos huomaat, että ongelma on edelleen olemassa tällaisessa tapauksessa, ota yhteyttä täällä ja me käsittelemme tätä:)
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.