lazwebextra: moved content to weblaz, patch #26287

git-svn-id: trunk@45376 -
This commit is contained in:
mattias 2014-06-06 09:55:39 +00:00
parent 566f80a37a
commit 9b332941b5
13 changed files with 1055 additions and 340 deletions

View File

@ -1,4 +1,3 @@
Massimo Soricetti <notturno@quipo.it>, 2011.
msgid "" msgid ""
msgstr "" msgstr ""
"PO-Revision-Date: 2011-04-21 20:12+0200\n" "PO-Revision-Date: 2011-04-21 20:12+0200\n"

View File

@ -1,4 +1,4 @@
# Igor Paliychuk <mansonigor@gmail.com>, 2012. Igor Paliychuk <mansonigor@gmail.com>, 2012.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
@ -10,8 +10,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Virtaal 0.7.1\n" "X-Generator: Virtaal 0.7.1\n"
#: fpwebstrconsts.scssfile #: fpwebstrconsts.scssfile
@ -402,3 +401,4 @@ msgstr "Зар&еєструвати розташування файлів для
#: fpwebstrconsts.susethreads #: fpwebstrconsts.susethreads
msgid "Use &threads to serve requests in" msgid "Use &threads to serve requests in"
msgstr "Обслуговувати запити в по&токах виконання" msgstr "Обслуговувати запити в по&токах виконання"

View File

@ -57,6 +57,38 @@ msgstr "Webový HTML modul"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "Webový HTML modul%sWebový modul pro vytváření přísného HTML." msgstr "Webový HTML modul%sWebový modul pro vytváření přísného HTML."
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "Webový modul" msgstr "Webový modul"

View File

@ -1,4 +1,4 @@
# Massimo Soricetti <notturno@quipo.it>, 2011. Massimo Soricetti <notturno@quipo.it>, 2011.
msgid "" msgid ""
msgstr "" msgstr ""
"PO-Revision-Date: 2011-04-20 17:28+0200\n" "PO-Revision-Date: 2011-04-20 17:28+0200\n"
@ -59,6 +59,38 @@ msgstr "Modulo web HTML"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "Modulo web HTML%sUn modulo dati web che produce HTML stretto." msgstr "Modulo web HTML%sUn modulo dati web che produce HTML stretto."
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "Modulo Web" msgstr "Modulo Web"

View File

@ -1,4 +1,4 @@
# Valdas Jankunas <zmuogs@gmail.com>, 2012. Valdas Jankunas <zmuogs@gmail.com>, 2012.
msgid "" msgid ""
msgstr "" msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -9,8 +9,7 @@ msgstr ""
"Language: lt\n" "Language: lt\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.5\n" "X-Generator: Lokalize 1.5\n"
#: weblazideintf.rsapachemodule #: weblazideintf.rsapachemodule
@ -18,63 +17,40 @@ msgid "Apache Module"
msgstr "Apache modulis" msgstr "Apache modulis"
#: weblazideintf.rsapachemodule2 #: weblazideintf.rsapachemodule2
msgid "" msgid "Apache module%sAn Apache loadable module in Free Pascal using webmodules. The main library file is automatically maintained by Lazarus."
"Apache module%sAn Apache loadable module in Free Pascal using webmodules. The " msgstr "Apache modulis%sĮkeliamasis Apache modulis Free Pascal-yje, naudojantis „webmodules“. Lazarus automatiškai rūpinsis programos pirminiu kodu."
"main library file is automatically maintained by Lazarus."
msgstr ""
"Apache modulis%sĮkeliamasis Apache modulis Free Pascal-yje, naudojantis "
"„webmodules“. Lazarus automatiškai rūpinsis programos pirminiu kodu."
#: weblazideintf.rscgiapplicati #: weblazideintf.rscgiapplicati
msgid "CGI Application" msgid "CGI Application"
msgstr "CGI programa" msgstr "CGI programa"
#: weblazideintf.rscgiapplicati2 #: weblazideintf.rscgiapplicati2
msgid "" msgid "CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
"CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal " msgstr "CGI programa%sCGI (Common Gateway Interface) programa Free Pascal-yje, naudojanti „webmodules“. Lazarus automatiškai rūpinsis programos pirminiu kodu."
"using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
"CGI programa%sCGI (Common Gateway Interface) programa Free Pascal-yje, "
"naudojanti „webmodules“. Lazarus automatiškai rūpinsis programos pirminiu "
"kodu."
#: weblazideintf.rscustomcgiapp #: weblazideintf.rscustomcgiapp
msgid "Custom CGI Application" msgid "Custom CGI Application"
msgstr "Sava CGI programa" msgstr "Sava CGI programa"
#: weblazideintf.rscustomcgiapp2 #: weblazideintf.rscustomcgiapp2
msgid "" msgid "Custom CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal. The program source is automatically maintained by Lazarus."
"Custom CGI Application%sA CGI (Common Gateway Interface) program in Free " msgstr "CGI programa%sCGI (Common Gateway Interface) programa Free Pascal-yje. Lazarus automatiškai rūpinsis programos pirminiu kodu."
"Pascal. The program source is automatically maintained by Lazarus."
msgstr ""
"CGI programa%sCGI (Common Gateway Interface) programa Free Pascal-yje. "
"Lazarus automatiškai rūpinsis programos pirminiu kodu."
#: weblazideintf.rscustomfastcg #: weblazideintf.rscustomfastcg
msgid "Custom FastCGI Application" msgid "Custom FastCGI Application"
msgstr "Sava FastCGI programa" msgstr "Sava FastCGI programa"
#: weblazideintf.rscustomfastcg2 #: weblazideintf.rscustomfastcg2
msgid "" msgid "Custom FastCGI Application%sA FastCGI (Common Gateway Interface) program in Free Pascal. The program source is automatically maintained by Lazarus."
"Custom FastCGI Application%sA FastCGI (Common Gateway Interface) program in " msgstr "Sava FastCGI programa%sFastCGI (Common Gateway Interface) programa Free Pascal-yje. Lazarus automatiškai rūpinsis programos pirminiu kodu."
"Free Pascal. The program source is automatically maintained by Lazarus."
msgstr ""
"Sava FastCGI programa%sFastCGI (Common Gateway Interface) programa Free "
"Pascal-yje. Lazarus automatiškai rūpinsis programos pirminiu kodu."
#: weblazideintf.rsfastcgiappli #: weblazideintf.rsfastcgiappli
msgid "FastCGI Application" msgid "FastCGI Application"
msgstr "FastCGI programa" msgstr "FastCGI programa"
#: weblazideintf.rsfastcgiappli2 #: weblazideintf.rsfastcgiappli2
msgid "" msgid "FastCGI Application%sA FastCGI (Common Gateway Interface) program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
"FastCGI Application%sA FastCGI (Common Gateway Interface) program in Free " msgstr "FastCGI programa%sFastCGI (Common Gateway Interface) programa Free Pascal-yje, naudojanti „webmodules“. Lazarus automatiškai rūpinsis programos pirminiu kodu."
"Pascal using webmodules. The program source is automatically maintained by "
"Lazarus."
msgstr ""
"FastCGI programa%sFastCGI (Common Gateway Interface) programa Free "
"Pascal-yje, naudojanti „webmodules“. Lazarus automatiškai rūpinsis programos "
"pirminiu kodu."
#: weblazideintf.rshtmlwebmodul #: weblazideintf.rshtmlwebmodul
msgid "HTML Web Module" msgid "HTML Web Module"
@ -84,6 +60,38 @@ msgstr "HTML saityno modulis"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "HTML saityno modulis%sSaityno duomenų modulis griežto HTML kūrimui," msgstr "HTML saityno modulis%sSaityno duomenų modulis griežto HTML kūrimui,"
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "Saityno modulis" msgstr "Saityno modulis"
@ -92,4 +100,3 @@ msgstr "Saityno modulis"
msgid "WEB Module%sA datamodule for WEB (HTTP) applications." msgid "WEB Module%sA datamodule for WEB (HTTP) applications."
msgstr "Saityno modulis%sDuomenų modulis saityno (HTTP) programoms." msgstr "Saityno modulis%sDuomenų modulis saityno (HTTP) programoms."

