This page is part of documentation of C-SaCzech and was created and has been maintained by Jarom�r Dole�ek, [email protected]

C-SaCzech CSACEK_VERSION


 

Autor: J�ra Dole�ek, [email protected]
Datum posledn� zm�ny:   3.prosince 1996, 18:03

C-SaCzech je zkratka vzniknuv�� z C a SaCzech, a znamen� C-Satrapa's Czech (tedy C��kovsk� Satrapova �e�tina) Jako jm�no se ujalo krat�� a v�sti�n� "CS��ek".

Jedn� se program, kter� umo��uje zm�nu k�dov�n� WWW dokument� "on fly" podle p��n� u�ivatele. Str�nky jsou ulo�eny v ur�it�m typu k�dov�n� (ne nutn� jednom) a CS��ek je b�hem odes�l�n� u�ivateli zm�n� tak, aby je klient dok�zal spr�vn� zobrazit.

Pro� verze v jazyce C, kdy� p�vodn� s��ek skv�le funguje ? P�edev��m proto, �e verze v Perlu byla na m�j vkus trochu pomal�. Moje my�lenka byla, �e n�co, co bude pou��vat �asto hodn� lid�, m� b�t co nejefektivn�j��, nejrychlej�� a m�lo n�ro�n� na syst�mov� zdroje.
A tak vznikl C-SaCzech 1.0, jako potomek SaCzechu 2.0. Jeho pozd�j�� verze s sebou p�inesly mnoh� roz���en�, tak�e nen� zaru�ena zp�tn� kompatibilita nov� vytvo�en�ch str�nek. Star� str�nky budou fungovat bez pot���. S nov�mi verzemi SaCzechu se C verze sna�� dr�et krok, co� se zat�m da��.

CS��ek by asi nevznikl bez p�n� Pavla Satrapy, jeho� SaCzech byl p�edlohou p�i vytv��en� tohoto programu. Nikdy by taky nebyl tak dobr� jako je nyn� bez podn�tn�ch p�ipom�nek a pomoci mnoh�ch dal��ch lid�, z nich� bych cht�l asi nejv�ce pod�kovat Hynkovi Medovi.

CS��ek je mo�no st�hnout na ftp serveru ftp://ftp.muni.cz/pub/localization/csacek/. CS��ek 1.3 je moment�ln� k dispozici ve verzi pro Unix, ve zdrojov� form�. P�n� Zde�ka Pokorn�ho port na NT je odvozen z CS��ku 1.23, verze 1.3 bude naportov�na na NT hned, jak budu m�t chv�li (cca 2 dny) �asu. CS��ek 1.23NT naleznete na tomt� m�st� jako norm�ln� CS��ek.

I kdy� byl d�n CS��ek k t�m�� voln�mu pou�it�, p�esto plat� jist� licen�n� podm�nky. Pros�m p�e�t�te si je d��v ne� budete CS��ek pou��vat.

 


Dokumentace


M�te-li p�ipom�nky k programu, zjistili jste n�jak� chyby nebo m�te n�m�t na vylep�en�, m��ete m� kontaktovat na m� e-mailov� adrese.


Pokud se tato str�nka u� proch�z� p�es CS��ek a chcete ��st v jin�m k�dov�n� �e�tiny, vyberte si z li�ty, kter� se vyp��e pod n�pisem V�b�r k�dov�n�:

V�b�r k�dov�n�:
 


Licence

Upozorn�n�:
Program C-SaCzech je dod�v�n zcela bez z�ruk. Autor neru�� za jak�koli �kody, vznikl� jeho pou��v�n�m. Zd�raz�uji - autor je z��k� VE�KER� ODPOV�DNOSTI za �kody vznikl� p��m�m �i nep��m�m pou��v�n�m CS��ku �i kter�koli jeho sou��sti.

Copyright

CS��ek �i jeho libovoln� ��sti (jako public domain) m��ete voln� pou��vat ve zdrojov� i bin�rn� form�, pro soukromou pot�ebu, v�uku, tak i na komer�n�ch serverech. Je d�n k v�eobecn�mu u�it� v podm�nk�ch upraven� BSD licence:
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
   must display the following acknowledgement:
	This product includes software developed by Jaromir Dolecek, ICS MU 
	and contributors
4. Neither the name of Jaromir Dolecek nor the names of ICS MU
   may be used to endorse or promote products derived from this software
   without specific prior written permission.
5. On page, where users choose their encoding (normally the one
   generated by whichcode script) will be text:
        Coded by C-SaCzech.
   and link to program's home page (http://www.ics.muni.cz/~dolecek/c-saczech/)


THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

Pro u�ivatele to znamen�, �e jak�koli redistribuce mus� obsahovat soubor COPYRIGHT a jak�koli reklamn� materi�l hovo��c� o v�hod�ch a vlastnostech CS��ku �i odvozen�ho software mus� jednozna�n� ��ct, �e tento produkt obsahuje software vyvinut� Jarom�rem Dole�kem, �VT MU a jeho n�sledn�ky. Ani moje jm�no, ani jm�no �stavy v�po�etn� techniky MU nesm� v�ak b�t pou�ito ke schv�len� nebo podpo�e jak�chkoli odvozen�ch produkt� bez p�semn�ho povolen� od autora nebo �VT MU.
P�i redistribuci �i kone�n�m nasazen� na server d�le:
  1. V dokumentaci a k�du z�stane zachov�na informace o p�vodn�m autorovi a autorsk�ch pr�vech.
  2. Na str�nce, nab�zej�c� volbu k�dov�n� (v p�vodn� distribuci generov�na skriptem whichcode), z�stane zachov�na informace o tom, �e zm�na k�dov�n� je realizov�na programem C-SaCzech, a odkaz na dom�c� str�nku programu (http://www.ics.muni.cz/~dolecek/c-saczech/).

R�d bych vid�l, jak se CS��ek ����, budu tedy r�d, pokud byste mi napsali kr�tkou zpr�vu na adresu [email protected], jestli�e jej budete pou��vat. Budu pot�en ;-).

Zp�t  


Pro� vznikl ?

Uv�domuji si, �e ji� existuj� velmi kvalitn� programy pro konverzi k�dov�n� na WWW - a� u� je to WWWdia pana J.Ko���la nebo program SaCzech od p. Pavla Satrapy, kter� byl vzorem i pro tento program.

WWWdia m� osobn� p�ipad� a� p��li� n�ro�n� na instalaci (ani po hou�evnat�m asi 2 hodinov�m �sil� se mi ho nepoda�ilo dostat do pou�iteln� b�haj�c� verze) a zbyte�n� komplexn� a slo�it�. SaCzech se mi od prvn�ho pohledu l�bil, ale postupem �asu mi za�alo vadit, �e odezva s pou�it�m p�ek�dov�n� byla v�razn� pomalej�� ne� bez n�j. A proto jsem se rozhodl napsat n�jakou rychlej�� verzi, a proto�e algoritmus p�ek�dov�v�n� asi v�razn� zlep�it u� nelze, zvolil jsem ni��� programovac� jazyk - C.

Bylo (a st�le je) s CS��kem mnoho pr�ce, ale z�m�r je spln�n - CS��ek funguje a je v�razn� �ipern�j�� ne� SaCzech.

C-SaCzech CSACEK_VERSION nab�z�

C-SaCzech postr�d�

 

Budoucnost ...

Zd� se, �e se CS��ek zal�bil mnoha lidem a je pou��v�n. Dokonce se na�li lid�, kter�m st�lo za to ud�lat port na jin� opera�n� syst�m. Nejd��ve to byly NT. Pan Zden�k Pokorn� jej vytvo�il z CSacku 1.23. Tato verze byla zahrnuta do distribuce CS��ku 1.3, v dob� psan� t�to str�nky byla jinak dostupn� na ftp://zps.agc.cz/ShareWare/CSaczech/.
Pan Martin B�l� za�al pracovat na portu pro OpenVMS. V dob� psan� t�to str�nky (16.11.1996) byl v z�v�re�n� f�zi. Dom�c� str�nka tohoto portu bude na adrese http://cs.felk.cvut.cz/c-saczech/.

