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>
@ -20,224 +19,26 @@
</Optimizations>
</CodeGeneration>
<Other>
<CustomOptions Value="$(IDEBuildOptions)"/>
<CustomOptions Value="$(IDEBuildOptions)"/>
<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

@ -1,23 +1,31 @@
{ 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;
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;
procedure Register;
begin
RegisterUnit('WebLazIDEIntf', @WebLazIDEIntf.Register);
end;
RegisterUnit('fpWebToolsUnit', @fpWebToolsUnit.Register);
RegisterUnit('WebLazIDEIntf', @WebLazIDEIntf.Register);
end;
initialization
RegisterPackage('weblaz', @Register);
RegisterPackage('weblaz', @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.