View File

@ -49,6 +49,38 @@ msgstr ""
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "" msgstr ""
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "" msgstr ""

View File

@ -57,6 +57,38 @@ msgstr "Módulo Web HTML"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "Módulo Web HTML%sUm módulo de dados Web para geração HTML." msgstr "Módulo Web HTML%sUm módulo de dados Web para geração HTML."
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "Módulo Web" msgstr "Módulo Web"

View File

@ -57,6 +57,38 @@ msgstr "Веб-модуль HTML"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "Веб-модуль HTML%sМодуль данных веб для создания Strict HTML." msgstr "Веб-модуль HTML%sМодуль данных веб для создания Strict HTML."
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "Веб-модуль" msgstr "Веб-модуль"

View File

@ -57,6 +57,38 @@ msgstr "Модуль HTML Web"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML." msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
msgstr "Веб-модуль HTML%sМодуль даних веб для створення суворого HTML." msgstr "Веб-модуль HTML%sМодуль даних веб для створення суворого HTML."
#: weblazideintf.rshttpappli
msgid "HTTP server Application"
msgstr ""
#: weblazideintf.rshttpappli2
msgid "HTTP server Application. Complete HTTP Server program in Free Pascal using webmodules. The program source is automatically maintained by Lazarus."
msgstr ""
#: weblazideintf.rswebdataprovi
msgid "Web DataProvider Module"
msgstr ""
#: weblazideintf.rswebdataprovi2
msgid "WEB DataProvider Module%sA datamodule to handle data requests for WEB (HTTP) applications using WebDataProvider components."
msgstr ""
#: weblazideintf.rswebextdirect
msgid "Web Ext.Direct Module"
msgstr ""
#: weblazideintf.rswebextdirect2
msgid "WEB Ext.Direct Module%sA datamodule to dispatch Ext.Direct requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebjsonrpcmo
msgid "Web JSON-RPC Module"
msgstr ""
#: weblazideintf.rswebjsonrpcmo2
msgid "WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC requests in WEB (HTTP) applications using TJSONRPCHandler components."
msgstr ""
#: weblazideintf.rswebmodule #: weblazideintf.rswebmodule
msgid "Web Module" msgid "Web Module"
msgstr "Веб-модуль" msgstr "Веб-модуль"

View File