A co �ek� CS��ek do budoucna ? Port pro NT by se m�l st�t p��mo sou��st� CS��ku a bude se vyv�jet z�rove� s Unixovou verz�. To sam� by bylo vhodn� ud�lat pro OpenVMS, ale bude to asi trochu slo�it�j��, proto�e na ��dn� OpenVMS syst�m nem�m p��stup.
R�d bych tak� trochu pro�istil k�d, je�t� CS��ek zrychlil (jestli to bude mo�n�) a ud�lal jej trochu intuitivn�j��m a nyn�j�� jednotliv� izolovan� p��kazy slou�il do jazyka podobaj�c�ho se C. Tak� by bylo t�eba zahrnout podporu Unicode a snad n�kter�ch dal��ch obl�ben�ch kod�r�.

ZPET Zp�t  


Instalace

CS��ek je ud�l�n tak, aby byl pokud mo�no co nejjednodu��� na instalaci a �dr�bu. Od verze 1.3 byly rozd�leny zdrojov� soubory tak, aby byl pokud mo�no portovateln�. V praxi zat�m neodzkou�eno, ale v�echny funkce pro jednotliv� podporovan� opera�n� syst�my jsou v samostatn�m souboru, odd�len� od t�la CS��ku. Port na jin� opera�n� syst�m ne� Unix je tedy mo�n�, zat�m proveden� portace byly ud�l�ny v�t�inou p�eps�n�m v�t�iny k�du tak, aby to na v�sledn�m syst�mu bylo pou�iteln�.

Distribuce zdrojov�ho k�du programu je ulo�ena v souboru csaczechXXX.tar.gz (kde XXX je ozna�en� verze), kter� m��ete z�skat na URL

ftp://ftp.muni.cz/pub/UNIX/localization/
Ten obsahuje zdroj�ky pro Unixovou verzi a v podadres��i NT/ zdrojovou a bin�rn� distribuci CS��ku pro NT, kterou dal k dispozici pan Zden�k Pokorn� (dal�� info k NT portu viz Budoucnost CS��ku). Distribuci je t�eba rozbalit pou�it�m p��kazu
gunzip < csaczechXX.tar.gz | tar xvf -
pokud m�te GNU tar sta��
tar xvzf csaczechXX.tar.gz
Soubory budou rozbaleny do podadres��e csaczech-XX. Pot� n�sleduje f�ze p�izp�soben� va�im konkr�tn�m podm�nk�m. Po kr�tk�m obdob� la�kov�n� s GNU configure jsem se rozhodl p�ecejen pou��vat pouze make. Konfigurace tedy spo��v� v upraven� hlavi�kov�ho souboru config.h a �prav� souboru Makefile. Je t�eba tyto dva soubory zeditovat, zakomentovat to co nechcete a nastavit prom�nn� tak, aby v�e odpov�dalo Va�emu syst�mu a tomu, co (ne)chcete po CS��ku. Bohu�el Makefile je ud�lan� na a pro Unix (pou��v� sed(1) a chmod(1), pro n� pokud v�m nen� ekvivalent pod NT), tak�e nen� bez �prav pou�iteln� na n��em jin�m. Still no prob these times.

N��e je uveden p�ehled prom�nn�ch a voleb, kter�mi m��ete ur�it chov�n� budouc�ho CS��ku. Pokud V�m vyhovuje standardn� nastaven� nebo jsou pro v�s dostate�n� popisy p��mo v souborech config.h a Makefile, m��ete tuto ��st p�esko�it. Prom�nn� jsou v po�ad�,v jak�m je najdete v p��slu�n�ch souborech.

Prom�nn� ovliv�uj�c� chov�n� budouc�ho C-SaCzechu (nastavuje se v config.h):
FILESEPARATOR
Znak, kter� chcete pou��t jako odd�lova� jmen soubor� v DEFAULTFILE.
Default - ,
DEFAULTFILE
Seznam soubor�, kter� se zobraz�, jestli�e je zad�n pouze adres��. Nejrozumn�j�� je, pokud je stejn� jako seznam jmen za DirectoryIndex v konfigura�n�m souboru pro httpd. Pou�ije se pouze p�i vol�n� metodou file, pop�. guess.
Default - index.html,welcome.html,Welcome.html,default.htm.
CGIPATH
Cesta k CGI skript�m. Obsahem t�to prom�nn� by m�l b�t za��tek cesty (��st uv�d�n� bezprost�edn� za jm�nem serveru) ke konverzn�m skript�m, kter� se uv�d� v odkazech. Jestli�e konverzn� skripty ulo��te do obecn�ho adres��e, obsahuj�c�ho ostatn� CGI skripty a budete se na n� odkazovat pomoc� URL
http://www.kdesi.cz/cgi-bin/toASCII
m��ete ponechat implicitn� hodnotu "/cgi-bin". Je t�eba uv�st celou cestu, bez z�v�re�n�ho lom�tka. Tato hodota se pou��v� p�i metod� guess k ur�en�, zda po�adovan� dokument je cgi skipt.
Default - /cgi-bin
CGISUFFIX
P��pona CGI skirpt�. Pokud v� server vy�aduje, aby CGI skripty byly vyzna�ov�ny ur�itou konkr�tn� p��ponou (nej�ast�ji .cgi), uve�te ji jako hodnotu t�to prom�nn�. Je-li server dostate�n� inteligentn� na to, aby poznal CGI skript podle cesty, doporu�uji ponechat jako hodnotu prom�nn� pr�zdn� �et�zec.
Default - nenastaveno.
DEFSOURCE
Implicitn� k�dov�n� zdrojov�ch text� str�nek. Zde uve�te k�dov�n�, ve kter�m bude pravd�podobn� vytvo�ena v�t�ina Va�ich str�nek. Jestli�e si str�nka nep�edep��e zdrojov� k�d, bude jako v�choz� pro jej� p�ek�dov�n� pou�it tento k�d. Platn� n�zvy k�d� zjist�te prohl�dnut�m souboru nazvy nebo (l�pe) cstools.h. Ned�l� se rozd�l mezi velk�mi a mal�mi p�smeny.
Default - ISO-8859-2.
GETMETHOD
Zp�sob, kter�m m� C-SaCzech z�sk�vat k�dovan� texty. M��ete si vybrat jednu z n�sleduj�c�ch alternativ (mus� b�t vyps�no mal�mi p�smeny):
file
Soubory budou vyzved�v�ny p��mo ze syst�mu soubor� po��ta�e. Tento zp�sob je efektivn� a rychl�, ale umo��uje k�dovat jen texty, kter� jsou p��tomny v podob� soubor�. Nelze nap�. k�dovat v�stupy z CGI skript�.

http
V tomto re�imu pr�ce C-SaCzech z�sk�v� k�dovan� dokumenty od sv�ho serveru prost�ednictv�m HTTP protokolu. Tedy zahraje si na WWW klienta, odstran� sv� vlastn� jm�no z dotazu, kter� mu byl polo�en, a polo�� serveru tento modifikovan� dotaz. Data, kter� z�sk� jako odpov��, posoud� a bu� p�ek�duje (jestli�e se jedn� o text, p�esn�ji MIME typ text/html nebo text/plain) nebo propust� beze zm�ny.

Tento zp�sob je podstatn� m�n� efektivn� (obslou�en� ka�d�ho dotazu vyvol�v� jeden dotaz nav�c), umo��uje v�ak p�ek�dovat v�e, co je na serveru k dispozici - v�etn� v�stup� z CGI skript�.

Zvol�te-li tuto variantu, nem� ��dn� v�znam nastaven� prom�nn� DEFAULTFILE a p��znak� TIMESERVICES a IFMODIFIEDSINCE.

