| 12 |
|
|
| 13 |
type |
type |
| 14 |
TWebModule1 = class(TWebModule) |
TWebModule1 = class(TWebModule) |
|
FDConnection1: TFDConnection; |
|
| 15 |
FDTable2: TFDTable; |
FDTable2: TFDTable; |
| 16 |
FDTable2home: TWideMemoField; |
FDTable2home: TWideMemoField; |
| 17 |
FDTable2title: TWideMemoField; |
FDTable2title: TWideMemoField; |
| 34 |
FDTable1com: TWideMemoField; |
FDTable1com: TWideMemoField; |
| 35 |
FDTable1pass: TWideMemoField; |
FDTable1pass: TWideMemoField; |
| 36 |
FDTable1line: TIntegerField; |
FDTable1line: TIntegerField; |
| 37 |
|
FDConnection1: TFDConnection; |
| 38 |
procedure WebModule1DefaultHandlerAction(Sender: TObject; |
procedure WebModule1DefaultHandlerAction(Sender: TObject; |
| 39 |
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); |
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); |
| 40 |
procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag; |
procedure PageProducer1HTMLTag(Sender: TObject; Tag: TTag; |
| 336 |
if Request.Query = 'del' then |
if Request.Query = 'del' then |
| 337 |
begin |
begin |
| 338 |
addcookie(-3, ''); |
addcookie(-3, ''); |
| 339 |
Response.SendRedirect(FDTable2.FieldByName('home').AsAnsiString + '/index'); |
Response.SendRedirect(FDTable2.FieldByName('home').AsAnsiString + '/'); |
| 340 |
Exit; |
Exit; |
| 341 |
end; |
end; |
| 342 |
x := True; |
x := True; |
| 416 |
end |
end |
| 417 |
else if FileExists(s) = True then |
else if FileExists(s) = True then |
| 418 |
begin |
begin |
|
FDConnection1.Open('Database=' + s + |
|
|
';LockingMode=Normal;DriverID=SQLite;'); |
|
|
FDTable1.Open; |
|
|
FDTable2.Open; |
|
|
FDTable3.Open; |
|
| 419 |
Handled := false; |
Handled := false; |
| 420 |
with Response.Cookies.Add do |
with Response.Cookies.Add do |
| 421 |
begin |
begin |
| 424 |
Expires := Now + 1; |
Expires := Now + 1; |
| 425 |
Value := s; |
Value := s; |
| 426 |
end; |
end; |
| 427 |
|
FDConnection1.Open('Database=' + s + ';LockingMode=Normal;DriverID=SQLite'); |
| 428 |
|
FDTable1.Open; |
| 429 |
|
FDTable2.Open; |
| 430 |
|
FDTable3.Open; |
| 431 |
end; |
end; |
| 432 |
end; |
end; |
| 433 |
|
|
| 472 |
Response.Content := PageProducer1.ContentFromStream(s); |
Response.Content := PageProducer1.ContentFromStream(s); |
| 473 |
finally |
finally |
| 474 |
s.Free; |
s.Free; |
| 475 |
|
t.Free; |
| 476 |
end; |
end; |
| 477 |
end; |
end; |
| 478 |
|
|
| 685 |
m: TResourceStream; |
m: TResourceStream; |
| 686 |
s: string; |
s: string; |
| 687 |
begin |
begin |
| 688 |
s:=Request.CookieFields.Values['db']; |
s := Request.CookieFields.Values['db']; |
| 689 |
if s = '' then |
if (FDConnection1.Connected = false) or |
| 690 |
FDConnection1.Open('Database=data.sdb;LockingMode=Normal;DriverID=SQLite') |
(s <> FDConnection1.Params.Values['DataBase']) then |
| 691 |
else |
begin |
| 692 |
FDConnection1.Open('Database='+s+';LockingMode=Normal;DriverID=SQLite'); |
if (s <> '') and (s <> FDConnection1.Params.Values['DataBase']) then |
| 693 |
|
FDConnection1.Open('Database=' + s + |
| 694 |
|
';LockingMode=Normal;DriverID=SQLite') |
| 695 |
|
else |
| 696 |
|
FDConnection1.Open |
| 697 |
|
('Database=data.sdb;LockingMode=Normal;DriverID=SQLite'); |
| 698 |
|
end; |
| 699 |
if FDTable1.Exists = false then |
if FDTable1.Exists = false then |
| 700 |
FDTable1.CreateTable(false, [tpTable]); |
FDTable1.CreateTable(false, [tpTable]); |
| 701 |
if FDTable2.Exists = false then |
if FDTable2.Exists = false then |
| 702 |
begin |
begin |
| 703 |
FDTable2.CreateTable(false, [tpTable]); |
FDTable2.CreateTable(false, [tpTable]); |
| 704 |
FDTable2.Active := True; |
FDTable2.Open; |
| 705 |
FDTable2.AppendRecord([Request.ScriptName, 'pbbs clone', |
FDTable2.AppendRecord([Request.ScriptName, 'pbbs clone', |
| 706 |
'<h1 style=font-family:Verdana;color:gray;font-weight:bold;text-align:center>P-BBS CLONE</h1>', |
'<h1 style=font-family:Verdana;color:gray;font-weight:bold;text-align:center>P-BBS CLONE</h1>', |
| 707 |
'admin', 'あほ,ばか,死ね,<style,<script,<link', false]); |
'admin', 'あほ,ばか,死ね,<style,<script,<link', false]); |
| 715 |
end; |
end; |
| 716 |
Handled := True; |
Handled := True; |
| 717 |
end |
end |
| 718 |
else |
else if FDTable2.Active = false then |
| 719 |
FDTable2.Active := True; |
FDTable2.Open; |
| 720 |
if FDTable3.Exists = false then |
if FDTable3.Exists = false then |
| 721 |
begin |
begin |
| 722 |
FDTable3.CreateTable(false, [tpTable]); |
FDTable3.CreateTable(false, [tpTable]); |
| 723 |
FDTable3.Active := True; |
FDTable3.Open; |
| 724 |
FDTable3.AppendRecord([5, 20, 500]); |
FDTable3.AppendRecord([5, 20, 500]); |
| 725 |
end |
end |
| 726 |
else |
else if FDTable3.Active = false then |
| 727 |
FDTable3.Active := True; |
FDTable3.Open; |
| 728 |
words.DelimitedText := FDTable2.FieldByName('ngwords').AsString; |
words.DelimitedText := FDTable2.FieldByName('ngwords').AsString; |
| 729 |
FDTable1.Active := True; |
if FDTable1.Active = false then |
| 730 |
|
FDTable1.Open; |
| 731 |
{ |
{ |
| 732 |
t:=''; |
t:=''; |
| 733 |
ssl:=TStringList.Create; |
ssl:=TStringList.Create; |