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 ""
msgstr ""
"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 ""
msgstr ""
"Project-Id-Version: \n"
@ -10,8 +10,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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"
"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"
"X-Generator: Virtaal 0.7.1\n"
#: fpwebstrconsts.scssfile
@ -402,3 +401,4 @@ msgstr "Зар&еєструвати розташування файлів для
#: fpwebstrconsts.susethreads
msgid "Use &threads to serve requests in"
msgstr "Обслуговувати запити в по&токах виконання"

View File

@ -57,6 +57,38 @@ msgstr "Webový HTML modul"
msgid "HTML WEB Module%sA Web datamodule for producing strict 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
msgid "Web Module"
msgstr "Webový modul"

View File

@ -1,4 +1,4 @@
# Massimo Soricetti <notturno@quipo.it>, 2011.
Massimo Soricetti <notturno@quipo.it>, 2011.
msgid ""
msgstr ""
"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."
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
msgid "Web Module"
msgstr "Modulo Web"

View File

@ -1,4 +1,4 @@
# Valdas Jankunas <zmuogs@gmail.com>, 2012.
Valdas Jankunas <zmuogs@gmail.com>, 2012.
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
@ -9,8 +9,7 @@ msgstr ""
"Language: lt\n"
"Content-Transfer-Encoding: 8bit\n"
"MIME-Version: 1.0\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"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.5\n"
#: weblazideintf.rsapachemodule
@ -18,63 +17,40 @@ msgid "Apache Module"
msgstr "Apache modulis"
#: weblazideintf.rsapachemodule2
msgid ""
"Apache module%sAn Apache loadable module in Free Pascal using webmodules. The "
"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."
msgid "Apache module%sAn Apache loadable module in Free Pascal using webmodules. The 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
msgid "CGI Application"
msgstr "CGI programa"
#: weblazideintf.rscgiapplicati2
msgid ""
"CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal "
"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."
msgid "CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal 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
msgid "Custom CGI Application"
msgstr "Sava CGI programa"
#: weblazideintf.rscustomcgiapp2
msgid ""
"Custom CGI Application%sA CGI (Common Gateway Interface) program in Free "
"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."
msgid "Custom CGI Application%sA CGI (Common Gateway Interface) program in Free 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
msgid "Custom FastCGI Application"
msgstr "Sava FastCGI programa"
#: weblazideintf.rscustomfastcg2
msgid ""
"Custom FastCGI Application%sA FastCGI (Common Gateway Interface) program in "
"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."
msgid "Custom FastCGI Application%sA FastCGI (Common Gateway Interface) program in 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
msgid "FastCGI Application"
msgstr "FastCGI programa"
#: weblazideintf.rsfastcgiappli2
msgid ""
"FastCGI Application%sA FastCGI (Common Gateway Interface) program in Free "
"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."
msgid "FastCGI Application%sA FastCGI (Common Gateway Interface) program in Free 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
msgid "HTML Web Module"
@ -84,6 +60,38 @@ msgstr "HTML saityno modulis"
msgid "HTML WEB Module%sA Web datamodule for producing strict HTML."
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
msgid "Web Module"
msgstr "Saityno modulis"
@ -92,4 +100,3 @@ msgstr "Saityno modulis"
msgid "WEB Module%sA datamodule for WEB (HTTP) applications."
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."
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
msgid "Web Module"
msgstr ""

View File

@ -57,6 +57,38 @@ msgstr "Módulo Web 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."
#: 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
msgid "Web Module"
msgstr "Módulo Web"

View File

@ -57,6 +57,38 @@ msgstr "Веб-модуль HTML"
msgid "HTML WEB Module%sA Web datamodule for producing 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
msgid "Web Module"
msgstr "Веб-модуль"

View File

@ -57,6 +57,38 @@ msgstr "Модуль HTML Web"
msgid "HTML WEB Module%sA Web datamodule for producing strict 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
msgid "Web Module"
msgstr "Веб-модуль"