guess
C-SaCzech se pokus� automaticky ur�it pro ka�d� dotaz, kterou z v��e uveden�ch metod m� pou��t. Vyu��v� k tomu hodnotu prom�nn� CGIPATH a CGISUFFIX.Jestli�e je za��tek cesty ke k�dovan� informaci (��st URL, uveden� za vol�n�m skriptu) shodn� s CGIPATH nebo obsahuje CGISUFFIX, pou��je pro z�sk�n� dokumentu metoda http. http se pou�ije i tehdy, jestli�e se ��d� o dokument .shtml nebo v n�kter�m adres��i obsa�en�m v prom�nn� prost�ed� PATH_TRANSLATED se nach�z� soubor s n�zvem uveden�m u SECURE. V opa�n�m p��pad� jej vyzvedne p��mo ze syst�mu soubor�.

Metoda guess se tedy sna�� o rozumn� kompromis mezi p�edchoz�mi alternativami.

Default - guess.
TIMESERVICES
Jedn� se o prvn� z p��znak�. Jestli�e je definov�na, znamen� to, �e se lze spolehnout v�sledky funkce stat programovac�ho jazyka C, kterou C-SaCzech vyu��v� pro z�sk�n� informac� o velikosti a dob� vzniku souboru.
Default - nastaveno.
IFMODIFIEDSINCE
M� skript reagovat na hlavi�ku If-Modified-Since? Pokud v�mi pou��van� server nep�ed�v� CGI skript�m informace z HTTP hlavi�ek dotazu (v prom�nn�ch prost�ed� HTTP_hlavi�ka), nedost�v� C-SaCzech pot�ebn� informace. V takov�m p��pad� volbu vypn�te.
Default - nastaveno.
SECURE
Pokud je definov�no, otestuje se, zda v n�kter�m adres��i z PATH_TRANSLATED nen� soubor omezuj�c� p��stup a slou��c� v�t�inou k autorizaci p��stupu. Jm�no souboru, kter� se takto pou��v� z�le�� na tom, jak� httpd funguje na Va�em serveru, p��padn� dotazy na to, jak� to je, sm�rujte na Va�eho syst�mov�ho administr�tora.
Default - ".htaccess"
DECODEQUERY
Definujte tuto prom�nnou, pokud chcete, aby C-SaCzech p�ek�dov�val i parametr z p��kazov� ��dky.
Default - nenastaveno.
ADDBAR
Pokud je nastavena tato prom�nn�, C-SaCzech bude reagovat na text <!--BAR--> (pop�.<!--BAR E-->) tak, �e v dan�m m�st� vyp��e text, umo��uj�c� zm�nu k�dov�n� dokumentu; podle toho, kter� varianta je pou�ita, dopln� bu� �eskou hlavi�ku a z�v�r (obsah prom�nn�ch HEADBARTEX a TAILBARTEXT), nebo anglick� (EHEADBARTEX a ETAILBARTEXT).
Default - nastaveno.
ALLWAYSADDBAR
Pokud je tato prom�nn� nastavena, C-SaCzech vyp��e li�tu v�dy; pokud text neobsahuje �et�zec <!--BAR-->, vyp��e ji na konci dokumentu. Samoz�ejm� pouze tehdy, pokud dan� dokument p�ek�dov�v� (tak�e obr�zky jsou v pohod�) nebo se nejedn� pouze o chybov� hl�en�.
Default - nenastaveno.
LONGNAMEBAR
Pokud je nastavena, v nab�dce k�dov�n� se zobraz� cel� jm�na k�d� a ne pouze trojp�smenn� zkratky.
Default - nenastaveno.
HEADBARTEXT, EHEADBARTEXT
Text, kter� se vyp��e p�ed li�tu s nab�dkou p�ek�dov�n�. HEADBARTEXT se vyp��e v �esk� verzi, EHEADBARTEXT v anglick�.
Default - viz defaultni config.h.
TAILBARTEXT, ETAILBARTEXT
Text, kter� se vyp��e za li�tu s nab�dkou p�ek�dov�n�. Standartn� je to "<HR>", tedy vodorovn� linka. Op�t TAILBARTEXT je pro �eskou li�tu, ETAILBARTEXT pro anglickou.
Default - "<HR>".
ADDWHICHCODE
Pokud je nastavena, v automaticky generovan� nab�dce k�dov�n� se zobraz� i obsah prom�nn� BARWHICHCODENAME, kter� bude odkazem na volbu pomoc� standartn�ho whichcode. M� smysl pouze tehdy, pokud je nastaveno ADDBAR .
Default - nastaveno.
BARWHICHCODENAME
Text, kter� se vyp��e do li�ty.
Default - "whichcode".
MULTIPART
Nastaven�m t�to prom�nn� bude zkompilovan� C-SaCzech podporovat v�ce r�zn�ch dokumen� v jednom dokumentu; jak to funguje se m��ete pod�vat na tento p��klad. C-SaCzech bude reagovat na <--PART XXXXX--> odpov�daj�c�m tak, �e podle n�zvu zjist�, zda m� danou ��st vypsat (pokud byl spu�t�n jako nap�. toASCII.eng.cgi, bude vypisovat ��sti <--PART eng-->).
Default - nastaveno.
PARSE_DOCUMENT
Podpora dokument� pou��vaj�c�ch SSI (p��kazy <!--#exec, <!--#include). CS��ek tak� provede odpov�daj�c� p��kazy v p��pad�, �e to httpd neum� nebo nen� nastaven tak, aby um�l. Pozor, toto nastaven� m��e obej�t syst�movou konfiguraci, tak�e pokud je n�jak� d�vod pro� to nen� na Va�em serveru tak jist� tyt� d�vody hovo�� pro to, aby se SSI zak�zaly i v CS��ku. Pozor - jestli�e WWW server SSI um� a v CS��ku je zak�ete, v�t�inou se stejn� neprovedou.
Pokud chcete povolit jen n�kter� ze dvou podporovan�ch p��kaz�, m��ete tak ud�lat spr�vn�m (ne)nastavenim n�sleduj�c�ch dvou p��znak�.
Default - nastaveno.
ENABLEEXEC
Viz PARSE_DOCUMENT. Povol� p��kaz "<!--#exec". CS��ek CSACEK_VERSION um� prov�st jen exec cmd.
Default - nastaveno.
ENABLEINCLUDE
Viz PARSE_DOCUMENT. Povol� p��kaz "<!--#include". CS��ek CSACEK_VERSION um� prov�st jen include file.
Default - nastaveno.
USECHARSET
Pokud definov�no, CS��ek p�ip��e k�dovan�m dokument�m do hlavi�ky k �daji Content-type krom� spr�vn�ho typy dokumentu i nepovinn� parametr "charset"; n�kter� prohl��e�e, kter� um� MIME se pak podle tohoto parametru dovedou za��dit a zobrazit ve spr�vn�m k�dov�n�.
Default - nastaveno.
STATUSHACK
N�kter� httpd (nap�. NCSA httpd, Apache httpd) maj� probl�my s parsov�n�m hlavi�ky dokumentu, jestli�e se v ��sti Status: uvede i typ serveru (tzn. p�ed�v� se i HTTP/1.0). Pokud definujete tuto prom�nnou, status se p�ed�v� tak, aby prvn� uveden� text za "Status:" bylo ��slo.
Tuto prom�nnou se doporu�uje definovat.
Default - nastaveno.
CSACEKFILTERS
Umo�n� pou��vat "CS��ek filtry" k filtrov�n� vstupu/v�stupu do/z CS��ku. Tzv. "CS��ek filtr" m��e b�t kter�koli program kter� �te ze standartn�ho vstupu a zapisuje na standartn� v�stup. Bli��� informace u popisu p��kazu.
Default - nenastaveno.
NPH
Pouze a jenom k testovac�m ��el�m, nedoporu�uji definovat dokud opravdu nev�te co d�l�te. Pokud definov�no, CS��ek se chov� jako by se jeho hlavi�ky u� nem�l httpd parsovat -> Status: je bez kl��ov�ho slova Status:, p�eskakuje se �vodn� "nph-" ve SCRIPT_NAME.
Default - nenastaveno.
LOCALHOSTHACK
Pokud je definov�no, CS��ek se m�sto se serverem uveden�m v prom�nn� prost�ed� SERVER_NAME kontaktuje s po��ta�em na kter�m byl spu�t�n. V drtiv� v�t�in� p��pad� se jedn� o tent�� stroj, tak�e je to korektn�. Spojen� se ale takto nav�e rychleji a tak� komunikace by m�la b�t rychlej�� (nebylo testov�no). CS��ek se pokus� nav�zat spojen� na IP adresu 127.0.0.1 co� je v�t�inou spr�vn� spojen� na po��ta� na kter�m jede (aspo� na Unixu). Definov�n�m tohoto p��znaku v�t�inou nic neztrat�te (kdy� nepom��e aspo� neu�kod� ;-).
Default - nastaveno.
CSACEK_REPORT
Pokud nastav�te tento p��znak, CS��ek vyp��e svoji konfiguraci, pokud mu jako query podstr��te parametr csacek_report nebo csacek_info. Celkem u�ite�n� (aspo� se d� kdykoliv zjistit, co moment�ln� verze um� a co ne).
Default - nastaveno.
CSACEK_BANNER
Pokud je definov�no, CS��ek na za��tek dokument�, kter� k�duje, nap��e kr�tk� info, �e to ud�lal. Pokud v�m to vylo�en� vad�, m��ete to samoz�ejm� zak�zat.
Default - nastaveno.
RESTRICTDOMAINS
Od verze 1.3_BETA je mo�no m�nit obsah dokumentu podle dom�ny �i stroje, odkud vzd�len� u�ivatel p�istupuje. Jedn� se o p��kaz DOMAIN, pou��v� se podobn�m zp�sobem jako p��kaz PART, adresu je mo�no zadat v dom�nov�m tvaru i jako �ist� IP.
Default - nastaveno.
CSACEK_HELP
Jestli�e je definov�no a d�te CS��ku parametr ?csacek_help, CS��ek vygeneruje kr�tkou str�nku s popisem p��kaz�, kter� podporuje.
Default - nastaveno.
CSACEK_HOMEPAGE
Jestli�e je definov�no a d�te CS��ku parametr ?csacek_homepage, CS��ek p�esm�ruje klienta na dom�c� str�nku programu.
Default - nastaveno.

Prom�nn� pou��van� pouze v �ase kompilace (soubor Makefile):
CC
Tato prom�nn� obsahuje jm�no kompil�toru, kter� bude pou�it pro vytvo�en� spustiteln�ho C-SaCzechu. cc je standartn� a programy j�m zkompilovan� by m�ly b�et bez probl�m�. gcc je lep��, ale n�kter� WWW servery odm�taj� spustit j�m zkompilovan� programy. Na syst�mech BSD/OS se pou��v� cc nebo shlicc, pokud chcete aby program pou��val sd�len� knihovny.
Nastaveno na: cc
CFLAGS
Zde jsou uvedeny parametry p�edan� kompil�toru uveden�mu v ${CC}. Jedna se v�t�inou o volbu optimalizace, pop�. i jin� d�le�it� parametry (jako t�eba -fno-strength-reduce pokud pou��v�te pro kompilaci nepatchnut� gcc 2.7.2 a pou��v�te -O2).
LFLAGS
zde jsou uvedeny knihovny, kter� se mus� nalinkovat, aby p�eklad prob�hl �sp�n�. Na SunOS a SCO Unix je t�eba p�idat -lsocket -lnsl, na UnixWare (a mo�n� i jinde) je�t� nav�c -lresolv.
OS_TYPE
Typ opera�n�ho syst�mu, na kter�m CS��ek budete cht�t kompilovat. Prozat�m jedin� platn� hodnota je unix.
Nastaveno na: unix
LN
P��kaz, kter�m se na va�em souboru ud�l� symbolick� (m�kk�) link.
SHELL
Jm�no shellu, kter� se m� pou��t ve skriptu whichcode. M� cenu pouze pro Unix (pod NT pokud v�m nelze p��mo ve skriptu nastavit, pod ��m se m� spustit). Podporovan� shelly (respektive ty, kter� v�m, �e funguj�) jsou: sh, ksh, bash, ash, zsh, pdksh, csh nefunguje, nen� a nebude podporov�n.
Nastaveno na: /bin/sh
STRIP
Zkompilovan� bin�rn� soubor obsahuje n�kter� informace, kter� jsou pot� v�t�inou zbyte�n� (tabulku symbol� atd. pou��vaj� se p�i lad�n� programu). Pokud tedy CS��ek budujete pro norm�ln� pou��v�n�, nechte jako obsah strip, jinak echo. U�et��te t�to zp�sobem asi 3k na disku ;-)
Nastaveno na: strip
CGIPATH
Pravd�podobn� budete cht�t nastavit stejnou hodnotu jako v config.h. V souboru Makefile se u��v� pro ur�en� hodnory prom�nn� CGIPATH ve skriptech whichcode, whichcode.eng.
SUFFIX
Uve�te, pokud chcete, aby generovan� soubory m�ly n�jakou p��ponu (nap�. .cgi). Nen� z�visl� na hodnot� CGISUFFIX, nastaven� v config.h.
COMPILEDIR
Kam se maj� ulo�it zkompilovan� bin�rky, soubory obsahuj�c� symbolick� linky a soubory whichcode. M��e b�t i adres��, kde m�te ostatn� CGI skripty, u�et��te si takl jeden krok p�i instalaci.
CSACEK_CODES
Seznam k�d�, mezi kter�mi CS��ek um� p�ev�d�t. Kdy� se v z�v�re�n� f�zi kompilace budou vytv��et symbolick� odkazy na soubor, kter� bude on�m "centr�ln�m" p�evodn�kem, vytvo�� se pouze odkazy se jm�ny z tohoto seznamu. Ve v�t�in� p��pad� asi nen� t�eba p�enastavit.
PARTLIST
Seznam n�zv� ��st� (viz p��kaz PART), kter� chcete na va�em syst�mu pou��vat.
Nastaveno na: eng.
CZ_WHICHCODE, ENG_WHICHCODE, WHICHCODE_DIR
WHICHCODE_DIR obsahuje adres��, ve kter�m jsou defaultn� z�klady ke skript�m whichcode a whichcode.eng. Pod�vejte se tam a podle toho, kter� v�m vyhovuje nastavte p��slu�n� i prom�nn� CZ_WHICHCODE a ENG_WHICHCODE.

... a instalace pokra�uje

T�m je ukon�ena konfigura�n� f�ze. Nyn� by v ide�ln�m p��pad� (kter� m��e a nemus� nastat) m�lo sta�it d�t p��kaz:
make
Tento program na z�klad� Makefile vytvo�� v podadres��i zadan�m v prom�nn� COMPILEDIR zkopilovan� program to$TARGET a ostatn� soubory toXXXX, kter� jsou symbolick� odkazy na tento soubor; d�le pak tak� spustiteln� whichcode a whichcode.eng na z�klad� soubor� zadan�ch jako CZ_WHICHCODE a ENG_WHICHCODE. Tak� p��slu�n� tyto dva soubory nalinkuje (tak, aby exitovaly odkazy to__CHARSET__ a to a to__CHARSET__.eng a to.eng. Pokud bylo definov�no CGISUFFIX v�echny soubory budou m�t samoz�ejm� odpov�daj�c� p��ponu.

Pokud si p�ejete, m��ete nyn� je�t� upravit koment��e ve vytvo�en�m $COMPILEDIR/whichcode.

A nyn� u� jen sta�� p�esunout soubory z podadres��e compile do adres��e s ostatn�mi CGI skripty tak, aby je httpd mohl spustit a "HUR�", CS��ek by m�l b�t p�ipraven k pou��v�n�.

  ZPET Zp�t


P�enos do jin�ho opera�n�ho syst�mu

Potenci�ln� p�enos na jin� OS ne� Unix nen� tak jednoduch�. Pokud za�neme od rozbalen� - je t�eba tar a GNU gzip pro rozbalen�. Ale to by zas takov� probl�m b�t nem�l (GNU software je voln� p��stupn� a porty z�kladn�ch program� jako jsou tyto exituj� snad pro jak�koli na Zemi se vyskytuj�c� syst�m). Probl�mem mohou b�t dlouh� jm�na soubor�. jin� odd�lova�e v n�zvech soubor�, nep��tomnost n��eho jako shell �i make na v�sledn�m syst�mu, jin� konvence vol�n� skript�, jin� syntaxe Makefile, jin�, nestandardn� C kompil�tor. Nikoli nejmen��m m��e b�t, �e C kompil�tor na c�lov�m syst�mu pou��v� jin� knihovny a funkce k p��stupu na s��. D�le n�kter� funkce pro zpracov�n� textov�ch �et�zc� jsou sice standardn� (POSIX.1), ale to neznamen�, �e zrovna v� neunixov� C kompil�tor standard nedodr�uje nebo poru�uje ;-)

