Skripty dodávané se systémem cFos PNet vám mohou ukázat, jak v Javascriptu implementovat funkce serveru. Jsou koncipovány tak, že se budou skriptovat v prohlížeči na straně klienta (například jQuery). Je zvykem, že skripty na straně serveru používají příponu .jss, kdežto skripty na straně klienta příponu .js. To znamená, že cFos PNet *provádí* soubory .jss, přičemž do prohlížeče posílá soubory .js.
Můžete použít ladění skriptů pomocí Visual Studio nebo Visual Web Developer. K ladění skriptů potřebujete verzi Visual Studio nebo Visual Web Developer, která podporuje vzdálené ladění, např. Visual Studio Professional Edition. Abyste umožnili ladění skriptů, nastavte klíč enable_script_debugging=1 v sekci [param] souboru GLOBAL.INI ve složce c:\programdata\cFos\cFosPNet.
Pokud nemáte nainstalovaný debugger skriptů, nastavte tento klíč na 0. Jinak by na některých strojích mohly skripty padat. Můžete také cfospnet.exe zavést s přepínačem -enable_script_debugging nebo -esd na příkazovém řádku a umožnit tak ladění skriptu pro start tohoto programu.
Ve složce pub je podsložka users mající podsložku pro každého uživatele, který má na vašem cFos PNet serveru účet. Uživatelská hesla nebo jiná volitelná data profilů se ukládají v hašovacím seznamu se jménem PROFILE.TXT. To umožňuje rychlé a kešované přístupy k HTTP autentifikaci vestavěné do cFos PNet. Ve veřejné složce je rovněž podsložka www mající podsložku pro každého uživatele. Tato složka může obsahovat soubory takového uživatele určené ke stažení. Skript file_op.jss umožňuje rovněž uživateli nahrávat do této složky soubory.
Skripty provádějí ověření podle příslušných nastavení .htaccess. Pro uživatele, kterému adresář náleží, potřebujete odpovídající přihlašovací údaje.
Zde je krátký popis skriptů. Měli byste nahlédnout do zdrojového kódu, abyste viděli, jak pracují. | |
makedir2.jss | Pokud v požadovaném adresáři není soubor index.htm nebo index.html, spustí cFos PNet tento skript, aby vygeneroval výpis adresáře. Skript použije FileSystemObject ke shromáždění informací o obsahu stávajícího adresáře. Pak natáhne soubor s XML šablonou, provede jeho analýzu a vygeneruje HTML stránku z obsahu adresáře a snippetů poskytnutých XML. Pro změnu vzhledu nebo funkčnosti výpisu adresáře upravte šablonu s XML. Výsledný soubor HTML má v sobě základní odkazy pro údržbu souborů. Jako administrátor se můžete přihlásit pomocí HTTP autentifikace a přejmenovávat či mazat soubory nebo složky, nahrávat soubory a také vytvářet nové složky. To je na straně klienta podporováno jQuery, které se v podstatě používá k pohodlnému zasílání požadavků Ajaxu do cFos PNet. Skript file_op.jss na straně serveru provádí nutnou HTTP autentifikaci a ošetřuje operace se soubory. |
file_op.jss | Provádí operace se soubory podle výše uvedené autentifikace. Operacemi se soubory jsou rename, delete, mkdir k vytvoření složky a upload. Vkládání souborů typicky vyžaduje autentifikaci. Protože prohlížeč vždy nejprve zašle na server celý vkládaný soubor a teprve pak dostane autentizační informace, posílal by se soubor dvakrát. Aby prohlížeč dostal nejdříve autentizační informace, podporuje skript file_op.jss operaci pre-flight nahrání. Prohlížeč použije požadavek Ajaxu a požádá server o autentizační odpověď (401), kterou pak automaticky použije pro skutečné nahrávání. Nahrávání je ošetřeno ve funkci upload.jss, která použije souborový objekt cFos PNetu k povolení nahráni souborů libovolné velikosti. |
user_op.jss | Provádí základní funkce pro správu: create, delete, reset password a list. Pro autentifikaci je nutno být uživatelem admin. |
list_op.jss | Protože pro cFos PNet hraje důležitou roli hašovací seznam, poskytuje list_op.jss základní operace se seznamy, které jsou k dispozici pro požadavky Ajaxu. Používá se stejné autentifikační schéma jako výše. To znamená: V závislosti na umístění skriptu se vybere uživatel, pro kterého se vyžaduje autentifikace. Autentifikace se provede v souladu s nastavením direktivy PNet_limitPut v .htaccess. list_op.jss nabízí tyto operace: get Získej seznam hodnot v hašovacím seznamu. set Nastav seznam klíčů podle seznamu hodnot. save Ulož snímek na disk. erase Vymaže seznam klíčů. clear Vymaže všechny klíče. remove Odstraní seznam z paměti / disku. size Vrátí velikost seznamu. list Vyjmenuje všechny prvky hašovacího seznamu. Ajax v dyndns.htm zužitkuje tyto operace k nastavení konfiguračních informací pro DynDNS. |
dyndns.jss | Provádí registraci nebo odregistraci DynDNS, přičemž používá konfigurační údaje v hašovacím seznamu dyndns.txt v privátní složce. Může se použít při startu a vypnutí serveru (viz Kapitola 1). |
get_connections.jss | Používá se k zobrazení stávajících spojení HTTP. HTTP se provádí via TCP. K urychlení dotazů HTTP se prohlížeče snaží pro HTTP dotazy opětovně využít připojení TCP. Skutečný HTTP dotaz je pouze krátká zpráva a odpověď. Poté prohlížeč po několika sekundách uzavře příslušné TCP připojení. Můžete tedy uživatele vidět pouze po krátkou dobu. Pokud byla autentifikace úspěšná, vrací se také uživatelovo jméno s uživatelovou IP adresou. |
stretch.jss | Protože změna velikosti obrázků na formát, který daná webová stránka používá, představuje pro webmastera vždy zátěž, implementovali jsme malý skript, který používá cFos PNet image object (GDI+). Používá v dotazovacím řetězci URL jméno souboru a parametry w (width, šířka) a h (height, výška). Pokud jsou vaše obrázky libovolné velikosti, měli byste použít jen jeden parametr, abyste u nich zachovali poměr velikostí stran. makedir2.jss používá odkazy na tento skript k zobrazení miniatur obrázků pro obrázky uložené ve stávající složce. |
utils.jss | Soubor utilit (funkcí) ke zjednodušení skriptování na straně serveru. Nabízí tyto funkce: - zabalí objekt web serveru s jeho funkcemi. - rozšiřuje Javascript String objekt o několik užitečných funkcí. - provádí vyhodnocení parametru skriptu buď pro dotazovací řetězec nebo pro formulářová data použitá s POST. - zavádění, ukládání a zasílání (přes mail) malých souborů. - data rfc 1123 jak se používají v souborech cookie. - cookies. - jednoduchá transformační funkce XML. Jestliže používáte cFos PNet pro větší projekty, budete možná chtít zabalit funkční jednotky do modulů namísto jednoduchého zahrnutého skriptovacího souboru. cFos PNet nabízí podporu specifikace modulů v iniciativu common.js. |
Standardní skripty
Dokumentace zahrnutých standardních skriptů cFos Personal Net