View File

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<Package Version="3">
<Package Version="4">
<Name Value="lazwebextra"/>
<AddToProjectUsesSection Value="False"/>
<Author Value="Michael Van Canneyt"/>
<CompilerOptions>
<Version Value="10"/>
<Version Value="11"/>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
@ -24,220 +23,22 @@
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Description Value="Extra Web functionality for Lazarus. Only install with FPC 2.5.1 or higher.
HTML editing functionality by Alexei Lagunov"/>
<Description Value="Empty package. All stuff was moved to package weblaz.
Kept to allow project compile with this and last Lazarus version 1.2."/>
<License Value="LGPL"/>
<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>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="4">
<RequiredPkgs Count="1">
<Item1>
<PackageName Value="LCLBase"/>
</Item1>
<Item2>
<PackageName Value="sqldblaz"/>
</Item2>
<Item3>
<PackageName Value="weblaz"/>
</Item3>
<Item4>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item4>
</Item1>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
<UnitPath Value="$(PkgOutDir)"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<Package Version="4">
<Name Value="weblaz"/>
<AddToProjectUsesSection Value="True"/>
<Author Value="Michael Van Canneyt"/>
<CompilerOptions>
<Version Value="10"/>
<Version Value="11"/>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
@ -14,33 +14,35 @@
</SyntaxOptions>
</Parsing>
<Other>
<CompilerMessages>
<UseMsgFile Value="True"/>
</CompilerMessages>
<CustomOptions Value="-dcgidebug"/>
<CompilerPath Value="$(CompPath)"/>
</Other>
</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>
<Filename Value="weblazideintf.pp"/>
<HasRegisterProc Value="True"/>
<UnitName Value="WebLazIDEIntf"/>
<Filename Value="custcgi.pp"/>
<AddToUsesPkgSection Value="False"/>
<Type Value="Virtual Unit"/>
<UnitName Value="custcgi"/>
</Item1>
<Item2>
<Filename Value="fpweb.pp"/>
<Filename Value="extjsjson.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpWeb"/>
<UnitName Value="extjsjson"/>
</Item2>
<Item3>
<Filename Value="httpdefs.pp"/>
<Filename Value="extjsxml.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="HTTPDefs"/>
<UnitName Value="extjsxml"/>
</Item3>
<Item4>
<Filename Value="fphttp.pp"/>
<Filename Value="fpapache.pp"/>
<AddToUsesPkgSection Value="False"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fphttp"/>
<UnitName Value="fpapache"/>
</Item4>
<Item5>
<Filename Value="fpcgi.pp"/>
@ -48,78 +50,261 @@
<UnitName Value="fpcgi"/>
</Item5>
<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"/>
<Type Value="Virtual Unit"/>
<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>
<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"/>
<Type Value="Virtual Unit"/>
<UnitName Value="websession"/>
</Item15>
<Item16>
<Filename Value="fpapache.pp"/>
<AddToUsesPkgSection Value="False"/>
</Item58>
<Item59>
<Filename Value="webutil.pp"/>
<Type Value="Virtual Unit"/>
<UnitName Value="fpapache"/>
</Item16>
<UnitName Value="webutil"/>
</Item59>
<Item60>
<Filename Value="frmrpcmoduleoptions.lfm"/>
<Type Value="LFM"/>
</Item60>
<Item61>
<Filename Value="frmrpcmoduleoptions.pp"/>
<UnitName Value="frmrpcmoduleoptions"/>
</Item61>
</Files>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="3">
<RequiredPkgs Count="2">
<Item1>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
<PackageName Value="SQLDBLaz"/>
</Item1>
<Item2>
<PackageName Value="IDEIntf"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)"/>

View File

@ -7,14 +7,22 @@ unit weblaz;
interface
uses
WebLazIDEIntf, fpWeb, HTTPDefs, fphttp, fpcgi, lazweb, fpTemplate, HTMLDefs,
htmlelements, htmlwriter, webutil, fphtml, fpdatasetform, websession,
LazarusPackageIntf;
extjsjson, extjsxml, fpcgi, fpdatasetform, fpextdirect, fpextjs, fphtml,
fphttp, fpIDEExtEditorInsertFileNameUnit, fpjsonrpc, fpTemplate, fpWeb,
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
procedure Register;
begin
RegisterUnit('fpWebToolsUnit', @fpWebToolsUnit.Register);
RegisterUnit('WebLazIDEIntf', @WebLazIDEIntf.Register);
end;

View File