Dohromady podtr�eno a se�teno: je to jist� o���ek, ale p�i tro�e n�mahy a mo�nosti p��stupu na Unixovou i c�lovou platformu �e�iteln�.

  ZPET Zp�t


N�vod k pou�it�

CS��ek p�edpokl�d�, �e bude spu�t�n jako CGI skript a vyu��v� p��slu�n� prom�nn� prost�ed�. Nelze jej tedy spou�t�t samostatn� (alespo� ne jednodu�e).

Obsah

Z�klady - URL str�nky

Str�nku napi�te v k�du, kter� odpov�d� zvolen�mu implicitn�mu k�du serveru. (Ve skute�nosti zdrojov� k�d nen� omezen.) Vystavte ji, jak je obvykl�. Jedin�, co se zm�n�, bude URL, kter�m je t�eba se odk�zat na str�nku. Jestli�e URL str�nky bez p�ek�dov�n� by bylo
http://www.kdesi.cz/cesta/stranka.html
bude URL t�e str�nky p�i po�adavku jej�ho p�ek�dov�n� do sedmibitov�ho ASCII
http://www.kdesi.cz/cgi-bin/toXXXX/cesta/stranka.html
P�edpokl�d�m, �e cesta ke k�duj�c�m skript�m je /cgi-bin. Na m�sto XXXX m��ete dosadit kter�koli z podporovan�ch typ� k�dov�n� (ASCII, ISO-8859-2, CP1250, ISO-8859-1, CP852, KEYBCS2, MAC nebo KOI8-CS).

Tento odkaz v�ak p�edpokl�d�, �e p�edem v�te, jak� k�d bude u�ivatel vy�adovat. To �asto nemus� b�t pravda. V takov�m p��pad� doporu�uji pou��t skript whichcode a URL

http://www.kdesi.cz/cgi-bin/whichcode/cesta/stranka.html
Skript whichcode u�ivateli ozn�m�, �e c�lov� dokument obsahuje diakritick� znam�nka a umo�n� mu zvolit k�d, kter� pova�uje za optim�ln�.

Zachov�n� k�du p�i odkazech

Je p�irozen�m po�adavkem, aby u�ivatel vyb�ral k�d jen jednou a p�i odkazech na dal�� dokumenty z t�ho� zdroje se uchov�vala informace o zvolen�m k�dov�n�. Nejjednodu��� cestou je relativn� odkaz. Kdy� do dokumentu vlo��te odkaz pomoc� zna�ky
<A HREF="kapitola1.html">Prvn� kapitola</A>
klient p�epracuje relativn� URL kapitola1.html na absolutn�. Vyjde p�itom z URL dokumentu, obsahuj�c�ho zna�ku. Pokud bylo p�vodn� URL dokumentu nap��klad http://www.kdesi.cz/cgi-bin/toCP1250/cesta/obsah.html, povede zm�n�n� odkaz k dokumentu http://www.kdesi.cz/cgi-bin/toCP1250/cesta/kapitola1.html. Informace o k�du byla zachov�na.

  Trik - m��ete pou��t v dokumentu zna�ku <BASE> na rozskokov� str�nce (ta, na kterou �ten��i v�t�inou dojdou bez prek�dov�n�). V�echna relativn� URL vzta�ena k lok�toru, definovan�mu touto zna�kou, nikoli k URL, pod kter�m klient z�skal str�nku.

P��klad:
str�nka http://kdesi/~ja/moje.html m��e obsahovat zna�ku <BASE HREF=http://kdesi/cgi-bin/to__CHARSET__/~ja/moje.html>. Pokud �ten�� pou�ije n�kter� relativn� link, je p�inucen vybrat si k�dov�n� a d�l u� se mu str�nky zobrazuj� v tom "jeho".

Absolutn� odkazy je t�eba �e�it jinak. Tady pou��v� CS��ek metodu podobnou programu WWWdia. Do textu m��ete na kter�koli m�sto (v�etn� cest) vlo�it �et�zec

__CHARSET__
K�duj�c� skript nahrad� ka�d� v�skyt tohoto �et�zce identifikac� k�du, do kter�ho pr�v� p�ev�d� str�nku. Proto m��ete v textu pou��t zna�ku
<A HREF="http://www.jinde.cz/cgi-bin/to__CHARSET__/jinacesta/str.html">odkaz</A>
Pokud str�nka projde skriptem toKEYBCS2, kter� ji p�evede do k�du KEYBCS2 (Kamen�ci), bude v odeslan�m dokumentu v t�to zna�ce uvedeno URL
<A HREF="http://www.saczechserver.cz/cgi-bin/toKEYBCS2/jinacesta/str.html">odkaz</A>
P�edpokl�d�m, �e server, ur�en� t�mto absolutn�m URL, m� instalov�n C-SaCzech nebo SaCzech. M��e, ale nemus� se jednat o tent�� server, kter� poskytl p�vodn� dokument.

Jeliko� jsou n�zvy k�d� shodn� s programem WWWdia, mohou se na sebe navz�jem korektn� odkazovat str�nky, jejich� servery pou��vaj� r�zn� implementace �e�tiny. Absolutn� URL, uveden� v��e, lze pou��t i na str�nce, kter� je p�ek�dov�v�na programem WWWdia. Pot�ebujete-li naopak sko�it ze str�nky k�dovan� pomoc� C-SaCzechu nebo SaCzechu na str�nku v pomoc� WWWdia, pou�ijte pro tento odkaz URL

<A HREF="http://www.diaserver.cz/cgi-bin/charset/jestecesta/str.html?charset=__CHARSET__">odkaz</A>

Nek�dovat obr�zky!

C-SaCzech je selektivn�. K�duje jen soubory s ur�it�mi p��ponami (implicitn� .html, .htm, .txt a .cz ; jak je zm�nit se do�tete v kapitole Pod kapotou). Dostane-li k p�ek�dov�n� soubor s jinou p��ponou, odm�tne se akce ��astnit a p�esm�ruje klienta p��mo na doty�n� soubor. D�sledkem je, �e klient z�sk� soubor v p�vodn�m tvaru beze zm�ny k�dov�n�.

D�ky tomuto mechanismu m��ete na sv� str�nky vkl�dat relativn� odkazy na obr�zky, zvuky a dal�� druhy dat, kter�m by p�ek�dov�n� rozhodn� neprosp�lo.

Jestli�e se na str�nce vyskytne zna�ka

<IMG SRC="obraz.gif">
a URL str�nky je http://www.kdesi.cz/cgi-bin/toASCII/cesta/stranka.html, bude klient po serveru po�adovat http://www.kdesi.cz/cgi-bin/toASCII/cesta/obraz.gif. Server spust� program toASCII. Ten v�ak zjist�, �e je po n�m po�adov�no k�dov�n� souboru s p��ponou .gif. M�sto aby se pustil do d�la, odpov� klientovi "hele s t�mhle j� nechci nic m�t, vezmi si rovnou ten soubor". Klient si ho vezme a v�e funguje k pln� spokojenosti v�ech z��astn�n�ch.

Zm�na v�choz�ho k�du

