Autor Zpráva
Str4wberry
Profil
1) Moderátorům jsem zdvojnásobil limit délky zprávy.
2) Neměly by se narušovat HTML značky.
3) Při vložení dlouhého kódu do jednoho [pre] je stejně zpráva pohlcena nějakou chybou v převodu BB kódu.
Chamurappi
Profil
Reaguji na Str4wberryho:
Děkuji za úpravy.

1) Moderátorům jsem zdvojnásobil limit délky zprávy.
Svůj oblíbený ČaPoZaPoD můžu sloučit do jednoho příspěvku… a pak se trápit s limitem znovu. Má tedy dvacetikilový limit už nějaké technické zdůvodnění, když v DB je limit až 64 kB? Asi nepotřebujeme, aby nás PHP skript praštil přes prsty, když nerozdělíme dlouhé FAQ do více příspěvků, ne?

2) Neměly by se narušovat HTML značky.
Narušování HTML značek nebyl až tak velký problém, prohlížeče si stejně všechno pozavíraly. (Viditelným problémem bylo nežádoucí zdvojení <br> vinou špatného pořadí kroků.)
Pořád mi není jasné, k čemu potřebujeme, aby měl HTML kód příspěvku pevný limit velikosti. Proč nestanovit limit pro BB kód? Dokud nepochopím důvod, odmítám zavádět neoblomnou JS kontrolu typu „možná máte moc dlouhý příspěvek“.

3) Při vložení dlouhého kódu do jednoho [pre] je stejně zpráva pohlcena nějakou chybou v převodu BB kódu.
Hm, docela mě tahle náladovost preg_replacu děsí.
Str4wberry
Profil
Ad 1) Nejprve jsem limit moderátorům vypnul. Ale při vložení delšího textu se editace nedařila. Tady se to (bez limitu) docela povedlo.

Ad 2) No, pokud budeme řezat BB kód, tak se třeba vlivem dlouhého příspěvku vytratí koncová značka [pre].

Ad 3) Hlavně je tam dost nešťastná vlastnost, která při chybě zahodí celý původní příspěvek. :–)
Chamurappi
Profil
Reaguji na Str4wberryho:
Ad 2) Pokud bude hranice pevně daná, skriptem stornuji odeslání při jejím překročení, takže v drtivé většině případů k řezání na straně serveru nedojde. Krom toho by měla jít na BB kódy použít stejná samozavírací finta jako na HTML.

Ad 3) Tu vlastnost jsem upravil, aby příspěvek zachovala nezformátovaný, ovšem nejsem si jistý, že funguje správně, protože ten problematický stav neumím vyvolat. Tohle je ale pořád jen nouzová záplata problému, rád bych znal skutečnou příčinu a skutečné řešení. Pokud je to tím, že je zrovna procesor v úzkých, tak je od funkce preg_replace velice neslušné, že na to reaguje takhle destruktivně.
Jan Tvrdík
Profil
Netuším sice, o čem se bavíte, ale přihodím odkaz: http://phpfashion.com/zradne-regularni-vyrazy-v-php
Chamurappi
Profil
Ve vlákně Jquery/css/div_menu/nezobrazujici se div vložil tazatel dlouhý příspěvek, který se při ukládání ještě zdvojnásobil. Zkusil jsem ho zkrátit, ale bezúspěšně. Podobný problém se zřejmě vyskytl i tady.

Už jednou dřív se stalo, že se pokus o vložení dlouhého příspěvku nahradil za neformátovaný text uvozený omluvou „Při zpracování BB značek došlo k samovolnému sežrání celého příspěvku. Pardon.“ (což byla záplata, viz [#4], bod 3) a celé to pak bylo nějaké pomotané.


Reaguji na Str4wberryho:
pokud budeme řezat BB kód
Opravdu bychom měli řezat BB kód a ne HTML. Převod z BB na HTML totiž může selhat právě kvůli tomu, že je BB verze dlouhá a výpočetně náročná.


Reaguji na Jana Tvrdíka:
Asi jsi trefil hřebíček na hlavičku. Jakmile nám hosting posunul limity, problém zmizel (aspoň u běžných krátkých příspěvků).
Joker
Profil
Chamurappi:
Ve vlákně Jquery/css/div_menu/nezobrazujici se div vložil tazatel dlouhý příspěvek, který se při ukládání ještě zdvojnásobil.
To samé se stalo tady, dal jsem tam přivolávač s tím, že si toho někdo všimne. Asi nevšiml :-)
Davex
Profil
Třikrát se kód rozkopíroval teď tady. Už jsem si toho všiml i dřív jinde, ale tam se to jenom duplikovalo a druhá část převedla na malá písmena.
Chamurappi
Profil
Další výskyt. Až vymyslíme, jak to opravit, chtělo by to zanést opravu i do ostré verze, protože šílenců, kteří sem zkouší narvat desítky kilobajtů kódu, nebude málo… a to oříznutí teď zjevně nefunguje ani v HTML.
Str4wberry
Profil
Převod z BB na HTML totiž může selhat právě kvůli tomu, že je BB verze dlouhá a výpočetně náročná.

Ale ona se v podstatě zkracuje i ta BB verze. S textem příspěvku se dělá zhruba následující – zaentitují se HTML znaky (+ nějaké voodoo na jejich úpravu atd.), proběhne zkrácení šetrné k těmto entitám na těch 10 000 (nebo kolik je v configu nastaveno) znaků, všechno se to převede z BB kódu do HTML, nějak se ten výstup doladí (odstranění nežádoucích HTML značek v <pre> atd.) a to všechno se zkrátí na stejný počet znaků jako poprvé (rovněž šetrně k HTML značkám).

Nějak mi není jasné, co by mohlo způsobovat to násobení textu. Rychlé řešení by bylo při vložení dlouhého kódu uživateli ukázat finger. :–)
Str4wberry
Profil
Nyní zkrácení probíhá jako úplně první úprava pomocí jednoduchého substr a zdá se, že to text příspěvku neduplikuje (i v ostré verzi).

Pořád tu ale zřejmě bude problém (i když se zatím, tuším, neprojevil) s automatickým převedením nové zprávy na editaci, kde může teoreticky dojít na dosažení limitu sloupce pro text v databázi a vzniknout tak narušené HTML.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: