FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt,
FireDAC.Comp.DataSet, FireDAC.Comp.Client, FireDAC.UI.Intf, FireDAC.Stan.Def,
FireDAC.Stan.Pool, FireDAC.Phys, FireDAC.Phys.FB, FireDAC.Phys.FBDef,
- FireDAC.Phys.MySQL, FireDAC.Phys.MySQLDef;
+ FireDAC.Phys.MySQL, FireDAC.Phys.MySQLDef, FireDAC.VCLUI.Wait,
+ FireDAC.Comp.UI;
type
TWebModule1 = class(TWebModule)
login: TPageProducer;
footer: TPageProducer;
FDTable3mente: TBooleanField;
+ FDGUIxWaitCursor1: TFDGUIxWaitCursor;
procedure indexHTMLTag(Sender: TObject; Tag: TTag; const TagString: string;
TagParams: TStrings; var ReplaceText: string);
procedure WebModule1indexpageAction(Sender: TObject; Request: TWebRequest;
TagParams: TStrings; var ReplaceText: string);
procedure css1HTMLTag(Sender: TObject; Tag: TTag; const TagString: string;
TagParams: TStrings; var ReplaceText: string);
+ procedure WebModule1usrdelAction(Sender: TObject; Request: TWebRequest;
+ Response: TWebResponse; var Handled: Boolean);
private
{ private \90é\8c¾ }
ss: TStringList;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
var
s: TStringList;
- i, j: Integer;
+ i: Integer;
begin
if (TagString = 'plus') and (alert.Tag = 0) then
ReplaceText := '<a href=' + Request.ScriptName +
'/jump?db=<#dbname>&num=<#posnum>>[ <#dbname>-<#posnum> ]</a>'
else if TagString = 'article' then
begin
- i := FDTable4.FieldByName('dbname').AsInteger;
- j := FDTable4.FieldByName('posnum').AsInteger;
- if FDTable2.Locate('dbnum;number', VarArrayOf([i, j])) = false then
+ if alert.Tag = 1 then
begin
ReplaceText := '<p>\83\8a\83N\83G\83X\83g';
Exit;
procedure TWebModule1.loginHTMLTag(Sender: TObject; Tag: TTag;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
var
- i: integer;
+ i: Integer;
begin
if TagString = 'pr' then
ReplaceText := promotion
procedure TWebModule1.masterHTMLTag(Sender: TObject; Tag: TTag;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
var
- i: Integer;
+ i, j: Integer;
begin
if TagString = 'pr' then
ReplaceText := promotion
else if TagString = 'uri' then
ReplaceText := Request.ScriptName
else if TagString = 'request' then
+ begin
+ FDTable1.Close;
with FDTable4 do
begin
First;
while Eof = false do
begin
- if FieldByName('posnum').AsInteger = -1 then
- alert.Tag := 1
+ i := FieldByName('dbname').AsInteger;
+ j := FieldByName('posnum').AsInteger;
+ if FDTable2.Locate('dbnum;number', VarArrayOf([i, j])) = true then
+ alert.Tag := 0
else
- alert.Tag := 0;
+ alert.Tag := 1;
ReplaceText := ReplaceText + alert.ContentFromString(alert.Content);
Next;
end;
ReplaceText := '<table border=1 align=center>' + ReplaceText +
'</table>';
end;
+ FDTable1.Open;
+ FDTable1.Refresh;
+ end;
end;
function TWebModule1.mente: Boolean;
if Request.MethodType = mtGet then
begin
FDTable1.Locate('dbnum', num1);
- FDTable2.Locate('number', num2, []);
+ FDTable2.Locate('number', num2);
Response.ContentType := 'text/html;charset=utf-8';
Response.Content := mail.Content;
end
s := '(No Comment)';
AppendRecord([i, num1, num2, Now, s]);
end;
- Response.SendRedirect(Format('%s/index?db=%d&num=%d#%d',
- [Request.ScriptName, num1, num2, num2]))
+ WebModule1jumpAction(nil, Request, Response, Handled);
end;
end;
begin
with FDTable5 do
begin
- s := Request.ContentFields.Values['name'];
+ s := Request.QueryFields.Values['name'];
Response.ContentType := 'image/jpeg';
if Locate('name', s) = true then
begin
begin
DB := Request.QueryFields.Values['db'];
s := Request.QueryFields.Values['num'];
+ if s = '' then
+ s := Request.ContentFields.Values['num'];
i := 10;
pages(s.ToInteger, i);
Response.SendRedirect(Format('%s/index?db=%s&num=%d#%s', [Request.ScriptName,
s := Request.ContentFields.Values['record'];
v := FDTable1.Lookup('database', s, 'dbnum');
t := hash(Request.ContentFields.Values['password']);
- if (VarIsNull(v) = false) and (hash(t) = FDTable3.FieldByName('password').AsString)
- then
+ if (VarIsNull(v) = false) and (hash(t) = FDTable3.FieldByName('password')
+ .AsString) then
begin
with Response.Cookies.Add do
begin
end
else if VarIsNull(v) = false then
begin
- t:=v;
- Response.SendRedirect(Request.ScriptName+'/login?db='+t);
+ t := v;
+ Response.SendRedirect(Request.ScriptName + '/login?db=' + t);
end
else
- Response.SendRedirect(Request.ScriptName+'/login');
+ Response.SendRedirect(Request.ScriptName + '/login');
end;
procedure TWebModule1.WebModule1logoutAction(Sender: TObject;
if Request.MethodType = mtPost then
begin
s := Request.ContentFields.Values['delete'];
- if s = 'all' then
- with FDTable4 do
- repeat
- Delete;
- until (Bof = true) and (Eof = true)
+ with FDTable4 do
+ if s = 'all' then
+ while not (Bof = true) and (Eof = true) do
+ Delete
else
begin
- FDTable4.First;
- while FDTable4.Eof = false do
+ First;
+ while Eof = false do
begin
- i := FDTable4.FieldByName('dbname').AsInteger;
+ i := FieldByName('dbname').AsInteger;
if FDTable1.Locate('dbnum', i) = true then
begin
- i := FDTable4.FieldByName('posnum').AsInteger;
+ i := FieldByName('posnum').AsInteger;
if FDTable2.Locate('number', i) = false then
- FDTable4.Delete
+ Delete
else
- FDTable4.Next;
+ Next;
end
else
- FDTable4.Delete;
+ Delete;
end;
end;
end;
Response.Content := top.ContentFromString(top.Content);
end;
+procedure TWebModule1.WebModule1usrdelAction(Sender: TObject;
+ Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
+var
+ s, t, p: string;
+begin
+ s := Request.QueryFields.Values['db'];
+ t := Request.ContentFields.Values['num'];
+ p := Request.ContentFields.Values['password'];
+ if FDTable2.Locate('dbnum;number;pass',
+ VarArrayOf([s.ToInteger, t.ToInteger, p])) = true then
+ FDTable2.Delete;
+ WebModule1indexpageAction(nil, Request, Response, Handled);
+end;
+
procedure TWebModule1.WebModuleCreate(Sender: TObject);
var
i: Integer;