Implicitn� v�choz� k�d, ve kter�m budou ps�ny dokumenty, ur�uje spr�vce serveru p�i instalaci program� C-SaCzech. M�lo by se jednat o k�d, ve kter�m bude vytv��ena v�t�ina str�nek (nejl�pe v�echny). Pokud autor pou��v� k�d jin�, m� dv� mo�nosti:
P�ev�st str�nku do implicitn�ho k�du.
To je m�n� pohodln� a nav�c to komplikuje pozd�j�� �pravy na str�nce (ka�d� �prava bude vy�adovat nov� p�ek�dov�n�).
Ponechat str�nku v k�du p�vodn�m a vyzna�it jej.
K vyzna�en� p�vodn�ho k�du dokumentu se pou��v� HTML koment�� v p�esn� definovan�m tvaru
<!--MYCHARSET=k�d-->
Nap��klad <!--MYCHARSET=CP1250-->. Po��naje ��dkem, obsahuj�c�m tento koment�� (doporu�uji jej uv�st na samostatn�m ��dku na za��tku dokumentu), bude za v�choz� k�d dokumentu pova�ov�n k�d CP1250.

Dokonce m��ete pou��vat n�kolik r�zn�ch k�d� v jednom dokumentu. Jestli�e je prvn� polovina textu ps�na v k�du Kamenick�ch a druh� v MS-Windows, sta�� p�ed ka�dou ��st vlo�it p��slu�n� koment�� a v�sledek bude u�ivateli odesl�n ve spr�vn� podob� - ob� poloviny se korektn� p�ek�duj� nap��klad do ISO Latin 2. Takov� dokumenty sice pova�uji za zv�rstvo, ale ta mo�nost tu je...

Pro milovn�ky patologick�ch p��pad�:

Li�ta s nab�dkou k�dov�n�

Pokud se tak spr�vce rozhodne p�i instalaci, m��ete na str�nk�ch k�dovan�ch C-SaCzech vyu��vat automatick�ho generov�n� li�ty s nab�dkou k�dov�n�. Jak se to d�l� a co v�e lze nastavit se do�tete v ��sti Instalace. Ve str�nk�ch pak sta�� v m�st�, kde chcete m�t nab�dkovou li�tu, napsat p��kaz
<--BAR-->
kter� zp�sob�, �e C-SaCzech v dan�m m�st� vytvo�� a vyp��e li�tu s nab�dkou. Pokud je tak C-SaCzech nakonfigurov�n, vypisuje li�tu automaticky na konci dokumentu, pokud u� li�ta nebyla alespo� jednou vyps�na p�edt�m.

Pokud chcete doc�lit speci�ln�ho tvaru li�ty, m�te dv� mo�nosti. Jedna je zadat parametry p��mo v p��kazu BAR a druh� pou��t p��kazu BARDEF, kter� je identick� s BAR a� na to, �e nezp�sob� vyps�n� li�ty. V obou p��kazech jsou zadan� parametry platn� i pro v�echny n�sleduj�c� p��kazy BAR. S v�hodou lze takto nap�. p�edefinovat tvar li�ty a nechat C-SaCzech vypsat li�tu na konci dokumentu (k pou�it� p��kazu BAR viz. p��klad).

V�cejazy�n� dokumenty

Pokud po�izujete dokumenty, kter� maj� v�c variant, a� u� jsou nap��klad ve dvou r�zn�ch jazyc�ch nebo jsou nap��klad odli�n� zpracov�ny pro zobrazen� r�zn�mi WWW browsery, vyno�� se probl�m s aktualizac�. Jestli�e je takov�ch dokument� v�ce, je t�eba pamatovat na to, aby se p��padn� zm�ny provedly v ka�d�m souboru, a m��e se st�t (proto�e jsme lidi omyln�), �e se zm�ny neud�laj� v�ude. Bylo by vhodn� m�t v n�jak�m konzistentn�m form�tu v�echna spolusouvisej�c� data v jedin�m souboru.

Jak se to pou��v� ? ��sti ozna��me tak, �e na za��tek d�me speci�ln� p��kaz, podle kter�ho C-SaCzech pozn�, �e zde za��n� nov� ��st. Nap�.

<--PART ENG-->
vyzna�� novou ��st se jm�nem ENG. Pokud je pak je dan� dokument p�ekl�d�n skriptem se jm�nem toXXXX.eng (pop�. toXXXX.ENG), vyp��ou se ��sti mezi <--PART ENG--> a jin�mi ��stmi (praktick� uk�zka pou�it� viz p��klad). P�i pojmenov�n� ��st� nez�le�� nez�le�� na mal�ch a velk�ch p�smenech (tzn. ��st MoJe se bere stejn� jako moje).

Je rezervov�no jedno jm�no, a to ALL. ��st pojmenovan� jako ALL bude vyps�na v�dy, stejn� jako ��st dokumentu do prvn�ho v�skytu p��kazu PART.

Je t�eba zajitit, aby se k dokument�m, kter� jsou takto naps�ny, nedostal u�ivatel, ani� by p�e�el p�es CS��ek. Proto�e bez p�ek�dov�n� m��e b�t onen text pon�kud ne�iteln� ...

Syntax je d�le rozeb�r�na v seznamu p��kaz�

Podpora autorizaci p��stupu

Mo�n� jste se dostali do situace, kdy jste sice cht�li zp��stupnit informace p�es Web, ale cht�li jste tyto informace vystavit jen pro n�jakou uzav�enou skupinu lid�. A� u� t�eba lok�ln� zrcadlo Pethousu nebo informace, za jejich� poskytov�n� se oby�ejn� berou pen�ze (inzer�ty, statistiky, nab�dky ...). WWW server oby�ejn� umo��uje omezit p��stup k adres���m obsahuj�c�m takov� informace pomoc� speci�ln�ch konfigura�n�ch soubor� (nej�ast�ji .htaccess). Od verze 1.3_ALPHA CS��ek tuto ideu podporuje a pokud je p�inucen p�en�et takto chr�n�n� dokument, po��d� o p�enos p��mo http d�mona m�sto aby si ho s�m vyzvedl ze syst�mu soubor�.

Potenci�ln� probl�my s p�ek�dov�v�n�m chr�n�n�ch soubor� jsou diskutov�ny n��e.

P�ek�dov�v�n� chr�n�n�ch (ve�ejn� nep��stupn�ch) soubor�

Bohu�el to nen� tak jednoduch� jak by se na prvn� pohled zd�lo. CS��ek toti� samoz�ejm� pot�ebuje k p��stupu p��slu�n� heslo. Ale toto heslo se standardn� ��dn�m zp�sobem skriptu p�i spou�t�n� nep�ed�v�, z bezpe�nostn�ch d�vod�. Pokud toti� nem�te absolutn� kontrolu nad t�m jak� CGI skripty se V�m na serveru vyskytnou, mohl by spu�t�n� skript velice snadno tuto informaci zneu��t, proto�e heslo se v protokolu HTTP p�en�� nezak�dovan�, jen upraven� pro p�enos (pou�it�m base64).
Pokud tedy m�te kontrolu nad v�emi skripty na Va�em serveru, m��ete vcelku jednoduch�m zp�sobem upravit httpd tak, aby mezi prom�nn� pros�ed� spou�t�n�ho skriptu byl p�id�n i obsah hlavi�ky "Authorization".

Podpora SSI a shtml

Co je to SSI (neboli Server Side Includes) se m��ete do��st tak� jinde. Je to zp�sob, jak pomoc� speci�ln�ch konstrukc� p��kaz� vkl�dat dynamicky do dokument� jin� dokumenty, v�stup z program� apod. Pokud V� server SSI nepodporuje a V�m by se n�co takov�ho hodilo, CS��ek V�m v tomhle pom��e. Jak ? Dokument, kter� takov�to p��kazy pou��v�, CS��ek p�ed� ke zpracov�n� WWW serveru a pokud je server ignoruje, CS��ek je vyhodnot� a provede. Pod�vejte se jak� prom�nn� mus�te nastavit p�ed kompilac� CS��ku a jak� p��kazy pak m��ete pou��vat.
Shtml je v�t�inou p��pona dokument�, kter� pou��vaj� tyto speci�ln� p��kazy. CS��ek od verze 1.3_ALPHA je samoz�ejm� nyn� rozpozn� a p�ek�dov�v� (p�edchoz� verze dokument .shtml h�zely do jednoho pytle s obr�zky a jin�mi daty, kter�m p�ek�dov�n� nesv�d��).

