Starts removing the obsolete cgi package

git-svn-id: trunk@27394 -
This commit is contained in:
sekelsenmat 2010-09-17 14:11:36 +00:00
parent ee0576766e
commit 4fb7141bae
37 changed files with 1 additions and 7104 deletions

34
.gitattributes vendored
View File

@ -334,40 +334,6 @@ components/aggpas/trans_curve2_ft.dpr svneol=native#text/plain
components/aggpas/trans_polar.dpr svneol=native#text/plain
components/aggpas/truetype_test.dpr svneol=native#text/plain
components/aggpas/verdana.ttf -text
components/cgi/Makefile svneol=native#text/plain
components/cgi/Makefile.fpc svneol=native#text/plain
components/cgi/README.txt svneol=native#text/plain
components/cgi/cgilaz.lpk svneol=native#text/pascal
components/cgi/cgilaz.pas svneol=native#text/plain
components/cgi/cgimodules.pas svneol=native#text/pascal
components/cgi/demo/samplecgi.lpi svneol=native#text/plain
components/cgi/demo/samplecgi.lpr svneol=native#text/plain
components/cgi/demo/wmdump.lfm svneol=native#text/plain
components/cgi/demo/wmdump.lrs svneol=native#text/pascal
components/cgi/demo/wmdump.pp svneol=native#text/plain
components/cgi/ide/Makefile svneol=native#text/plain
components/cgi/ide/Makefile.fpc svneol=native#text/plain
components/cgi/ide/README.txt svneol=native#text/plain
components/cgi/ide/cgilazide.lpk svneol=native#text/pascal
components/cgi/ide/cgilazide.pas svneol=native#text/plain
components/cgi/ide/cgilazideintf.pas svneol=native#text/pascal
components/cgi/ide/languages/cgilazideintf.cs.po svneol=native#text/plain
components/cgi/ide/languages/cgilazideintf.de.po svneol=native#text/plain
components/cgi/ide/languages/cgilazideintf.lt.po svneol=native#text/plain
components/cgi/ide/languages/cgilazideintf.pb.po svneol=native#text/plain
components/cgi/ide/languages/cgilazideintf.po svneol=native#text/plain
components/cgi/ide/languages/cgilazideintf.ru.po svneol=native#text/plain
components/cgi/ide/lib/README.txt svneol=native#text/plain
components/cgi/languages/cgimodules.cs.po svneol=native#text/plain
components/cgi/languages/cgimodules.de.po svneol=native#text/plain
components/cgi/languages/cgimodules.id.po svneol=native#text/plain
components/cgi/languages/cgimodules.lt.po svneol=native#text/plain
components/cgi/languages/cgimodules.pb.po svneol=native#text/plain
components/cgi/languages/cgimodules.pl.po svneol=native#text/plain
components/cgi/languages/cgimodules.po svneol=native#text/plain
components/cgi/languages/cgimodules.ru.po svneol=native#text/plain
components/cgi/languages/cgimodules.zh_CN.po svneol=native#text/plain
components/cgi/lib/README.txt svneol=native#text/plain
components/chmhelp/README.txt svneol=native#text/plain
components/chmhelp/democontrol/project1.lpi svneol=native#text/plain
components/chmhelp/democontrol/project1.lpr svneol=native#text/plain

10
.gitignore vendored
View File