@ -1,11 +1,10 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<Package Version="3"> <Package Version="4">
<Name Value="lazwebextra"/> <Name Value="lazwebextra"/>
<AddToProjectUsesSection Value="False"/>
<Author Value="Michael Van Canneyt"/> <Author Value="Michael Van Canneyt"/>
<CompilerOptions> <CompilerOptions>
<Version Value="10"/> <Version Value="11"/>
<SearchPaths> <SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
@ -20,224 +19,26 @@
</Optimizations> </Optimizations>
</CodeGeneration> </CodeGeneration>
<Other> <Other>
<CustomOptions Value="$(IDEBuildOptions)"/> <CustomOptions Value="$(IDEBuildOptions)"/>
<CompilerPath Value="$(CompPath)"/> <CompilerPath Value="$(CompPath)"/>
</Other> </Other>
</CompilerOptions> </CompilerOptions>
<Description Value="Extra Web functionality for Lazarus. Only install with FPC 2.5.1 or higher. <Description Value="Empty package. All stuff was moved to package weblaz.
HTML editing functionality by Alexei Lagunov"/> Kept to allow project compile with this and last Lazarus version 1.2."/>
<License Value="LGPL"/> <License Value="LGPL"/>
<Version Minor="9"/> <Version Minor="9"/>
<Files Count="44">
<Item1>
<Filename Value="reglazwebextra.pp"/>
<HasRegisterProc Value="True"/>
<UnitName Value="reglazwebextra"/>
</Item1>
<Item2>
<Filename Value="extjsjson.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="extjsjson"/>
</Item2>
<Item3>
<Filename Value="extjsxml.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="extjsxml"/>
</Item3>
<Item4>
<Filename Value="fpextjs.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpextjs"/>
</Item4>
<Item5>
<Filename Value="fpwebdata.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpwebdata"/>
</Item5>
<Item6>
<Filename Value="sqldbwebdata.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="sqldbwebdata"/>
</Item6>
<Item7>
<Filename Value="frmrpcmoduleoptions.lfm"/>
<Type Value="LFM"/>
</Item7>
<Item8>
<Filename Value="frmrpcmoduleoptions.pp"/>
<UnitName Value="frmrpcmoduleoptions"/>
</Item8>
<Item9>
<Filename Value="fpextdirect.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpextdirect"/>
</Item9>
<Item10>
<Filename Value="fpjsonrpc.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpjsonrpc"/>
</Item10>
<Item11>
<Filename Value="webjsonrpc.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="webjsonrpc"/>
</Item11>
<Item12>
<Filename Value="fpwebnewhtmlformunit.lfm"/>
<Type Value="LFM"/>
</Item12>
<Item13>
<Filename Value="fpwebnewhtmlformunit.pas"/>
<UnitName Value="fpwebNewHTMLFormUnit"/>
</Item13>
<Item14>
<Filename Value="fpwebnewhtmltableunit.lfm"/>
<Type Value="LFM"/>
</Item14>
<Item15>
<Filename Value="fpwebnewhtmltableunit.pas"/>
<UnitName Value="fpWebNewHtmlTableUnit"/>
</Item15>
<Item16>
<Filename Value="fpwebstrconsts.pas"/>
<UnitName Value="fpWebStrConsts"/>
</Item16>
<Item17>
<Filename Value="fpwebtoolsunit.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="fpWebToolsUnit"/>
</Item17>
<Item18>
<Filename Value="fpideexteditorinsertfilenameunit.lfm"/>
<Type Value="LFM"/>
</Item18>
<Item19>
<Filename Value="fpideexteditorinsertfilenameunit.pas"/>
<UnitName Value="fpIDEExtEditorInsertFileNameUnit"/>
</Item19>
<Item20>
<Filename Value="fpweb_images.inc"/>
<Type Value="Include"/>
</Item20>
<Item21>
<Filename Value="fpwebnewhtmlfileunit.lfm"/>
<Type Value="LFM"/>
</Item21>
<Item22>
<Filename Value="fpwebnewhtmlfileunit.pas"/>
<UnitName Value="fpWebNewHTMLFileUnit"/>
</Item22>
<Item23>
<Filename Value="fpwebnewhtmlimgunit.lfm"/>
<Type Value="LFM"/>
</Item23>
<Item24>
<Filename Value="fpwebnewhtmlimgunit.pas"/>
<UnitName Value="fpwebNewHTMLImgUnit"/>
</Item24>
<Item25>
<Filename Value="fpwebnewhtmlinputunit.lfm"/>
<Type Value="LFM"/>
</Item25>
<Item26>
<Filename Value="fpwebnewhtmlinputunit.pas"/>
<UnitName Value="fpwebNewHTMLInputUnit"/>
</Item26>
<Item27>
<Filename Value="fpwebnewhtmllistunit.lfm"/>
<Type Value="LFM"/>
</Item27>
<Item28>
<Filename Value="fpwebnewhtmllistunit.pas"/>
<UnitName Value="fpwebNewHTMLListUnit"/>
</Item28>
<Item29>
<Filename Value="fpwebnewhtmltagtrunit.lfm"/>
<Type Value="LFM"/>
</Item29>
<Item30>
<Filename Value="fpwebnewhtmltagtrunit.pas"/>
<UnitName Value="fpwebNewHtmlTagTRUnit"/>
</Item30>
<Item31>
<Filename Value="fpwebfieldsettagunit.lfm"/>
<Type Value="LFM"/>
</Item31>
<Item32>
<Filename Value="fpwebfieldsettagunit.pas"/>
<UnitName Value="fpWebFieldSetTagUnit"/>
</Item32>
<Item33>
<Filename Value="fpwebhrefeditunit.lfm"/>
<Type Value="LFM"/>
</Item33>
<Item34>
<Filename Value="fpwebhrefeditunit.pas"/>
<UnitName Value="fpWebHREFEditUnit"/>
</Item34>
<Item35>
<Filename Value="fpwebhtmltaglegendunit.lfm"/>
<Type Value="LFM"/>
</Item35>
<Item36>
<Filename Value="fpwebhtmltaglegendunit.pas"/>
<UnitName Value="fpWebHtmlTagLegendUnit"/>
</Item36>
<Item37>
<Filename Value="fpwebselectoptionsunit.lfm"/>
<Type Value="LFM"/>
</Item37>
<Item38>
<Filename Value="fpwebselectoptionsunit.pas"/>
<UnitName Value="fpWebSelectOptionsUnit"/>
</Item38>
<Item39>
<Filename Value="fpwebselecttagunit.lfm"/>
<Type Value="LFM"/>
</Item39>
<Item40>
<Filename Value="fpwebselecttagunit.pas"/>
<UnitName Value="fpWebSelectTagUnit"/>
</Item40>
<Item41>
<Filename Value="fpwebnewhtmltagpreunit.pas"/>
<UnitName Value="fpWebNewHtmlTagPreUnit"/>
</Item41>
<Item42>
<Filename Value="fpwebnewhtmltagtdunit.pas"/>
<UnitName Value="fpwebNewHtmlTagTDUnit"/>
</Item42>
<Item43>
<Filename Value="fpwebnewhtmltagtdunit.lfm"/>
<Type Value="LFM"/>
</Item43>
<Item44>
<Filename Value="frmnewhttpapp.pp"/>
<UnitName Value="frmnewhttpapp"/>
</Item44>
</Files>
<i18n> <i18n>
<EnableI18N Value="True"/> <EnableI18N Value="True"/>
<OutDir Value="languages"/> <OutDir Value="languages"/>
</i18n> </i18n>
<Type Value="RunAndDesignTime"/> <Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="4"> <RequiredPkgs Count="1">
<Item1> <Item1>
<PackageName Value="LCLBase"/>
</Item1>
<Item2>
<PackageName Value="sqldblaz"/>
</Item2>
<Item3>
<PackageName Value="weblaz"/> <PackageName Value="weblaz"/>
</Item3> </Item1>
<Item4>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item4>
</RequiredPkgs> </RequiredPkgs>
<UsageOptions> <UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/> <UnitPath Value="$(PkgOutDir)"/>
</UsageOptions> </UsageOptions>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<Package Version="4"> <Package Version="4">
<Name Value="weblaz"/> <Name Value="weblaz"/>
<AddToProjectUsesSection Value="True"/> <Author Value="Michael Van Canneyt"/>
<CompilerOptions> <CompilerOptions>
<Version Value="10"/> <Version Value="11"/>
<SearchPaths> <SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths> </SearchPaths>
@ -14,33 +14,35 @@
</SyntaxOptions> </SyntaxOptions>
</Parsing> </Parsing>
<Other> <Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CustomOptions Value="-dcgidebug"/> <CustomOptions Value="-dcgidebug"/>
<CompilerPath Value="$(CompPath)"/> <CompilerPath Value="$(CompPath)"/>
</Other> </Other>
</CompilerOptions> </CompilerOptions>
<Files Count="16"> <Description Value="Web functionality for Lazarus"/>
<License Value="LGPL with static linking exception, see Copying.fcl in FCL"/>
<Version Major="1"/>
<Files Count="61">
<Item1> <Item1>
<Filename Value="weblazideintf.pp"/> <Filename Value="custcgi.pp"/>
<HasRegisterProc Value="True"/> <AddToUsesPkgSection Value="False"/>
<UnitName Value="WebLazIDEIntf"/> <Type Value="Virtual Unit"/>
<UnitName Value="custcgi"/>
</Item1> </Item1>
<Item2> <Item2>
<Filename Value="fpweb.pp"/> <Filename Value="extjsjson.pp"/>
<Type Value="Virtual Unit"/> <Type Value="Virtual Unit"/>
<UnitName Value="fpWeb"/> <UnitName Value="extjsjson"/>
</Item2> </Item2>
<Item3> <Item3>
<Filename Value="httpdefs.pp"/> <Filename Value="extjsxml.pp"/>
<Type Value="Virtual Unit"/> <Type Value="Virtual Unit"/>
<UnitName Value="HTTPDefs"/> <UnitName Value="extjsxml"/>
</Item3> </Item3>
<Item4> <Item4>
<Filename Value="fphttp.pp"/> <Filename Value="fpapache.pp"/>
<AddToUsesPkgSection Value="False"/>
<Type Value="Virtual Unit"/> <Type Value="Virtual Unit"/>
<UnitName Value="fphttp"/> <UnitName Value="fpapache"/>
</Item4> </Item4>
<Item5> <Item5>
<Filename Value="fpcgi.pp"/> <Filename Value="fpcgi.pp"/>
@ -48,78 +50,261 @@
<UnitName Value="fpcgi"/> <UnitName Value="fpcgi"/>
</Item5> </Item5>
<Item6> <Item6>
<Filename Value="custcgi.pp"/>
<AddToUsesPkgSection Value="False"/>
<Type Value="Virtual Unit"/>
<UnitName Value="custcgi"/>
</Item6>
<Item7>
<Filename Value="lazweb.pp"/>
<UnitName Value="lazweb"/>
</Item7>
<Item8>
<Filename Value="fptemplate.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpTemplate"/>
</Item8>
<Item9>
<Filename Value="htmldefs.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="HTMLDefs"/>
</Item9>
<Item10>
<Filename Value="htmlelements.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="htmlelements"/>
</Item10>
<Item11>
<Filename Value="htmlwriter.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="htmlwriter"/>
</Item11>
<Item12>
<Filename Value="webutil.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="webutil"/>
</Item12>
<Item13>
<Filename Value="fphtml.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fphtml"/>
</Item13>
<Item14>
<Filename Value="fpdatasetform.pp"/> <Filename Value="fpdatasetform.pp"/>
<Type Value="Virtual Unit"/> <Type Value="Virtual Unit"/>
<UnitName Value="fpdatasetform"/> <UnitName Value="fpdatasetform"/>
</Item6>
<Item7>
<Filename Value="fpextdirect.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpextdirect"/>
</Item7>
<Item8>
<Filename Value="fpextjs.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpextjs"/>
</Item8>
<Item9>
<Filename Value="fphtml.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fphtml"/>
</Item9>
<Item10>
<Filename Value="fphttp.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fphttp"/>
</Item10>
<Item11>
<Filename Value="fpideexteditorinsertfilenameunit.pas"/>
<UnitName Value="fpIDEExtEditorInsertFileNameUnit"/>
</Item11>
<Item12>
<Filename Value="fpideexteditorinsertfilenameunit.lfm"/>
<Type Value="LFM"/>
</Item12>
<Item13>
<Filename Value="fpjsonrpc.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpjsonrpc"/>
</Item13>
<Item14>
<Filename Value="fptemplate.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpTemplate"/>
</Item14> </Item14>
<Item15> <Item15>
<Filename Value="fpweb.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpWeb"/>
</Item15>
<Item16>
<Filename Value="fpweb_images.inc"/>
<Type Value="Include"/>
</Item16>
<Item17>
<Filename Value="fpwebdata.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpwebdata"/>
</Item17>
<Item18>
<Filename Value="fpwebfieldsettagunit.pas"/>
<UnitName Value="fpWebFieldSetTagUnit"/>
</Item18>
<Item19>
<Filename Value="fpwebfieldsettagunit.lfm"/>
<Type Value="LFM"/>
</Item19>
<Item20>
<Filename Value="fpwebhrefeditunit.pas"/>
<UnitName Value="fpWebHREFEditUnit"/>
</Item20>
<Item21>
<Filename Value="fpwebhrefeditunit.lfm"/>
<Type Value="LFM"/>
</Item21>
<Item22>
<Filename Value="fpwebhtmltaglegendunit.pas"/>
<UnitName Value="fpWebHtmlTagLegendUnit"/>
</Item22>
<Item23>
<Filename Value="fpwebhtmltaglegendunit.lfm"/>
<Type Value="LFM"/>
</Item23>
<Item24>
<Filename Value="fpwebnewhtmlfileunit.pas"/>
<UnitName Value="fpWebNewHTMLFileUnit"/>
</Item24>
<Item25>
<Filename Value="fpwebnewhtmlfileunit.lfm"/>
<Type Value="LFM"/>
</Item25>
<Item26>
<Filename Value="fpwebnewhtmlformunit.pas"/>
<UnitName Value="fpwebNewHTMLFormUnit"/>
</Item26>
<Item27>
<Filename Value="fpwebnewhtmlformunit.lfm"/>
<Type Value="LFM"/>
</Item27>
<Item28>
<Filename Value="fpwebnewhtmlimgunit.pas"/>
<UnitName Value="fpwebNewHTMLImgUnit"/>
</Item28>
<Item29>
<Filename Value="fpwebnewhtmlimgunit.lfm"/>
<Type Value="LFM"/>
</Item29>
<Item30>
<Filename Value="fpwebnewhtmlinputunit.pas"/>
<UnitName Value="fpwebNewHTMLInputUnit"/>
</Item30>
<Item31>
<Filename Value="fpwebnewhtmlinputunit.lfm"/>
<Type Value="LFM"/>
</Item31>
<Item32>
<Filename Value="fpwebnewhtmllistunit.pas"/>
<UnitName Value="fpwebNewHTMLListUnit"/>
</Item32>
<Item33>
<Filename Value="fpwebnewhtmllistunit.lfm"/>
<Type Value="LFM"/>
</Item33>
<Item34>
<Filename Value="fpwebnewhtmltableunit.pas"/>
<UnitName Value="fpWebNewHtmlTableUnit"/>
</Item34>
<Item35>
<Filename Value="fpwebnewhtmltableunit.lfm"/>
<Type Value="LFM"/>
</Item35>
<Item36>
<Filename Value="fpwebnewhtmltagpreunit.pas"/>
<UnitName Value="fpWebNewHtmlTagPreUnit"/>
</Item36>
<Item37>
<Filename Value="fpwebnewhtmltagpreunit.lfm"/>
<Type Value="LFM"/>
</Item37>
<Item38>
<Filename Value="fpwebnewhtmltagtdunit.pas"/>
<UnitName Value="fpwebNewHtmlTagTDUnit"/>
</Item38>
<Item39>
<Filename Value="fpwebnewhtmltagtdunit.lfm"/>
<Type Value="LFM"/>
</Item39>
<Item40>
<Filename Value="fpwebnewhtmltagtrunit.pas"/>
<UnitName Value="fpwebNewHtmlTagTRUnit"/>
</Item40>
<Item41>
<Filename Value="fpwebnewhtmltagtrunit.lfm"/>
<Type Value="LFM"/>
</Item41>
<Item42>
<Filename Value="fpwebselectoptionsunit.pas"/>
<UnitName Value="fpWebSelectOptionsUnit"/>
</Item42>
<Item43>
<Filename Value="fpwebselectoptionsunit.lfm"/>
<Type Value="LFM"/>
</Item43>
<Item44>
<Filename Value="fpwebselecttagunit.pas"/>
<UnitName Value="fpWebSelectTagUnit"/>
</Item44>
<Item45>
<Filename Value="fpwebselecttagunit.lfm"/>
<Type Value="LFM"/>
</Item45>
<Item46>
<Filename Value="fpwebstrconsts.pas"/>
<UnitName Value="fpWebStrConsts"/>
</Item46>
<Item47>
<Filename Value="fpwebtoolsunit.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="fpWebToolsUnit"/>
</Item47>
<Item48>
<Filename Value="frmnewhttpapp.pp"/>
<UnitName Value="frmnewhttpapp"/>
</Item48>
<Item49>
<Filename Value="frmnewhttpapp.lfm"/>
<Type Value="LFM"/>
</Item49>
<Item50>
<Filename Value="htmldefs.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="HTMLDefs"/>
</Item50>
<Item51>
<Filename Value="htmlelements.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="htmlelements"/>
</Item51>
<Item52>
<Filename Value="htmlwriter.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="htmlwriter"/>
</Item52>
<Item53>
<Filename Value="httpdefs.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="HTTPDefs"/>
</Item53>
<Item54>
<Filename Value="lazweb.pp"/>
<UnitName Value="lazweb"/>
</Item54>
<Item55>
<Filename Value="sqldbwebdata.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="sqldbwebdata"/>
</Item55>
<Item56>
<Filename Value="webjsonrpc.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="webjsonrpc"/>
</Item56>
<Item57>
<Filename Value="weblazideintf.pp"/>
<HasRegisterProc Value="True"/>
<UnitName Value="WebLazIDEIntf"/>
</Item57>
<Item58>
<Filename Value="websession.pp"/> <Filename Value="websession.pp"/>
<Type Value="Virtual Unit"/> <Type Value="Virtual Unit"/>
<UnitName Value="websession"/> <UnitName Value="websession"/>
</Item15> </Item58>
<Item16> <Item59>
<Filename Value="fpapache.pp"/> <Filename Value="webutil.pp"/>
<AddToUsesPkgSection Value="False"/>
<Type Value="Virtual Unit"/> <Type Value="Virtual Unit"/>
<UnitName Value="fpapache"/> <UnitName Value="webutil"/>
</Item16> </Item59>
<Item60>
<Filename Value="frmrpcmoduleoptions.lfm"/>
<Type Value="LFM"/>
</Item60>
<Item61>
<Filename Value="frmrpcmoduleoptions.pp"/>
<UnitName Value="frmrpcmoduleoptions"/>
</Item61>
</Files> </Files>
<i18n> <i18n>
<EnableI18N Value="True"/> <EnableI18N Value="True"/>
<OutDir Value="languages"/> <OutDir Value="languages"/>
</i18n> </i18n>
<Type Value="RunAndDesignTime"/> <Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="3"> <RequiredPkgs Count="2">
<Item1> <Item1>
<PackageName Value="FCL"/> <PackageName Value="SQLDBLaz"/>
<MinVersion Major="1" Valid="True"/>
</Item1> </Item1>
<Item2> <Item2>
<PackageName Value="IDEIntf"/> <PackageName Value="IDEIntf"/>
</Item2> </Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPkgs> </RequiredPkgs>
<UsageOptions> <UsageOptions>
<UnitPath Value="$(PkgOutDir)"/> <UnitPath Value="$(PkgOutDir)"/>

