/components/fpweb/demo/fptemplate/simpletemplate/apache/webmodule.pas

http://github.com/graemeg/lazarus · Pascal · 61 lines · 38 code · 16 blank · 7 comment · 2 complexity · 0e074e8dd728d3ca43161e50319f4bbd MD5 · raw file

  1. unit webmodule;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, FileUtil, LResources, HTTPDefs, websession, fpHTTP, fpWeb;
  6. type
  7. { TFPWebModule1 }
  8. TFPWebModule1 = class(TFPWebModule)
  9. procedure func1callRequest(Sender: TObject; ARequest: TRequest;
  10. AResponse: TResponse; var Handled: Boolean);
  11. private
  12. { private declarations }
  13. procedure func1callReplaceTag(Sender: TObject; const TagString:String;
  14. TagParams: TStringList; Out ReplaceText: String);
  15. public
  16. { public declarations }
  17. end;
  18. var
  19. FPWebModule1: TFPWebModule1;
  20. implementation
  21. { TFPWebModule1 }
  22. procedure TFPWebModule1.func1callRequest(Sender: TObject; ARequest: TRequest;
  23. AResponse: TResponse; var Handled: Boolean);
  24. begin
  25. Template.FileName := 'mytemplate1.html';
  26. Template.AllowTagParams := true;
  27. Template.OnReplaceTag := @func1callReplaceTag;
  28. AResponse.Content := Template.GetContent;
  29. Handled := true;
  30. end;
  31. procedure TFPWebModule1.func1callReplaceTag(Sender: TObject; const TagString:
  32. String; TagParams: TStringList; Out ReplaceText: String);
  33. begin
  34. if AnsiCompareText(TagString, 'TagName1') = 0 then
  35. begin
  36. ReplaceText := 'Here I am from the web module!';
  37. end else begin
  38. //Not found value for tag -> TagString
  39. ReplaceText := 'Template tag {' + TagString + '} is not implemented yet.';
  40. end;
  41. end;
  42. initialization
  43. {$I webmodule.lrs}
  44. RegisterHTTPModule('TFPWebModule1', TFPWebModule1);
  45. end.