123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- unit wmusers;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, HTTPDefs, websession, fpHTTP, fpWeb,
- IBConnection, sqldb, fpwebdata, extjsjson, extjsxml, sqldbwebdata;
- type
- { TFPWebProviderDataModule1 }
- TFPWebProviderDataModule1 = class(TFPWebProviderDataModule)
- ExtJSJSONDataFormatter1: TExtJSJSONDataFormatter;
- ExtJSJSonWebdataInputAdaptor1: TExtJSJSonWebdataInputAdaptor;
- ExtJSXMLDataFormatter1: TExtJSXMLDataFormatter;
- ExtJSXMLWebdataInputAdaptor1: TExtJSXMLWebdataInputAdaptor;
- IBConnection1: TIBConnection;
- ANAME: TSQLDBWebDataProvider;
- QGetID: TSQLQuery;
- SQLQuery1: TSQLQuery;
- SQLTransaction1: TSQLTransaction;
- procedure ANAMEGetNewID(Sender: TObject; out AID: String);
- procedure DataModuleCreate(Sender: TObject);
- procedure DataModuleGetContentProducer(Sender: TObject;
- var AContentProducer: TCustomHTTPDataContentProducer);
- procedure DataModuleGetInputAdaptor(Sender: TObject;
- var AInputAdaptor: TCustomWebdataInputAdaptor);
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- FPWebProviderDataModule1: TFPWebProviderDataModule1;
- implementation
- {$R *.lfm}
- uses inifiles;
- { TFPWebProviderDataModule1 }
- procedure TFPWebProviderDataModule1.DataModuleGetContentProducer(
- Sender: TObject; var AContentProducer: TCustomHTTPDataContentProducer);
- begin
- If Request.QueryFields.values['format']='xml' then
- AContentProducer:=ExtJSXMLDataFormatter1;
- end;
- procedure TFPWebProviderDataModule1.DataModuleCreate(Sender: TObject);
- Var
- FN : String;
- Ini : TMemIniFile;
- begin
- FN:=ChangeFileExt(Paramstr(0),'.ini');
- If FileExists(FN) then
- begin
- Ini:=TMemIniFile.Create(FN);
- try
- With IBConnection1 do
- begin
- DatabaseName:=Ini.ReadString('Database','Path',DatabaseName);
- UserName:=Ini.ReadString('Database','UserName',UserName);
- Password:=Ini.ReadString('Database','Password',Password);
- end;
- finally
- Ini.Free;
- end;
- end;
- IBConnection1.Connected:=True;
- end;
- procedure TFPWebProviderDataModule1.ANAMEGetNewID(Sender: TObject; out
- AID: String);
- begin
- With QGetID Do
- begin
- Close;
- Open;
- try
- if (EOF and BOF) then
- Raise Exception.Create('No ID generated');
- AID:=Fields[0].AsString;
- finally
- Close;
- end;
- end;
- end;
- procedure TFPWebProviderDataModule1.DataModuleGetInputAdaptor(Sender: TObject;
- var AInputAdaptor: TCustomWebdataInputAdaptor);
- begin
- If Request.QueryFields.values['format']='xml' then
- AInputAdaptor:=ExtJSXMLWebdataInputAdaptor1;
- end;
- initialization
- RegisterHTTPModule('Provider', TFPWebProviderDataModule1);
- end.
|