@ -19,13 +19,20 @@
{$H+}
unit WebLazIDEIntf;
{$DEFINE HasFastCGISupport}
interface
uses
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
{ TCGIApplicationDescriptor }
@ -59,7 +66,6 @@ type
function CreateStartFiles(AProject: TLazProject): TModalResult; override;
end;
{$IFDEF HasFastCGISupport}
{ TCustomFCGIApplicationDescriptor }
TCustomFCGIApplicationDescriptor = class(TProjectDescriptor)
public
@ -80,7 +86,6 @@ type
function InitProject(AProject: TLazProject): TModalResult; override;
function CreateStartFiles(AProject: TLazProject): TModalResult; override;
end;
{$ENDIF HasFastCGISupport}
{ TFileDescPascalUnitWithCGIDataModule }
@ -102,16 +107,98 @@ type
function GetImplementationSource(const Filename, SourceName, ResourceName: string): string;override;
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
ProjectDescriptorCustomCGIApplication: TCustomCGIApplicationDescriptor;
ProjectDescriptorCGIApplication: TCGIApplicationDescriptor;
ProjectDescriptorApacheApplication: TApacheApplicationDescriptor;
{$IFDEF HasFastCGISupport}
ProjectDescriptorCustomFCGIApplication: TCustomFCGIApplicationDescriptor;
ProjectDescriptorFCGIApplication: TFCGIApplicationDescriptor;
{$ENDIF HasFastCGISupport}
FileDescriptorHTMLModule: TFileDescHTMLModule;
FileDescriptorWebModule: TFileDescWebDataModule;
FileDescriptorWebProviderDataModule: TFileDescWebProviderDataModule;
ProjectDescriptorHTTPApplication : THTTPApplicationDescriptor;
FileDescriptorJSONRPCModule : TFileDescWebJSONRPCModule;
FileDescriptorExtDirectModule : TFileDescExtDirectModule;
AChecker : TJSSyntaxChecker;
procedure Register;
@ -141,10 +228,25 @@ resourcestring
rsFastCGIAppli2 = 'FastCGI Application%sA FastCGI (Common Gateway '
+'Interface) program in Free Pascal using webmodules. The program source '
+'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
uses LazarusPackageIntf,FormEditingIntf, PropEdits, DBPropEdits;
uses LazarusPackageIntf,FormEditingIntf, PropEdits, DBPropEdits, sqldbwebdata,
frmrpcmoduleoptions,frmnewhttpapp, registersqldb, sqlstringspropertyeditordlg;
Const
fpWebTab = 'fpWeb';
@ -165,7 +267,13 @@ Procedure RegisterDatasetComponents;
begin
RegisterComponents(fpWebTab,[THTMLDataSetFormShowProducer,
THTMLDataSetFormEditProducer,
THTMLDataSetFormGridProducer]);
THTMLDataSetFormGridProducer,
TWebdataInputAdaptor,TFPWebDataProvider, TSQLDBWebDataProvider,
TExtJSJSonWebdataInputAdaptor,TExtJSJSONDataFormatter,
TExtJSXMLWebdataInputAdaptor,TExtJSXMLDataFormatter,
TJSONRPCHandler,TJSONRPCDispatcher,TSessionJSONRPCDispatcher,
TJSONRPCContentProducer,
TExtDirectDispatcher,TExtDirectContentProducer]);
end;
@ -179,6 +287,25 @@ end;
procedure Register;
begin
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;
RegisterProjectFileDescriptor(FileDescriptorWebModule);
ProjectDescriptorCGIApplication:=TCGIApplicationDescriptor.Create;
@ -189,12 +316,10 @@ begin
RegisterProjectDescriptor(ProjectDescriptorCustomCGIApplication);
ProjectDescriptorApacheApplication:=TApacheApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorApacheApplication);
{$IFDEF HasFastCGISupport}
ProjectDescriptorFCGIApplication:=TFCGIApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorFCGIApplication);
ProjectDescriptorCustomFCGIApplication:=TCustomFCGIApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorCustomFCGIApplication);
{$ENDIF HasFastCGISupport}
FormEditingHook.RegisterDesignerBaseClass(TFPWebModule);
FormEditingHook.RegisterDesignerBaseClass(TFPHTMLModule);
@ -518,7 +643,6 @@ begin
Result:= mrOK;
end;
{$IFDEF HasFastCGISupport}
{ TCustomFCGIApplicationDescriptor }
@ -665,7 +789,406 @@ begin
[nfIsPartOfProject,nfOpenInEditor,nfCreateDefaultSrc]);
Result:= mrOK;
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.