View File

@ -1,5 +1,5 @@
{ This file was automatically created by Lazarus. Do not edit! { This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package. This source is only used to compile and install the package.
} }
unit weblaz; unit weblaz;
@ -7,14 +7,22 @@ unit weblaz;
interface interface
uses uses
WebLazIDEIntf, fpWeb, HTTPDefs, fphttp, fpcgi, lazweb, fpTemplate, HTMLDefs, extjsjson, extjsxml, fpcgi, fpdatasetform, fpextdirect, fpextjs, fphtml,
htmlelements, htmlwriter, webutil, fphtml, fpdatasetform, websession, fphttp, fpIDEExtEditorInsertFileNameUnit, fpjsonrpc, fpTemplate, fpWeb,
LazarusPackageIntf; fpwebdata, fpWebFieldSetTagUnit, fpWebHREFEditUnit, fpWebHtmlTagLegendUnit,
fpWebNewHTMLFileUnit, fpwebNewHTMLFormUnit, fpwebNewHTMLImgUnit,
fpwebNewHTMLInputUnit, fpwebNewHTMLListUnit, fpWebNewHtmlTableUnit,
fpWebNewHtmlTagPreUnit, fpwebNewHtmlTagTDUnit, fpwebNewHtmlTagTRUnit,
fpWebSelectOptionsUnit, fpWebSelectTagUnit, fpWebStrConsts, fpWebToolsUnit,
frmnewhttpapp, HTMLDefs, htmlelements, htmlwriter, HTTPDefs, lazweb,
sqldbwebdata, webjsonrpc, WebLazIDEIntf, websession, webutil,
frmrpcmoduleoptions, LazarusPackageIntf;
implementation implementation
procedure Register; procedure Register;
begin begin
RegisterUnit('fpWebToolsUnit', @fpWebToolsUnit.Register);
RegisterUnit('WebLazIDEIntf', @WebLazIDEIntf.Register); RegisterUnit('WebLazIDEIntf', @WebLazIDEIntf.Register);
end; end;