Napojen� CS��ku na jin� programy

CS��ek tak� m��e na vytv��en� dokumentu spolupracovat s jin�mi programy. Realizace je pomoc� Unixovsk�ch trubek. Jedin� podm�nka, kterou mus� program spl�ovat je, aby �etl ze standartn�ho vstupu a psal na standartn� v�stup. A jak to cel� funguje ? Pokud CS��ek p�i �ten� dokumentu naraz� na speci�ln� direktivu, m��e za��t filtrovat po�adovan� dokument skrz zadan� program. Ud�l� n�sleduj�c�:
M� osobn� se zd� b�t u�ite�n�j�� a), ale uvid� se �asem, co se bude v�c pou��vat.
M��e se tak velice jednodu�e zpracov�vat nap��klad v�stup z r�zn�ch vyhled�vac�ch program�, ani� by tento musel s�m o sob� b�t CGI skript, CS��ek se postar� o ve�ker� hlavi�ky. Pokud bude takov� program produkovat texty v �e�tin� s diakritikou, je lep�� pou��t ho jako cs��ekfiltr i v p��pad�, �e by ud�l�n� CGI skriptu se stejn�mi v�sledky nebylo p��li� obt��n�. P�ek�dov�vat p�es (pravd�podobn�) CS��ek se mus� tak jako tak a u�et�� se �as p�enosu a nov� kontaktov�n� vzd�len�ho http d�mona, co� �et�� jednak strojov� �as serveru a tak� (co� je d�le�it�) �as v�ech potenci�ln�ch u�ivatel�.
Jak pou��vat cs��ekfiltry se m��ete do��st v jin� ��sti tohoto dokumentu.

Zji�t�n� zakompilovan�ch default� a on-line help

Verze 1.3 p�in�� dal�� dv� u�ite�n� drobnosti - je mo�no zjistit, jak byl CS��ek nakonfigurov�n p�i kompilaci a tak� nab�z� on-line help. To prvn� se vyp��e, pokud d�te CS��ku parametr ?csacek_report nebo ?csacek_info, tedy cel� URL bude vypadat n�jak takto: http://server/cgi-bin/toASCII?csacek_report. CS��ek automaticky vygeneruje HTML str�nku s po�adovan�mi informacemi. Aby vypsal help, mus� URL vypadat n�jak takto : http://server/cgi-bin/toASCII?csacek_help. CS��ek vygeneruje str�nku, popisuj�c� z�kladn� p��kazy, kter� v t�to verzi CS��ku je mo�no pou��vat, spolu s kr�tk�m popisem, co kter� d�l�. Na domovskou str�nku se dostanete, pokud CS��ku podstr��te parametr ?csacek_homepage.   ZPET Zp�t

Seznam p��kaz�

Ka�d� p��kaz pro C-SaCzech je uzav�en do koment��e mezi <!-- a -->, tedy nap�.
<!--BAR E LONG-->
Pro milovn�ky patologick�ch p��pad�:

Seznam:

... a popis:

V n�sleduj�c�m popisu hranat� z�vorky ozna�uj� ��sti, kter� nemus� (ale mohou) b�t zad�ny. U ka�d�ho p��kazu je uvedena jeho syntax, jeden jednoduch� p��klad pou�it�, d�le pak kr�tk� popis, co dan� p��kaz d�l� a pot� p��padn� p�ehled voleb �i parametr�, kter� m��ete p��kazu zadat. U n�kter�ch je uveden je�t� odkaz na dal��, podrobn�j�� p��klady u�it�.

MYCHARSET
Syntax: <!--MYCHARSET=k�d-->
P��klad pou�it�: <!--MYCHARSET=ISO-8859-2-->

BAR, BARDEF
Syntax: <!--BAR[DEF] [parametry]-->
P��klad pou�it�: <!--BAR SHORT NOWHICH SEP=" o "-->

P��kaz BAR slou�� k automatick�mu vyps�n� li�ty s nab�dkou k�dov�n�. V li�t� se objev� seznam k�d�, kter� CS��ek zvl�d� a ka�d� z nich je odkaz na aktu�ln� str�nku, p�evedenou do p��slu�n�ho k�du. Parametry nemus�te uv�st, BAR bez parametr� vyp��e li�tu v takov�m tvaru, jak je pr�v� nastaveno.

BARDEF m� stejn� volby a parametry jako BAR, s t�m rozd�lem, �e li�tu nevyp��e, pouze nastav� vnit�n� prom�nn� CS��ku pro pozd�j�� pou�it� na str�nce.

V�znam jednotliv�ch parametr�:

Zde je n�kolik dal��ch p��klad�, pokud se u� tento dokument filtruje p�es CS��ek, uvid�te tak� jak ona generovan� li�ta vypad�.

PART
Syntax: <!--PART [jm�no_��sti1 jm�no_��sti2 ...]-->
P��klad pou�it�: <!--PART ENG-->

N�sleduj�c� ��st textu do v�skytu dal��ho p��kazu PART je p�ed�na pouze pokud n�kter� jm�no ��sti odpov�d� p��pon� CGI skriptu, kter�m se dokument filtruje; nap��klad pokud je odkaz ve tvaru: http://server/cgi-bin/toXXX.eng/cosi, p�ed� se v�e v dokumentu /cosi mezi <!--PART ENG--> a dal��m p��kazem PART. Krom� ��st� uzav�en� mezi p��kazy PART s odpov�daj�c�m parametrem se tak� p�ed� v�e do prvn�ho v�skytu p��kazu PART. Pokud jm�no ��sti nen� uvedeno, text za <!--PART--> se p�ed� na v�stup pouze pokud u filtruj�c�ho CGI skriptu nebyla uvedena p��pona, tzn. odkaz vypadal n�jak takto: http://server/cgi-bin/toXXX/cosi. Ve jm�n� ��sti nez�le�� na velk�ch/mal�ch p�smenech (MoJe se vyhodnot� jako ekvivalentn� ��sti moje).

V�znam jednotliv�ch parametr�:

Zde je uveden mal� p��klad; p��klad bude funk�n� pouze pokud ji� m�te nainstalovan� CS��ek v anglo�esk� verzi nebo si prohl���te dom�c� str�nku.

DOMAIN
Syntax: <!--DOMAIN ozna�en�_dom�ny_1 [ozna�en�_dom�ny2 ...]-->
P��klad pou�it�: <!--DOMAIN ics.muni.cz 147.251-->

Syntaxe je podobn� jako u PART. ��sti mezi jednotliv�mi p��kazy DOMAIN se vyp��� pouze tehdy, kdy� vzd�len� u�ivatel p�istupuje z n�kter� ze zadan�ch dom�n. V uveden�m p��klad� tehdy, pokud vzd�len� u�ivatel p�istupuje ze stroje v dom�n� ics.muni.cz nebo s IP adresou za��naj�c� na 147.251 (.muni.cz).

NOCODE
Syntax: <!--NOCODE-->
P��klad pou�it�: <!--NOCODE-->

Od ��dku na kter�m byl tento p��kaz se dokument nebude p�ek�dov�vat; vyu�it� nap��klad v dokumentech v �ist�m ASCII (nap�. anglick�) ke zrychlen� p�ekladu nebo v ��stech, kter� nechcete p�ek�dov�vat z jak�hokoli jin�ho d�vodu. P��kazy PART a DOMAIN se v takto nek�dovan�ch ��stech st�le rozezn�vaj�.

CODE
Syntax: <!--CODE-->
P��klad pou�it�: <!--CODE-->

Od v�skytu tohoto p��kazu se dokument bude op�t k�dovat; inverzn� volba s NOCODE.

#exec
Syntax: <!--#exec cmd="prog [parametry]"-->
P��klad pou�it�: <!--#exec cmd="moje.cgi -v -n 34"-->