@ -1,15 +1,5 @@
/*.bak
components/*.bak
components/cgi/*.bak
components/cgi/ide/*.bak
components/cgi/ide/lib/*.bak
components/cgi/ide/lib/units
components/cgi/ide/units
components/cgi/languages/*.bak
components/cgi/languages/units
components/cgi/lib/*.bak
components/cgi/lib/units
components/cgi/units
components/chmhelp/*.bak
components/chmhelp/democontrol/*.bak
components/chmhelp/democontrol/units

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +0,0 @@
# File generated automatically by Lazarus Package Manager
#
# Makefile.fpc for cgiLaz 0.1.1
#
# This file was generated on 07/02/2010
[package]
name=cgilaz
version=0.1.1
[compiler]
unittargetdir=lib/$(CPU_TARGET)-$(OS_TARGET)/$(LCL_PLATFORM)
unitdir=../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/ ../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/$(LCL_PLATFORM)/ ../../packager/units/$(CPU_TARGET)-$(OS_TARGET)/ ./
includedir=./
options=-dLCL -dLCL$(LCL_PLATFORM) -MObjFPC -Scgi
[target]
units=cgilaz.pas
[clean]
files=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(PPUEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.lfm) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.res) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.compiled) \
$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
[prerules]
# LCL Platform
ifndef LCL_PLATFORM
ifeq ($(OS_TARGET),win32)
LCL_PLATFORM=win32
else
ifeq ($(OS_TARGET),win64)
LCL_PLATFORM=win32
else
ifeq ($(OS_TARGET),darwin)
LCL_PLATFORM=carbon
else
LCL_PLATFORM=gtk2
endif
endif
endif
endif
export LCL_PLATFORM
[rules]
.PHONY: cleartarget all
cleartarget:
-$(DEL) $(COMPILER_UNITTARGETDIR)/cgilaz$(PPUEXT)
all: cleartarget $(COMPILER_UNITTARGETDIR) cgilaz$(PPUEXT)

View File

@ -1,13 +0,0 @@
cgi
With the cgimodules.pas unit you can easily create cgi applications with
datamodules.
In the IDE sub directory you can find a design time package, which will install
some helpful IDE features like 'Simple CGI Application' and 'Simple CGI Module'.
Note that this package is deprecated in favour of the more advanced lazweb
package: that package supports Apache modules and CGI applications with a
unified structure, using a similar but more elaborate approach.
For very simple CGI programs, cgimodules is still suitable, though.

View File

@ -1,48 +0,0 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="3">
<Name Value="cgiLaz"/>
<Author Value="Mattias Gaertner"/>
<CompilerOptions>
<Version Value="5"/>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)"/>
</SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
<CreateMakefileOnBuild Value="True"/>
</Other>
</CompilerOptions>
<Description Value="cgi applications with data modules
"/>
<License Value="LGPL
"/>
<Version Minor="1" Release="1"/>
<Files Count="1">
<Item1>
<Filename Value="cgimodules.pas"/>
<UnitName Value="cgiModules"/>
</Item1>
</Files>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="1">
<Item1>
<PackageName Value="LCL"/>
</Item1>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@ -1,20 +0,0 @@
{ This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
}
unit cgiLaz;
interface
uses
cgiModules, LazarusPackageIntf;
implementation
procedure Register;
begin
end;
initialization
RegisterPackage('cgiLaz', @Register);
end.

View File

@ -1,158 +0,0 @@
{ Copyright (C) 2003 Michael Van Canneyt
*****************************************************************************
* *
* See the file COPYING.modifiedLGPL.txt, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
}
unit cgiModules;
{$mode objfpc}
{$H+}
interface
uses
Classes, SysUtils, cgiApp, LCLProc, LResources;
Type
TCGIDatamodule = Class(TDataModule)
private
FOnCGIRequest: TNotifyEvent;
function GetContentType: String;
procedure SetContentType(const AValue: String);
Protected
function GetResponse: TStream;
Public
procedure HandleRequest; virtual;
procedure EmitContentType; virtual;
procedure AddResponse(const Msg : String); virtual;
procedure AddResponseLn(const Msg : String); virtual;
procedure AddResponse(const Fmt : String; Args : Array of const); virtual;
procedure AddResponseLn(const Fmt : String; Args : Array of const); virtual;
property Response : TStream Read GetResponse;
Published
property OnCGIRequest : TNotifyEvent Read FOnCGIRequest Write FOnCGIRequest;
property ContentType : String Read GetContentType Write SetContentType;
end;
TCGIDataModuleClass = Class of TCGIDatamodule;
TModuledCGIApplication = Class(TCGIApplication)
private
FMainModule : TCGIDatamodule;
public
Procedure CreateForm(AClass: TCGIDataModuleClass;
Var Reference: TCGIDataModule);
Procedure DoRun; Override;
Property MainModule : TCGIDatamodule Read FMainModule;
end;
ECGIAppException = Class(Exception);
Var
Application : TModuledCGIApplication;
function InitResourceComponent(Instance: TComponent;
RootAncestor: TClass):Boolean;
implementation
ResourceString
SErrNoMainModule = 'No CGI datamodule to handle CGI request.';
SErrNoRequestHandler = '%s: No CGI request handler set.';
function InitResourceComponent(Instance: TComponent;
RootAncestor: TClass): Boolean;
begin
Result:=InitLazResourceComponent(Instance,RootAncestor);
end;
{ TModuledCGIApplication }
procedure TModuledCGIApplication.CreateForm(AClass: TCGIDataModuleClass;
Var Reference: TCGIDataModule);
begin
//debugln('TModuledCGIApplication.CreateForm ',AClass.CLassName);
Reference:=AClass.Create(Self);
If FMainModule=Nil then
FMainModule:=Reference;
end;
procedure TModuledCGIApplication.DoRun;
begin
if (FMainModule=Nil) then
Raise ECGIAppException.Create(SErrNoMainModule);
Try
FMainModule.HandleRequest;
Finally
Terminate;
end;
end;
{ TCGIDatamodule }
function TCGIDatamodule.GetContentType: String;
begin
Result:=Application.ContentType;
end;
procedure TCGIDatamodule.SetContentType(const AValue: String);
begin
Application.ContentType:=AValue;
end;
function TCGIDatamodule.GetResponse: TStream;
begin
If Assigned(Application) then
Result:=Application.Response;
end;
procedure TCGIDatamodule.HandleRequest;
begin
If Not Assigned(FOnCGIRequest) then
Raise ECGIAppException.CreateFmt(SErrNoRequestHandler,[Name]);
FOnCGIRequest(Self)
end;
procedure TCGIDatamodule.EmitContentType;
begin
Application.EmitContentType;
end;
procedure TCGIDatamodule.AddResponse(const Msg: String);
begin
Application.AddResponse(Msg);
end;
procedure TCGIDatamodule.AddResponseLn(const Msg: String);
begin
Application.AddResponseLn(Msg);
end;
procedure TCGIDatamodule.AddResponse(const Fmt: String;
Args: array of const);
begin
Application.AddResponse(Fmt,Args);
end;
procedure TCGIDatamodule.AddResponseLn(const Fmt: String;
Args: array of const);
begin
Application.AddResponseLn(Fmt,Args);
end;
Initialization
Application:=TModuledCGIApplication.Create(Nil);
RegisterInitComponentHandler(TComponent,@InitResourceComponent);
Finalization
Application.Free;
end.

View File

@ -1,56 +0,0 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="/"/>
<Version Value="6"/>
<General>
<SessionStorage Value="InIDEConfig"/>
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="1">
<Item1>
<PackageName Value="CGILaz"/>
</Item1>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="samplecgi.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="samplecgi"/>
</Unit0>
<Unit1>
<Filename Value="wmdump.pp"/>
<ComponentName Value="DemoModule"/>
<IsPartOfProject Value="True"/>
<ResourceFilename Value="wmdump.lrs"/>
<UnitName Value="wmdump"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
</CONFIG>

View File

@ -1,14 +0,0 @@
program samplecgi;
{$mode objfpc}{$H+}
uses
cgiModules, wmdump;
begin
Application:=TModuledCGIApplication.Create(nil);
Application.Initialize;
Application.CreateForm(TDemoModule, DemoModule);
Application.Run;
end.

View File

@ -1,10 +0,0 @@
object DemoModule: TDemoModule
OnCGIRequest = DemoModuleCGIRequest
ContentType = 'text/html'
left = 433
top = 309
Height = 0
HorizontalOffset = 0
VerticalOffset = 0
Width = 0
end

View File

@ -1,5 +0,0 @@
LazarusResources.Add('TDemoModule','FORMDATA',[
'TPF0'#11'TDemoModule'#10'DemoModule'#12'OnCGIRequest'#7#20'DemoModuleCGIRequ'
+'est'#11'ContentType'#6#9'text/html'#4'left'#3#177#1#3'top'#3'5'#1#6'Height'
+#2#0#16'HorizontalOffset'#2#0#14'VerticalOffset'#2#0#5'Width'#2#0#0#0
]);

View File

@ -1,127 +0,0 @@
unit wmdump;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, cgiModules;
type
{ TDemoModule }
TDemoModule = class(TCGIDatamodule)
procedure DemoModuleCGIRequest(Sender: TObject);
private
procedure EmitRequestVariables;
procedure EmitServerVariables;
{ private declarations }
public
{ public declarations }
procedure EmitVariable(Const VarName,VarValue : String);
end;
var
DemoModule: TDemoModule;
implementation
uses cgiapp;
{ TDemoModule }
{
The OnCGIRequest handler is called to handle the request
}
procedure TDemoModule.DemoModuleCGIRequest(Sender: TObject);
begin
// Emit content type (See ContentType property of the module)
EmitContentType;
// AddResponseLn sends one line of text to the web client.
AddResponseLn('<HTML>');
AddResponseLn('<TITLE>CGI Server environment</TITLE>');
AddResponseLn('<BODY>');
EmitServerVariables;
AddResponseLn('<HR/>');
EmitRequestVariables;
end;
procedure TDemoModule.EmitServerVariables;
begin
AddResponseLn('<H1>CGI Server environment:</H1>');
AddResponseLn('<TABLE>');
AddResponseLn('<TR><TH>Variable</TH><TH>Value</TH></TR>');
// Server environment is accessible as properties of the Application class.
// The same list can be retrieved as a name=value stringlist with the
// GetCGIVarList call.
EmitVariable('AuthType',Application.AuthType);
EmitVariable('ContentLength',IntToStr(Application.ContentLength));
EmitVariable('ContentType',Application.ContentType);
EmitVariable('GatewayInterface',Application.GatewayInterface);
EmitVariable('PathInfo',Application.PathInfo);
EmitVariable('PathTranslated',Application.PathTranslated);
EmitVariable('QueryString',Application.QueryString);
EmitVariable('RemoteAddress',Application.RemoteAddress);
EmitVariable('RemoteHost',Application.RemoteHost);
EmitVariable('RemoteIdent',Application.RemoteIdent);
EmitVariable('RemoteUser',Application.RemoteUser);
EmitVariable('RequestMethod',Application.RequestMethod);
EmitVariable('ScriptName',Application.ScriptName);
EmitVariable('ServerName',Application.ServerName);
EmitVariable('ServerPort',IntToStr(Application.ServerPort));
EmitVariable('ServerProtocol',Application.ServerProtocol);
EmitVariable('ServerSoftware',Application.ServerSoftware);
EmitVariable('HTTPAccept',Application.HTTPAccept);
EmitVariable('HTTPAcceptCharset',Application.HTTPAcceptCharset);
EmitVariable('HTTPAcceptEncoding',Application.HTTPAcceptEncoding);
EmitVariable('HTTPIfModifiedSince',Application.HTTPIfModifiedSince);
EmitVariable('HTTPReferer',Application.HTTPReferer);
EmitVariable('HTTPUserAgent',Application.HTTPUserAgent);
EmitVariable('Email',Application.Email);
EmitVariable('Administrator',Application.Administrator);
// EmitVariable('',Application.);
end;
procedure TDemoModule.EmitRequestVariables;
Var
L : TStringList;
I : Integer;
N,V : String;
begin
AddResponseLn('</TABLE>');
AddResponseLn('<H1>Query variables:</H1>');
AddResponseLn('<TR><TH>Variable</TH><TH>Value</TH></TR>');
L:=TStringList.Create;
try
// Retrieve parsed list of variables as name=value pairs
Application.GetRequestVarList(L,False);
For I:=0 to L.Count-1 do
begin
L.GetNameValue(I,N,V);
EmitVariable(N,V);
end;
// Alternatively,
// Application.RequestVariables[Varname : string] gives named acces to the variables
// Application.RequestvariableCount returns the number of variables.
finally
L.Free;
end;
AddResponseLn('</TABLE>');
end;
procedure TDemoModule.EmitVariable(const VarName, VarValue: String);
begin
AddResponseLn(Format('<TR><TD>%s</TD><TD>%s</TD></TR>',[VarName,VarValue]));
end;
initialization
{$I wmdump.lrs}
end.

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +0,0 @@
# File generated automatically by Lazarus Package Manager
#
# Makefile.fpc for CGILazIDE 0.0
#
# This file was generated on 02.07.2010
[package]
name=cgilazide
version=0.0
[compiler]
unittargetdir=lib/$(CPU_TARGET)-$(OS_TARGET)
unitdir=../lib/$(CPU_TARGET)-$(OS_TARGET)/$(LCL_PLATFORM)/ ../../../ideintf/units/$(CPU_TARGET)-$(OS_TARGET)/ ../../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/ ../../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/$(LCL_PLATFORM)/ ../../../packager/units/$(CPU_TARGET)-$(OS_TARGET)/ ./
includedir=./
options=-dLCL -dLCL$(LCL_PLATFORM) -MObjFPC -Scgi
[target]
units=cgilazide.pas
[clean]
files=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(PPUEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.lfm) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.res) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.compiled) \
$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
[prerules]
# LCL Platform
ifndef LCL_PLATFORM
ifeq ($(OS_TARGET),win32)
LCL_PLATFORM=win32
else
ifeq ($(OS_TARGET),win64)
LCL_PLATFORM=win32
else
ifeq ($(OS_TARGET),darwin)
LCL_PLATFORM=carbon
else
LCL_PLATFORM=gtk2
endif
endif
endif
endif
export LCL_PLATFORM
[rules]
.PHONY: cleartarget all
cleartarget:
-$(DEL) $(COMPILER_UNITTARGETDIR)/cgilazide$(PPUEXT)
all: cleartarget $(COMPILER_UNITTARGETDIR) cgilazide$(PPUEXT)

View File

@ -1,16 +0,0 @@
Package CGILazIDE
This package is a designtime package for the Lazarus IDE.
It adds a new project type and a new unit type to the IDE.
New Project Type:
CGI Application - A Free Pascal program for CGI
using TCgiApplication for the main source (normally hidden,
just like the .lpr file for a normal Application).
New Unit Type:
CGI Module - A unit with a TCGIDatamodule.

View File

@ -1,51 +0,0 @@
<?xml version="1.0"?>
<CONFIG>
<Package Version="3">
<Name Value="CGILazIDE"/>
<CompilerOptions>
<Version Value="8"/>
<SearchPaths>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Other>
<CompilerPath Value="$(CompPath)"/>
<CreateMakefileOnBuild Value="True"/>
</Other>
</CompilerOptions>
<Files Count="2">
<Item1>
<Filename Value="cgilazideintf.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="CGILazIDEIntf"/>
</Item1>
<Item2>
<Filename Value="README.txt"/>
<Type Value="Text"/>
</Item2>
</Files>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
</i18n>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="3">
<Item1>
<PackageName Value="IDEIntf"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="cgiLaz"/>
</Item3>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)/"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@ -1,21 +0,0 @@
{ This file was automatically created by Lazarus. Do not edit!
This source is only used to compile and install the package.
}
unit CGILazIDE;
interface
uses
CGILazIDEIntf, LazarusPackageIntf;
implementation
procedure Register;
begin
RegisterUnit('CGILazIDEIntf', @CGILazIDEIntf.Register);
end;
initialization
RegisterPackage('CGILazIDE', @Register);
end.

View File

@ -1,182 +0,0 @@
{ Copyright (C) 2004 Mattias Gaertner
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Abstract:
This unit adds a new project type and a new unit type to the IDE.
New Project Type:
CGI Application - A Free Pascal program for CGI
using TCgiApplication for the main source (normally hidden,
just like the .lpr file for a normal Application).
New Unit Type:
CGI Module - A unit with a TCGIDatamodule.
See the README file for more information.
}
unit CGILazIDEIntf;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, cgiApp, Controls, Forms, cgiModules,
LazIDEIntf, ProjectIntf, FormEditingIntf;
type
{ TCGIApplicationDescriptor }
TCGIApplicationDescriptor = class(TProjectDescriptor)
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;
{ TFileDescPascalUnitWithCGIDataModule }
TFileDescPascalUnitWithCGIDataModule = class(TFileDescPascalUnitWithResource)
public
constructor Create; override;
function GetInterfaceUsesSection: string; override;
function GetLocalizedName: string; override;
function GetLocalizedDescription: string; override;
end;
var
ProjectDescriptorCGIApplication: TCGIApplicationDescriptor;
FileDescriptorCGIModule: TFileDescPascalUnitWithCGIDataModule;
procedure Register;
implementation
resourcestring
lisdescription = 'Simple CGI Application%sA CGI (Common Gateway Interface) '
+'program in Free Pascal.%sThe application source is automatically maintained '
+'by Lazarus.%sThis kind of application is deprecated, for CGI programs '
+'or Apache modules, please use the LazWeb package instead.';
lisdescrmod = 'Simple CGI Module%sA datamodule for CGI applications.%sThis '
+'module is deprecated, please use the CGI module support of the LazWeb '
+'package instead.';
lissimplecgiapp = 'Simple CGI Application';
lissimplecgimod = 'Simple CGI Module';
procedure Register;
begin
FileDescriptorCGIModule:=TFileDescPascalUnitWithCGIDataModule.Create;
RegisterProjectFileDescriptor(FileDescriptorCGIModule);
ProjectDescriptorCGIApplication:=TCGIApplicationDescriptor.Create;
RegisterProjectDescriptor(ProjectDescriptorCGIApplication);
FormEditingHook.RegisterDesignerBaseClass(TCGIDataModule);
end;
{ TCGIApplicationDescriptor }
constructor TCGIApplicationDescriptor.Create;
begin
inherited Create;
Name:='Simple CGIApplication';
end;
function TCGIApplicationDescriptor.GetLocalizedName: string;
begin
Result:=lissimplecgiapp;
end;
function TCGIApplicationDescriptor.GetLocalizedDescription: string;
begin
Result:=Format(lisdescription,[#13#10,#13#10,#13#10]);
end;
function TCGIApplicationDescriptor.InitProject(AProject: TLazProject): TModalResult;
var
le: string;
NewSource: String;
MainFile: TLazProjectFile;
begin
inherited InitProject(AProject);
MainFile:=AProject.CreateProjectFile('cgiproject1.lpr');
MainFile.IsPartOfProject:=true;
AProject.AddFile(MainFile,false);
AProject.MainFileID:=0;
// create program source
le:=LineEnding;
NewSource:='program Project1;'+le
+le
+'{$mode objfpc}{$H+}'+le
+le
+'uses'+le
+' cgiModules;'+le
+le
+'begin'+le
+' Application:=TModuledCGIApplication.Create(nil);'+le
+' Application.Initialize;'+le
+' Application.Run;'+le
+'end.'+le
+le;
AProject.MainFile.SetSourceText(NewSource);
// add
AProject.AddPackageDependency('CGILaz');
// compiler options
AProject.LazCompilerOptions.Win32GraphicApp:=false;
Result:= mrOK;
end;
function TCGIApplicationDescriptor.CreateStartFiles(
AProject: TLazProject): TModalResult;
begin
if AProject=nil then ;
LazarusIDE.DoNewEditorFile(FileDescriptorCGIModule,'','',
[nfIsPartOfProject,nfOpenInEditor,nfCreateDefaultSrc]);
Result:= mrOK;
end;
{ TFileDescPascalUnitWithCGIDataModule }
constructor TFileDescPascalUnitWithCGIDataModule.Create;
begin
inherited Create;
Name:='SimpleCGIModule';
ResourceClass:=TCGIDataModule;
UseCreateFormStatements:=true;
end;
function TFileDescPascalUnitWithCGIDataModule.GetInterfaceUsesSection: string;
begin
Result:=inherited GetInterfaceUsesSection;
Result:=Result+',cgiModules';
end;
function TFileDescPascalUnitWithCGIDataModule.GetLocalizedName: string;
begin
Result:=lissimplecgimod;
end;
function TFileDescPascalUnitWithCGIDataModule.GetLocalizedDescription: string;
begin
Result:=Format(lisdescrmod,[#13#10,#13#10]);
end;
end.

View File

@ -1,27 +0,0 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Chronos <robie@centrum.cz>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgilazideintf.lisdescription
msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe application source is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgstr "Jednoduchá CGI aplikace%sCGI(Common Gateway Interface) program je Free Pascal.%sZdrojový kód aplikace je automaticky spravován Lazarusem.%sTento druh aplikace je zastaralý. Pro CGI programy nebo moduly Apache prosím použijte jako náhradu balíček LazWeb."
#: cgilazideintf.lisdescrmod
msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead."
msgstr "Jednoduchý CGI modul%sDatový modul pro CGI aplikace.%sTento modul je zastaralý. Jako náhradu prosíme použijte CGI modulovou podporu balíčku LazWeb."
#: cgilazideintf.lissimplecgiapp
msgid "Simple CGI Application"
msgstr "Jednoduchá CGI aplikace"
#: cgilazideintf.lissimplecgimod
msgid "Simple CGI Module"
msgstr "Jednoduchý CGI modul"

View File

@ -1,27 +0,0 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Swen Heinig <swen.heinig@freenet.de>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgilazideintf.lisdescription
msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe application source is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgstr ""
#: cgilazideintf.lisdescrmod
msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead."
msgstr ""
#: cgilazideintf.lissimplecgiapp
msgid "Simple CGI Application"
msgstr "Einfache CGI Anwendung"
#: cgilazideintf.lissimplecgimod
msgid "Simple CGI Module"
msgstr "Einfaches CGI Modul"

View File

@ -1,29 +0,0 @@
# Valdas Jankūnas <zmuogs@gmail.com>, 2010.
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Last-Translator: Valdas Jankūnas <zmuogs@gmail.com>\n"
"PO-Revision-Date: 2010-05-16 12:39+0300\n"
"Project-Id-Version: \n"
"Language-Team: Lietuvių <kde-i18n-lt@kde.org>\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.0\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"
#: cgilazideintf.lisdescription
msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe application source is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgstr "Paprasta CGI programa%sCGI (Common Gateway Interface) programa, parašyta Free Pascal kalba.%sLazarus automatiškai rūpinsis šios programos pirminiu kodu.%sCGI programoms ar Apache moduliams šio tipo programa nebenaudotina, vietoj jos naudokite paketą LazWeb."
#: cgilazideintf.lisdescrmod
msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead."
msgstr "Paprastas CGI modulis%sCGI programų duomenų modulis.%sŠis modulis nebenaudotinas, vietoj jo naudokite LazWeb paketo CGI modulį."
#: cgilazideintf.lissimplecgiapp
msgid "Simple CGI Application"
msgstr "Paprasta CGI programa"
#: cgilazideintf.lissimplecgimod
msgid "Simple CGI Module"
msgstr "Paprastas CGI modulis"

View File

@ -1,29 +0,0 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Marcelo Borges de Paula\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgilazideintf.lisdescription
#| msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe program file is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe application source is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgstr "Aplicação CGI Simples%sUm programa CGI (Common Gateway Interface) em Free Pascal.%sO fonte do programa é mantido automaticamente pelo Lazarus.%sEste tipo de aplicação está depreciada, para programas CGI ou módulos Apache, favor usar o pacote LazWeb."
#: cgilazideintf.lisdescrmod
#| msgid "Simple CGI Module%sA datamodule for CGI applications.This module is deprecated, please use the CGI module support of the lazweb package instead"
msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead."
msgstr "Módulo CGI Simples%sUm \"datamodule\" para aplicações CGI.%sEste módulo está depreciado, favor usar o suporte a módulos CGI do pacote LazWeb."
#: cgilazideintf.lissimplecgiapp
msgid "Simple CGI Application"
msgstr "Aplicação CGI Simples"
#: cgilazideintf.lissimplecgimod
msgid "Simple CGI Module"
msgstr "Módulo CGI Simples"

View File

@ -1,19 +0,0 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: cgilazideintf.lisdescription
msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe application source is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgstr ""
#: cgilazideintf.lisdescrmod
msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead."
msgstr ""
#: cgilazideintf.lissimplecgiapp
msgid "Simple CGI Application"
msgstr ""
#: cgilazideintf.lissimplecgimod
msgid "Simple CGI Module"
msgstr ""

View File

@ -1,29 +0,0 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Maxim Ganetsky <maxkill@mail.ru>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgilazideintf.lisdescription
#| msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe program file is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgid "Simple CGI Application%sA CGI (Common Gateway Interface) program in Free Pascal.%sThe application source is automatically maintained by Lazarus.%sThis kind of application is deprecated, for CGI programs or Apache modules, please use the LazWeb package instead."
msgstr "Простое приложение CGI%sПрограмма CGI (Common Gateway Interface) на Free Pascal.%sИсходный код приложения автоматически поддерживается Lazarus.%sЭтот тип приложений устарел. Вместо него, для создания программ CGI или модулей Apache, следует пользоваться пакетом LazWeb."
#: cgilazideintf.lisdescrmod
#| msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead"
msgid "Simple CGI Module%sA datamodule for CGI applications.%sThis module is deprecated, please use the CGI module support of the LazWeb package instead."
msgstr "Простой модуль CGI%sМодуль данных для приложений CGI.%sЭтот модуль устарел. Вместо него следует использовать средства поддержки модулей CGI пакета LazWeb."
#: cgilazideintf.lissimplecgiapp
msgid "Simple CGI Application"
msgstr "Простое приложение CGI"
#: cgilazideintf.lissimplecgimod
msgid "Simple CGI Module"
msgstr "Простой модуль CGI"

View File

@ -1 +0,0 @@
Output directory of package cgilazide

View File

@ -1,20 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2010-07-13 12:55+0100\n"
"Last-Translator: Chronos <robie@centrum.cz>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Czech\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "Nenalezen CGI data modul pro obsluhu CGI požadavků."
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: Nenastava obsluha pro CGI požadavky."

View File

@ -1,19 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2008-09-03 22:25+0100\n"
"Last-Translator: Joerg Braun <jb@toolbox-mag.de>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "Kein CGI-Datenmodul, um CGI-Anfrage zu bearbeiten."
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: Kein CGI-Abfrage-Handler gesetzt."

View File

@ -1,19 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: Lazarus 1.x\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2007-09-22 01:16+0700\n"
"Last-Translator: Zaenal Mutaqin <ade999@gmail.com>\n"
"Language-Team: Indonesian <ade999@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "Tidak ada modul data CGI untuk menangani permintaan CGI"
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: Tidak ada set pengendali permintaan CGI."

View File

@ -1,20 +0,0 @@
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Valdas Jankūnas <skroblas@erdves.lt>\n"
"PO-Revision-Date: 2008-06-12 21:20+0300\n"
"Project-Id-Version: cgimodules\n"
"Language-Team: Lithuanian\n"
"X-Generator: KBabel 1.11.4\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"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "Nėra CGI „DataModule“ kad būtų galima apdoroti CGI užklausą."
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: nenurodyta CGI užklausų tvarkyklė."

View File

@ -1,14 +0,0 @@
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "Nenhum datamodule de CGI para manipular o CGI request."
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: Nenhum manipulador de CGI request configurado."

View File

@ -1,21 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: cgimodules\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2007-01-13 23:53+0100\n"
"Last-Translator: AlbercikCD\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: POLAND\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr ""
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr ""

View File

@ -1,14 +0,0 @@
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr ""
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr ""

View File

@ -1,19 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2007-01-21 19:58+0300\n"
"Last-Translator: Maxim Ganetsky <maxkill@mail.ru>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "Отсутствует модуль данных CGI для обработки запроса CGI."
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: Не установлен обработчик запроса CGI."

View File

@ -1,22 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: 0.9.27 beta\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2009-04-24 19:20+0800\n"
"Last-Translator: XY.Chen <chenxinyv@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Chinese\n"
"X-Poedit-Country: CHINA\n"
"X-Poedit-SourceCharset: utf-8\n"
#: cgimodules.serrnomainmodule
msgid "No CGI datamodule to handle CGI request."
msgstr "没有CGI数据模块处理CGI请求"
#: cgimodules.serrnorequesthandler
msgid "%s: No CGI request handler set."
msgstr "%s: 找不到CGI请求处理设置。"

View File

@ -1 +0,0 @@
Output directory of package cgilaz

View File

@ -59,8 +59,7 @@ uses
{$ENDIF}
{$IFDEF BigIDE}
RunTimeTypeInfoControls, Printer4Lazarus, Printers4LazIDE,
CGILaz, CGILazIDE,
MemDSLaz, SDFLaz,
MemDSLaz, SDFLaz,
TurboPowerIPro, {$ifdef UseTurbopowerInHelp}TurboPowerIProDsgn,{$endif}
{$ifdef UseJCF}jcfidelazarus,{$endif}
{$ifdef UseCHMHelp}chmhelppkg,{$endif}