View File

@ -19,13 +19,20 @@
{$H+} {$H+}
unit WebLazIDEIntf; unit WebLazIDEIntf;
{$DEFINE HasFastCGISupport}
interface interface
uses uses
Classes, SysUtils, fpWeb, fpHTML, fpdatasetform, Classes, SysUtils, fpWeb, fpHTML, fpdatasetform,
Controls, Dialogs, forms, LazIDEIntf, ProjectIntf; {$IFDEF EnableNewExtTools}
IDEExternToolIntf,
{$ENDIF}
Controls, Dialogs, forms, LazIDEIntf, ProjectIntf, SrcEditorIntf, IDEMsgIntf,
fpextjs,
extjsjson, extjsxml,
fpjsonrpc,
jstree,jsparser,
fpextdirect,fpwebdata,
webjsonrpc;
type type
{ TCGIApplicationDescriptor } { TCGIApplicationDescriptor }
@ -59,7 +66,6 @@ type
function CreateStartFiles(AProject: TLazProject): TModalResult; override; function CreateStartFiles(AProject: TLazProject): TModalResult; override;
end; end;
{$IFDEF HasFastCGISupport}
{ TCustomFCGIApplicationDescriptor } { TCustomFCGIApplicationDescriptor }
TCustomFCGIApplicationDescriptor = class(TProjectDescriptor) TCustomFCGIApplicationDescriptor = class(TProjectDescriptor)
public public
@ -80,7 +86,6 @@ type
function InitProject(AProject: TLazProject): TModalResult; override; function InitProject(AProject: TLazProject): TModalResult; override;
function CreateStartFiles(AProject: TLazProject): TModalResult; override; function CreateStartFiles(AProject: TLazProject): TModalResult; override;
end; end;
{$ENDIF HasFastCGISupport}
{ TFileDescPascalUnitWithCGIDataModule } { TFileDescPascalUnitWithCGIDataModule }
@ -102,16 +107,98 @@ type
function GetImplementationSource(const Filename, SourceName, ResourceName: string): string;override; function GetImplementationSource(const Filename, SourceName, ResourceName: string): string;override;
end; end;
{ TFileDescWebProviderDataModule }
TFileDescWebProviderDataModule = class(TFileDescPascalUnitWithResource)
public
constructor Create; override;
function GetInterfaceUsesSection: string; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
function GetImplementationSource(const Filename, SourceName, ResourceName: string): string;override;
end;
{ TFileDescWebJSONRPCModule }
TFileDescWebJSONRPCModule = class(TFileDescPascalUnitWithResource)
public
constructor Create; override;
function GetInterfaceUsesSection: string; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
function GetImplementationSource(const Filename, SourceName, ResourceName: string): string;override;
end;
{ TFileDescExtDirectModule }
TFileDescExtDirectModule = class(TFileDescPascalUnitWithResource)
public
constructor Create; override;
function GetInterfaceUsesSection: string; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
function GetImplementationSource(const Filename, SourceName, ResourceName: string): string;override;
end;
{ TSQLFileDescriptor }
{ TJSFileDescriptor }
TJSFileDescriptor = class(TProjectFileDescriptor)
public
constructor Create; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
function GetResourceSource(const ResourceName: string): string; override;
function CreateSource(const Filename, SourceName,
ResourceName: string): string; override;
procedure UpdateDefaultPascalFileExtension(const DefPasExt: string); override;
end;
TJSSyntaxChecker = Class(TComponent)
private
FSFN: String;
Public
Procedure ShowMessage(Const Msg : String);
Procedure ShowMessage(Const Fmt : String; Args : Array of const);
Procedure ShowException(Const Msg : String; E : Exception);
function CheckJavaScript (S : TStream): TModalResult;
function CheckSource(Sender: TObject; var Handled: boolean): TModalResult;
Property SourceFileName : String Read FSFN;
end;
{ THTTPApplicationDescriptor }
THTTPApplicationDescriptor = class(TProjectDescriptor)
private
FThreaded,
fReg : Boolean;
FDir,
FLoc : String;
FPort : Integer;
function GetOPtions: TModalResult;
public
constructor Create; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
function InitProject(AProject: TLazProject): TModalResult; override;
function CreateStartFiles(AProject: TLazProject): TModalResult; override;
end;
var var
ProjectDescriptorCustomCGIApplication: TCustomCGIApplicationDescriptor; ProjectDescriptorCustomCGIApplication: TCustomCGIApplicationDescriptor;
ProjectDescriptorCGIApplication: TCGIApplicationDescriptor; ProjectDescriptorCGIApplication: TCGIApplicationDescriptor;
ProjectDescriptorApacheApplication: TApacheApplicationDescriptor; ProjectDescriptorApacheApplication: TApacheApplicationDescriptor;
{$IFDEF HasFastCGISupport}
ProjectDescriptorCustomFCGIApplication: TCustomFCGIApplicationDescriptor; ProjectDescriptorCustomFCGIApplication: TCustomFCGIApplicationDescriptor;
ProjectDescriptorFCGIApplication: TFCGIApplicationDescriptor; ProjectDescriptorFCGIApplication: TFCGIApplicationDescriptor;
{$ENDIF HasFastCGISupport}
FileDescriptorHTMLModule: TFileDescHTMLModule; FileDescriptorHTMLModule: TFileDescHTMLModule;
FileDescriptorWebModule: TFileDescWebDataModule; FileDescriptorWebModule: TFileDescWebDataModule;
FileDescriptorWebProviderDataModule: TFileDescWebProviderDataModule;
ProjectDescriptorHTTPApplication : THTTPApplicationDescriptor;
FileDescriptorJSONRPCModule : TFileDescWebJSONRPCModule;
FileDescriptorExtDirectModule : TFileDescExtDirectModule;
AChecker : TJSSyntaxChecker;
procedure Register; procedure Register;
@ -141,10 +228,25 @@ resourcestring
rsFastCGIAppli2 = 'FastCGI Application%sA FastCGI (Common Gateway ' rsFastCGIAppli2 = 'FastCGI Application%sA FastCGI (Common Gateway '
+'Interface) program in Free Pascal using webmodules. The program source ' +'Interface) program in Free Pascal using webmodules. The program source '
+'is automatically maintained by Lazarus.'; +'is automatically maintained by Lazarus.';
rsWebDataProvi = 'Web DataProvider Module';
rsWEBDataProvi2 = 'WEB DataProvider Module%sA datamodule to handle data '
+'requests for WEB (HTTP) applications using WebDataProvider components.';
rsWebJSONRPCMo = 'Web JSON-RPC Module';
rsWEBJSONRPCMo2 = 'WEB JSON-RPC Module%sA datamodule to dispatch JSON-RPC '
+'requests in WEB (HTTP) applications using TJSONRPCHandler components.';
rsWebExtDirect = 'Web Ext.Direct Module';
rsWEBExtDirect2 = 'WEB Ext.Direct Module%sA datamodule to dispatch Ext.'
+'Direct requests in WEB (HTTP) applications using TJSONRPCHandler '
+'components.';
rsHTTPAppli = 'HTTP server Application';
rsHTTPAppli2 = 'HTTP server Application. Complete HTTP Server '
+'program in Free Pascal using webmodules. The program source '
+'is automatically maintained by Lazarus.';
implementation implementation
uses LazarusPackageIntf,FormEditingIntf, PropEdits, DBPropEdits; uses LazarusPackageIntf,FormEditingIntf, PropEdits, DBPropEdits, sqldbwebdata,
frmrpcmoduleoptions,frmnewhttpapp, registersqldb, sqlstringspropertyeditordlg;
Const Const
fpWebTab = 'fpWeb'; fpWebTab = 'fpWeb';
@ -165,7 +267,13 @@ Procedure RegisterDatasetComponents;
begin begin
RegisterComponents(fpWebTab,[THTMLDataSetFormShowProducer, RegisterComponents(fpWebTab,[THTMLDataSetFormShowProducer,
THTMLDataSetFormEditProducer, THTMLDataSetFormEditProducer,
THTMLDataSetFormGridProducer]); THTMLDataSetFormGridProducer,
TWebdataInputAdaptor,TFPWebDataProvider, TSQLDBWebDataProvider,
TExtJSJSonWebdataInputAdaptor,TExtJSJSONDataFormatter,
TExtJSXMLWebdataInputAdaptor,TExtJSXMLDataFormatter,
TJSONRPCHandler,TJSONRPCDispatcher,TSessionJSONRPCDispatcher,
TJSONRPCContentProducer,
TExtDirectDispatcher,TExtDirectContentProducer]);
end; end;
@ -179,6 +287,25 @@ end;
procedure Register; procedure Register;
begin begin
RegisterComponents; RegisterComponents;
FileDescriptorWebProviderDataModule:=TFileDescWebProviderDataModule.Create;
FileDescriptorJSONRPCModule:=TFileDescWebJSONRPCModule.Create;
FileDescriptorExtDirectModule:=TFileDescExtDirectModule.Create;
RegisterProjectFileDescriptor(FileDescriptorWebProviderDataModule);
RegisterProjectFileDescriptor(FileDescriptorJSONRPCModule);
RegisterProjectFileDescriptor(FileDescriptorExtDirectModule);
FormEditingHook.RegisterDesignerBaseClass(TFPCustomWebProviderDataModule);
FormEditingHook.RegisterDesignerBaseClass(TFPWebProviderDataModule);
FormEditingHook.RegisterDesignerBaseClass(TJSONRPCModule);
FormEditingHook.RegisterDesignerBaseClass(TExtDirectModule);
AChecker:=TJSSyntaxChecker.Create(Nil);
LazarusIDE.AddHandlerOnQuickSyntaxCheck(@AChecker.CheckSource,False);
RegisterPropertyEditor(TStrings.ClassInfo, TSQLDBWebDataProvider, 'SelectSQL', TSQLStringsPropertyEditor);
RegisterPropertyEditor(TStrings.ClassInfo, TSQLDBWebDataProvider, 'InsertSQL', TSQLStringsPropertyEditor);
RegisterPropertyEditor(TStrings.ClassInfo, TSQLDBWebDataProvider, 'DeleteSQL', TSQLStringsPropertyEditor);
RegisterPropertyEditor(TStrings.ClassInfo, TSQLDBWebDataProvider, 'UpdateSQL', TSQLStringsPropertyEditor);
ProjectDescriptorHTTPApplication:=THTTPApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorHTTPApplication);
FileDescriptorWebModule:=TFileDescWebDataModule.Create; FileDescriptorWebModule:=TFileDescWebDataModule.Create;
RegisterProjectFileDescriptor(FileDescriptorWebModule); RegisterProjectFileDescriptor(FileDescriptorWebModule);
ProjectDescriptorCGIApplication:=TCGIApplicationDescriptor.Create; ProjectDescriptorCGIApplication:=TCGIApplicationDescriptor.Create;
@ -189,12 +316,10 @@ begin
RegisterProjectDescriptor(ProjectDescriptorCustomCGIApplication); RegisterProjectDescriptor(ProjectDescriptorCustomCGIApplication);
ProjectDescriptorApacheApplication:=TApacheApplicationDescriptor.Create; ProjectDescriptorApacheApplication:=TApacheApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorApacheApplication); RegisterProjectDescriptor(ProjectDescriptorApacheApplication);
{$IFDEF HasFastCGISupport}
ProjectDescriptorFCGIApplication:=TFCGIApplicationDescriptor.Create; ProjectDescriptorFCGIApplication:=TFCGIApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorFCGIApplication); RegisterProjectDescriptor(ProjectDescriptorFCGIApplication);
ProjectDescriptorCustomFCGIApplication:=TCustomFCGIApplicationDescriptor.Create; ProjectDescriptorCustomFCGIApplication:=TCustomFCGIApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorCustomFCGIApplication); RegisterProjectDescriptor(ProjectDescriptorCustomFCGIApplication);
{$ENDIF HasFastCGISupport}
FormEditingHook.RegisterDesignerBaseClass(TFPWebModule); FormEditingHook.RegisterDesignerBaseClass(TFPWebModule);
FormEditingHook.RegisterDesignerBaseClass(TFPHTMLModule); FormEditingHook.RegisterDesignerBaseClass(TFPHTMLModule);
@ -518,7 +643,6 @@ begin
Result:= mrOK; Result:= mrOK;
end; end;
{$IFDEF HasFastCGISupport}
{ TCustomFCGIApplicationDescriptor } { TCustomFCGIApplicationDescriptor }
@ -665,7 +789,406 @@ begin
[nfIsPartOfProject,nfOpenInEditor,nfCreateDefaultSrc]); [nfIsPartOfProject,nfOpenInEditor,nfCreateDefaultSrc]);
Result:= mrOK; Result:= mrOK;
end; end;
{$ENDIF HasFastCGISupport}
{ THTTPApplicationDescriptor }
constructor THTTPApplicationDescriptor.Create;
begin
inherited Create;
Name:='FPHTTPApplication';
end;
function THTTPApplicationDescriptor.GetLocalizedName: string;
begin
Result:=rsHTTPAppli;
end;
function THTTPApplicationDescriptor.GetLocalizedDescription: string;
begin
Result:=rsHTTPAppli2;
end;
function THTTPApplicationDescriptor.GetOPtions : TModalResult;
begin
With TNewHTTPApplicationForm.Create(Application) do
try
Result:=ShowModal;
if Result=mrOK then
begin
FThreaded:=Threaded;
FPort:=Port;
FReg:=ServeFiles;
if Freg then
begin
FLoc:=Location;
FDir:=Directory;
end;
end;
finally
Free;
end;
end;
function THTTPApplicationDescriptor.InitProject(AProject: TLazProject
): TModalResult;
Var
S : string;
le: string;
NewSource: String;
MainFile: TLazProjectFile;
begin
inherited InitProject(AProject);
Result:=GetOptions;
if Result<>mrOK then
Exit;
MainFile:=AProject.CreateProjectFile('httpproject1.lpr');
MainFile.IsPartOfProject:=true;
AProject.AddFile(MainFile,false);
AProject.MainFileID:=0;
// create program source
le:=LineEnding;
NewSource:='program httpproject1;'+le
+le
+'{$mode objfpc}{$H+}'+le
+le
+'uses'+le;
if FReg then
NewSource:=NewSource+' fpwebfile,'+le;
NewSource:=NewSource
+' fphttpapp;'+le
+le
+'begin'+le;
if Freg then
begin
S:=Format(' RegisterFileLocation(''%s'',''%s'');',[FLoc,FDir]);
NewSource:=NewSource+S+le
end;
NewSource:=NewSource
+' Application.Title:=''httpproject1'';'+le
+Format(' Application.Port:=%d;'+le,[FPort]);
if FThreaded then
NewSource:=NewSource+' Application.Threaded:=True;'+le;
NewSource:=NewSource
+' Application.Initialize;'+le
+' Application.Run;'+le
+'end.'+le
+le;
AProject.MainFile.SetSourceText(NewSource);
// add
AProject.AddPackageDependency('FCL');
AProject.AddPackageDependency('WebLaz');
// compiler options
AProject.LazCompilerOptions.Win32GraphicApp:=false;
AProject.Flags := AProject.Flags - [pfMainUnitHasCreateFormStatements];
Result:= mrOK;
end;
function THTTPApplicationDescriptor.CreateStartFiles(AProject: TLazProject
): TModalResult;
begin
LazarusIDE.DoNewEditorFile(FileDescriptorWebModule,'','',
[nfIsPartOfProject,nfOpenInEditor,nfCreateDefaultSrc]);
Result:= mrOK;
end;
{ TFileDescWebProviderDataModule }
constructor TFileDescWebProviderDataModule.Create;
begin
inherited Create;
Name:='Web DataProvider Module';
ResourceClass:=TFPWebProviderDataModule;
UseCreateFormStatements:=False;
end;
function TFileDescWebProviderDataModule.GetInterfaceUsesSection: string;
begin
Result:=inherited GetInterfaceUsesSection;
Result:=Result+', HTTPDefs, websession, fpHTTP, fpWeb, fpwebdata';
end;
function TFileDescWebProviderDataModule.GetLocalizedName: string;
begin
Result:=rsWebDataProvi;
end;
function TFileDescWebProviderDataModule.GetLocalizedDescription: string;
begin
Result:=Format(rsWEBDataProvi2, [#13]);
end;
function TFileDescWebProviderDataModule.GetImplementationSource(const Filename,
SourceName, ResourceName: string): string;
begin
Result:=Inherited GetImplementationSource(FileName,SourceName,ResourceName);
if GetResourceType = rtRes then
Result:=Result+'initialization'+LineEnding;
Result:=Result+' RegisterHTTPModule(''T'+ResourceName+''',T'+ResourceName+');'+LineEnding;
end;
{ TFileDescWebJSONFPCModule }
constructor TFileDescWebJSONRPCModule.Create;
begin
inherited Create;
Name:='JSON-RPC Module';
ResourceClass:=TJSONRPCModule;
UseCreateFormStatements:=False;
end;
function TFileDescWebJSONRPCModule.GetInterfaceUsesSection: string;
begin
Result:=inherited GetInterfaceUsesSection;
Result:=Result+', HTTPDefs, websession, fpHTTP, fpWeb, fpjsonrpc, webjsonrpc';
end;
function TFileDescWebJSONRPCModule.GetLocalizedName: string;
begin
Result:=rsWebJSONRPCMo;
end;
function TFileDescWebJSONRPCModule.GetLocalizedDescription: string;
begin
Result:=Format(rsWEBJSONRPCMo2, [#13]);
end;
function TFileDescWebJSONRPCModule.GetImplementationSource(const Filename,
SourceName, ResourceName: string): string;
Var
RH,RM : Boolean;
CN,HP : String;
begin
RH:=False;
RM:=False;
CN:=ResourceName;
HP:=ResourceName;
With TJSONRPCModuleOptionsForm.Create(Application) do
try
If (ShowModal=mrOK) then
begin
RH:=RegisterHandlers;
If RH Then
CN:=JSONRPCClass;
RM:=RegisterModule;
If RM then
HP:=HTTPPath;
end;
finally
Free;
end;
Result:=Inherited GetImplementationSource(FileName,SourceName,ResourceName);
if (GetResourceType = rtRes) and (RM or RH) then
Result:=Result+'Initialization'+sLineBreak;
If RM then
Result:=Result+' RegisterHTTPModule('''+HP+''',T'+ResourceName+');'+LineEnding;
If RH then
Result:=Result+' JSONRPCHandlerManager.RegisterDatamodule(T'+ResourceName+','''+HP+''',);'+LineEnding;
end;
{ TFileDescExtDirectModule }
constructor TFileDescExtDirectModule.Create;
begin
inherited Create;
Name:='Ext.Direct Module';
ResourceClass:=TExtDirectModule;
UseCreateFormStatements:=False;
end;
function TFileDescExtDirectModule.GetInterfaceUsesSection: string;
begin
Result:=inherited GetInterfaceUsesSection;
Result:=Result+', HTTPDefs, websession, fpHTTP, fpWeb, fpjsonrpc, webjsonrpc, fpextdirect';
end;
function TFileDescExtDirectModule.GetLocalizedName: string;
begin
Result:=inherited GetLocalizedName;
Result:=rsWebExtDirect;
end;
function TFileDescExtDirectModule.GetLocalizedDescription: string;
begin
Result:=Format(rsWEBExtDirect2, [#13]);
end;
function TFileDescExtDirectModule.GetImplementationSource(const Filename,
SourceName, ResourceName: string): string;
Var
RH,RM : Boolean;
CN,HP : String;
begin
RH:=False;
RM:=False;
CN:=ResourceName;
HP:=ResourceName;
With TJSONRPCModuleOptionsForm.Create(Application) do
try
If (ShowModal=mrOK) then
begin
RH:=RegisterHandlers;
If RH Then
CN:=JSONRPCClass;
RM:=RegisterModule;
If RM then
HP:=HTTPPath;
end;
finally
Free;
end;
Result:=Inherited GetImplementationSource(FileName,SourceName,ResourceName);
if (GetResourceType = rtRes) and (RM or RH) then
Result:=Result+'Initialization'+sLineBreak;
If RM then
Result:=Result+' RegisterHTTPModule('''+HP+''',T'+ResourceName+');'+LineEnding;
If RH then
Result:=Result+' JSONRPCHandlerManager.RegisterDatamodule(T'+ResourceName+','''+HP+''',);'+LineEnding;
end;
{ TJSSyntaxChecker }
procedure TJSSyntaxChecker.ShowMessage(const Msg: String);
begin
{$IFDEF EnableNewExtTools}
IDEMessagesWindow.AddCustomMessage(mluImportant,Msg,SourceFileName);
{$ELSE}
IDEMessagesWindow.AddMsg(SourceFileName+' : '+Msg,'',0,Nil);
{$ENDIF}
end;
procedure TJSSyntaxChecker.ShowMessage(const Fmt: String;
Args: array of const);
begin
ShowMessage(Format(Fmt,Args));
end;
procedure TJSSyntaxChecker.ShowException(const Msg: String; E: Exception);
begin
If (Msg<>'') then
ShowMessage(Msg+' : '+E.Message)
else
ShowMessage(Msg+' : '+E.Message);
end;
function TJSSyntaxChecker.CheckJavaScript(S : TStream): TModalResult;
Var
P : TJSParser;
E : TJSElement;
begin
P:=TJSParser.Create(S);
try
try
E:=P.Parse;
E.Free;
ShowMessage('Javascript syntax OK');
except
On E : Exception do
ShowException('Javascript syntax error',E);
end;
finally
P.free;
end;
end;
function TJSSyntaxChecker.CheckSource(Sender: TObject; var Handled: boolean
): TModalResult;
Var
AE : TSourceEditorInterface;
E : String;
S : TStringStream;
begin
{$IFNDEF EnableNewExtTools}
IDEMessagesWindow.BeginBlock(False);
{$ENDIF}
try
try
Handled:=False;
result:=mrNone;
AE:=SourceEditorManagerIntf.ActiveEditor;
If (AE<>Nil) then
begin
E:=ExtractFileExt(AE.FileName);
FSFN:=ExtractFileName(AE.FileName);
Handled:=CompareText(E,'.js')=0;
If Handled then
begin
S:=TStringStream.Create(AE.SourceText);
try
CheckJavaScript(S);
Result:=mrOK;
finally
S.Free;
end;
end;
end;
except
On E : Exception do
ShowException('Error during syntax check',E);
end;
finally
{$IFNDEF EnableNewExtTools}
IDEMessagesWindow.EndBlock;
{$ENDIF}
end;
end;
{ TJSFileDescriptor }
constructor TJSFileDescriptor.Create;
begin
Name:='SQL Script file';
DefaultFilename:='script.sql';
DefaultResFileExt:='';
DefaultFileExt:='.sql';
VisibleInNewDialog:=true;
end;
function TJSFileDescriptor.GetLocalizedName: string;
begin
Result:=inherited GetLocalizedName;
end;
function TJSFileDescriptor.GetLocalizedDescription: string;
begin
Result:=inherited GetLocalizedDescription;
end;
function TJSFileDescriptor.GetResourceSource(const ResourceName: string
): string;
begin
Result:=inherited GetResourceSource(ResourceName);
end;
function TJSFileDescriptor.CreateSource(const Filename, SourceName,
ResourceName: string): string;
begin
Result:=inherited CreateSource(Filename, SourceName, ResourceName);
end;
procedure TJSFileDescriptor.UpdateDefaultPascalFileExtension(
const DefPasExt: string);
begin
inherited UpdateDefaultPascalFileExtension(DefPasExt);
end;
finalization
FreeAndNil(AChecker);
end. end.