standartn� p��kaz SSI; Cs��ek z �ist� praktick�ch d�vod� nepodporuje parametr cgi= (vyvolalo by to dal�� dotaz na WWW server -> zbyte�n� z�t� nav�c).
Vlo�� do dokumentu v�stup z programu "prog" spu�t�n�ho s parametry "parametry". "prog" nesm� b�t absolutn� cesta a nesm� obsahovat ��st ../. Na tento p��kaz je t�eba d�vat pozor, umo��uje u�ivatel�m spou�t�t programy pod identifikac� u�ivatele stejnou jako WWW server, to mimo jin� znamen�, �e takto spu�t�n� program m� p��stup v�ude, kam m� p��stup lok�ln� WWW server.

#include
Syntax: <!--#include file="soubor"-->
P��klad pou�it�: <!--#include file="vsuvka.txt"-->

standartn� p��kaz SSI; CS��ek nepodporuje parametr virtual="XX" z podobn�ch d�vod� jako nepodporuje cgi= u #exec.
Vlo�� do dokumentu jin� dokument. soubor op�t nesm� b�t absolutn� cesta ani nesm� obsahovat ../. Mus� se jednat o exituj�c� soubor (pokud je to program, vlo�� se jeho text, nespust� se).

#csacekfilter
Syntax: <!--#csacekfilter cmd="prog [parametry]" [align=after|before]-->
P��klad pou�it�:
  <!--#csacekfilter cmd="cgi/muj.cgi -f -o ghost" align=before-->

CS��ekfiltrem m��e b�t kter�koli program, kter� �te ze standardn�ho vstupu a p��e na standardn� v�stup. D�l� to, �e filtruje bu� vstup nebo v�stup do/z CS��ku, viz tak� podrobn�j�� popis.

Tento p��kaz podle hodnoty parametru align nainstaluje prog jako cs��ekfiltr bu� p�ed (align=before) a nebo za (align=after) CS��ek. Pokud voliteln� parametr nepou�ijete, je to jako byste dali align=before. prog op�t nesm� b�t absolutn� cesta ani nesm� obsahovat ../.
Nainstalov�n� filtru p�ed CS��ek je dvakr�t n�ro�n�j�� na syst�mov� zdroje ne� nainstalov�n� za, v�hledov� se bude m�nit syntax vol�n� a pravd�podobn� bude omezen po�et filtr� p�ed CS��kem na jeden.

ZPET Zp�t

 


Historie

C-SaCzech vznikl b�hem dubna a za��tku kv�tna l�ta P�n� tis�c�ho dev�tist�ho devades�t�ho �est�ho.

Verze ozna�en� X.YZ a X.Y_*{ALPHA|BETA|BETAZ} jsou v�vojov� nestabiln� verze. Doporu�uji nepou��vat, leda v p��pad� krajn� nouze ;-)

V�voj

verze 1.3 (srpen-listopad 1996)
  • podpora SSI a shtml
  • mo�nost v�ce defaultn�ch soubor� (tzn. soubor�, kter� se poskytnou pokud se zad� jako po�adovan� dokument jm�no adres��e)
  • u k�dovan�ch dokument� p�ed�v�n parametr "charset" u Content-type
  • podpora autorizace p��stupu
  • zaveden� CS��ek filtr�
  • optimalizov�ny n�roky na pam� - na mnoha m�stech odstran�ny statick� buffery, nahrazeny pointry a dynamickou alokac�
  • animovan� GIFy z�st�vaj� animovan� i po dokon�en� prvn� smy�ky
  • zjednodu�ena struktura funkc�, opraveno mnoho drobn�ch chyb, nejd�le�it�j�� asi spr�vn� p�enos obr�zk�, p�ed�v�n� spr�vn�ho statutu, funguj�c� podpora metody POST a PUT, zpracov�n� hlavi�ky If-Modified-Since, ud�l�no v�ce "blbuvzdorn�", v�ude kde se m��e vyskytnout chyba je detekov�na a ohl�ena, a mnoho dal��ho
  • mo�nost zji�t�n� zakompilovan� konfigurace CS��ku (?csacek_report)
  • on-line help (?csacek_help)
verze 1.23 (za��tek �ervna 1996) - dost chybov�, doporu�uji kdy� tak jen vybrat opravenou verzi cstools.h
  • podpora skript� volan�ch metodou POST
  • l�pe zachov�v� HTTP hlavi�ky
  • opraveno chybn� p�ek�dov�v�n� n�kter�ch znak�
  • opraven whichcode.sl
verze 1.22 (konec kv�tna 1996)
  • mo�nost nastaven� (t�m��) jak�hokoli tvaru automaticky generovan� li�ty s nab�dkou k�dov�n� p��mo v dokumentu
  • podpora v�cejazy�n�ch dokument� - mo�nost m�t v jednom dokumentu v�c r�zn�ch ��st� a dynamicky vyb�rat, kter� zobrazit
verze 1.21 (konec kv�tna 1996)
  • sou��st� automaticky generovan� li�ty s nab�dkou k�dov�n� m��e b�t i mo�nost p�epnout k�dov�n� pomoc� p�vodn�ho whichcode.
  • opraveno �patn� pou��v�n� metody FILE (koliduje s definic� FILE ve stdio.h); n�zvy metod jsou nyn� op�t mal�mi p�smeny
verze 1.2 (konec kv�tna 1996)
  • automatick� vlo�en� li�ty s nab�dkou k�dov�n� (podrobnosti viz Instalace)
  • k�dovac� tabulky roz���eny o v�t�inu ostatn�ch znak� s diakritikou (i nap�. a se st���kou apod.)
  • opraven whichcode.src, aby vytvo�en� whichcode byl zpracovateln� i bashem; podporovan� shelly viz Instalace.
verze 1.1 (kv�ten 1996)
  • opraveno �patn� nahrazov�n� �et�zce __CHARSET__ p�i metod� http
  • k�dovac� tabulky roz���eny o slovensk� znaky
  • chybov� hl�ky jsou "syt�mov�j��" - v hlavi�ce vrac� (po vzoru SaCzechu 2.1) i Status s platn�m k�dem.
  • __CHARSET__ rozpozn�v�n i v HTML hlavi�k�ch p�i metod� http (umo��uje zachov�n� k�du i v obr�zc�ch s klikou)
  • lze p�ek�dovat i parametry, zadan� programu (obsah prom�nn� QUERY_STRING)
  • zdokonaleno rozhodov�n�, kter� metoda se m� pou��t p�i guess tak, �e metoda http se pou�ije i tehdy, kdy� po�adovan� URL obsahuje CGISUFFIX.
verze 1.0 (kv�ten 1996)
  • mo�nost z�sk�vat k�dovan� dokumenty prost�ednictv�m HTTP
  • podpora HTTP hlavi�ek Last-Modified, Content-Size a If-Modified-Since p�i zpracov�n� soubor�
  • mo�nost opat�it konverzn� sadu p��ponou (nap�. .cgi) pokud to syst�m vy�aduje
  • p�i metod� HTTP nebo GUESS je volan�mu skriptu p�ed�v�n i dotaz (QUERY_STRING)
  • korektn� chov�n� p�i chybn� zadan�m URL (neexistuj�c� soubor)
  • je mo�no pou��vat v�ce jmen k�d� (aliasy);
  • sou��st� distribuce je which.src s p��klady k�d�

  ZPET Zp�t


Zaj�mavosti a linky na str�nky o r�zn�ch konverzn�ch programech a �e�tin� na WWW

Jen stru�n� (se�azeno v chronologick�m sledu, jak jsem se o nich dozv�d�l): �l�nky: Tak� jsou nov� k dispozici FAQ t�kaj�c� se �e�tiny: ale jeste se mi na tu adresu nepodarilo dostat (tento material vytvoril Lukas Petrlik, [email protected]), nejake problemy se serverem (odmita ftp, http a dokonce i finger :-(.

ZPET Zp�t


This page is part of documentation of C-SaCzech and was created and has been maintained by Jarom�r Dole�ek, [email protected]