├── LICENSE
├── README.md
├── add.cfg
├── add.dof
├── add.dpr
├── add.dsk
├── add.txt
├── adduser.bat
├── adduser.cfg
├── adduser.dof
├── adduser.dpr
├── arabut.gif
├── common.pas
├── dele.cfg
├── dele.dof
├── dele.dpr
├── deneme.cfg
├── deneme.dof
├── deneme.dpr
├── deneme.dsk
├── deploy.bat
├── dict.txt
├── eksi.html
├── hede.pas
├── index.cfg
├── index.dof
├── index.dpr
├── index.dsk
├── index.txt
├── mailfail.txt
├── mailsuc.txt
├── sendmail.cfg
├── sendmail.dof
├── sendmail.dpr
├── show.txt
├── sozluk.html
├── sozlukk.gif
├── under.html
├── user.txt
├── view.cfg
├── view.dof
├── view.dpr
└── yolbut.gif
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) 1999 Sedat Kapanoglu
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5 |
6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7 |
8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | About
2 | =====
3 | This is the earliest snapshot for the source code of [Eksi Sozluk](https://eksisozluk.com) as of May 1999, three months after the site was launched. It was my first attempt on developing an interactive web application. It turned out to be quite popular.
4 |
5 | It kept the dictionary data in a plain text file (`dict.txt`). The original file from the backups was 2MB long, I had to trim it. You should still be able to run this code with existing stuff.
6 |
7 | I also emptied the user database in `user.txt` to protect people's
8 | privacy. One should still be able to add entries with username:`dummy` password: `dummy`.
9 |
10 | It surprised me to find out that I had developed a primitive templating mechanism despite that I had never seen one at the time. So the common sense is universal I guess. The text file was a terrible choice but it worked out fine until I converted the database to MS Access when I converted the code to VBScript.
11 |
12 | The names `show.txt` and `index.exe` had lived in Eksi Sozluk code even after as `show.asp` and `index.asp`. The "left frame" in Eksi Sozluk code today is still called "the index".
13 |
14 | Changes
15 | =======
16 | A couple of users have contributed helper scripts to allow building of the code today. I decided to keep them since they didn't modify the existing code.
17 |
18 | License
19 | =======
20 | MIT License. See `LICENSING` file for details.
--------------------------------------------------------------------------------
/add.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I-
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cg
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 |
--------------------------------------------------------------------------------
/add.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=0
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 | [Linker]
32 | MapFile=0
33 | OutputObjs=0
34 | ConsoleApp=1
35 | DebugInfo=0
36 | RemoteSymbols=0
37 | MinStackSize=16384
38 | MaxStackSize=1048576
39 | ImageBase=4194304
40 | ExeDescription=SSG '99
41 | [Directories]
42 | OutputDir=
43 | UnitOutputDir=
44 | PackageDLLOutputDir=
45 | PackageDCPOutputDir=
46 | SearchPath=
47 | Packages=VCL40;VCLX40;VCLDB40;VCLDBX40;VCLSMP40;QRPT40;TEEUI40;TEEDB40;TEE40;ibevnt40;nmfast40
48 | Conditionals=
49 | DebugSourceDirs=
50 | UsePackages=0
51 | [Parameters]
52 | RunParams=
53 | HostApplication=
54 | [Version Info]
55 | IncludeVerInfo=0
56 | AutoIncBuild=0
57 | MajorVer=1
58 | MinorVer=0
59 | Release=0
60 | Build=0
61 | Debug=0
62 | PreRelease=0
63 | Special=0
64 | Private=0
65 | DLL=0
66 | Locale=1033
67 | CodePage=1252
68 | [Version Info Keys]
69 | CompanyName=
70 | FileDescription=
71 | FileVersion=1.0.0.0
72 | InternalName=
73 | LegalCopyright=
74 | LegalTrademarks=
75 | OriginalFilename=
76 | ProductName=
77 | ProductVersion=1.0.0.0
78 | Comments=
79 |
--------------------------------------------------------------------------------
/add.dpr:
--------------------------------------------------------------------------------
1 | uses
2 |
3 | Classes, Common, SysUtils, Windows;
4 |
5 | var
6 | T:TFileStream;
7 | F:TextFile;
8 | queryword,word,nick,desc,password,realpass:string;
9 | n:integer;
10 | msg:string;
11 | s:string;
12 | begin
13 | queryword := '';
14 | word := getValue('word');
15 | nick := getValue('nick');
16 | desc := getValue('desc');
17 | password := getvalue('password');
18 | normalizeword(word);
19 | realpass := GetUserPass(nick);
20 | if (desc='') or (nick='') or (word='') or (realpass='') or (realpass <> password) then begin
21 | msg := 'OLMAZ SENiN i$iN!'
22 | end else begin
23 | T := TFileStream.Create(dictFile,fmOpenWrite);
24 | T.Position := T.Size;
25 | msg := '~'+word + #13#10 + nick + #13#10 + DateToStr(Now)+' '+getenv('REMOTE_ADDR') + #13#10 +
26 | desc + #13#10;
27 | T.Write(msg[1],System.length(msg));
28 | T.Free;
29 | msg := 'EKLEDiM!';
30 | CloseFile(F);
31 | end;
32 | AssignFile(F,addTemplateFile);
33 | Reset(F);
34 | while not Eof(F) do begin
35 | readln(F,s);
36 | s := Replace(s,'%msg',msg);
37 | s := Replace(s,'%queryword',Translate(word,' ','+'));
38 | writeln(s);
39 | end;
40 | CloseFile(F);
41 | end.
42 |
--------------------------------------------------------------------------------
/add.dsk:
--------------------------------------------------------------------------------
1 | [Main Window]
2 | Create=1
3 | Visible=1
4 | State=0
5 | Left=0
6 | Top=0
7 | Width=1018
8 | Height=105
9 | MaxLeft=-1
10 | MaxTop=-1
11 | ClientWidth=1010
12 | ClientHeight=78
13 |
14 | [ProjectManager]
15 | Create=1
16 | Visible=1
17 | State=0
18 | Left=7
19 | Top=140
20 | Width=212
21 | Height=686
22 | MaxLeft=-1
23 | MaxTop=-1
24 | ClientWidth=204
25 | ClientHeight=662
26 | TBDockHeight=539
27 | LRDockWidth=213
28 | Dockable=1
29 |
30 | [Closed Files]
31 | File_0=SourceModule,'C:\delphi4\Logan\tools.pas',0,1,1,1,7,0,0
32 | File_1=SourceModule,'C:\delphi4\Logan\mainfrm.pas',0,1,233,42,260,0,0
33 | File_2=SourceModule,'C:\delphi4\Logan\types.pas',0,1,340,5,365,0,0
34 | File_3=SourceModule,'\\Blackwind\agr\ip_misc.pas',0,1,836,20,867,0,0
35 | File_4=SourceModule,'C:\delphi4\Source\Rtl\Win\winsock.pas',0,1,901,21,927,0,0
36 | File_5=SourceModule,'\\Blackwind\agr\aggtools.pas',0,1,66,20,111,0,0
37 | File_6=SourceModule,'C:\delphi4\Logan\ex9901.log',0,1,7761,1,7786,0,0
38 | File_7=SourceModule,'C:\delphi4\Logan\ex9902.log',0,1,1,1,1,0,0
39 | File_8=SourceModule,'\\Blackwind\agr\traceunit.pas',0,1,148,24,185,1,0
40 |
41 | [Modules]
42 | Module0=C:\inet\httpd\Cgi-Bin\add.dpr
43 | Module1=C:\inet\httpd\Cgi-Bin\add.txt
44 | Count=2
45 | EditWindowCount=1
46 |
47 | [C:\inet\httpd\Cgi-Bin\add.dpr]
48 | ModuleType=SourceModule
49 | FormState=0
50 | FormOnTop=0
51 |
52 | [C:\inet\httpd\Cgi-Bin\add.txt]
53 | ModuleType=SourceModule
54 | FormState=0
55 | FormOnTop=0
56 |
57 | [C:\delphi4\projects\ProjectGroup1.bpg]
58 | FormState=0
59 | FormOnTop=0
60 |
61 | [EditWindow0]
62 | CodeExplorer=CodeExplorer@EditWindow0
63 | MessageView=MessageView@EditWindow0
64 | Create=1
65 | Visible=1
66 | State=0
67 | Left=200
68 | Top=126
69 | Width=783
70 | Height=542
71 | MaxLeft=-1
72 | MaxTop=-1
73 | ClientWidth=775
74 | ClientHeight=515
75 | LeftPanelSize=0
76 | LeftPanelClients=CodeExplorer@EditWindow0
77 | LeftPanelData=00000400010000000C000000436F64654578706C6F7265720000000000000000000000000000000000FFFFFFFF
78 | RightPanelSize=0
79 | BottomPanelSize=0
80 | BottomPanelClients=MessageView@EditWindow0
81 | BottomPanelData=00000400010000000B0000004D657373616765566965770000000000000000000000000000000000FFFFFFFF
82 | ViewCount=2
83 | CurrentView=0
84 | View0=0
85 | View1=1
86 |
87 | [CodeExplorer@EditWindow0]
88 | Create=1
89 | Visible=0
90 | State=0
91 | Left=0
92 | Top=11
93 | Width=140
94 | Height=486
95 | MaxLeft=-1
96 | MaxTop=-1
97 | ClientWidth=140
98 | ClientHeight=486
99 | TBDockHeight=305
100 | LRDockWidth=140
101 | Dockable=1
102 |
103 | [MessageView@EditWindow0]
104 | Create=1
105 | Visible=0
106 | State=0
107 | Left=11
108 | Top=0
109 | Width=764
110 | Height=52
111 | MaxLeft=-1
112 | MaxTop=-1
113 | ClientWidth=764
114 | ClientHeight=52
115 | TBDockHeight=52
116 | LRDockWidth=443
117 | Dockable=1
118 |
119 | [View0]
120 | Module=C:\inet\httpd\Cgi-Bin\add.dpr
121 | CursorX=16
122 | CursorY=77
123 | TopLine=77
124 | LeftCol=1
125 |
126 | [View1]
127 | Module=C:\inet\httpd\Cgi-Bin\add.txt
128 | CursorX=9
129 | CursorY=5
130 | TopLine=1
131 | LeftCol=1
132 |
133 | [DockHosts]
134 | DockHostCount=0
135 |
136 | [Watches]
137 | Count=0
138 |
139 | [Breakpoints]
140 | Count=0
141 |
142 | [AddressBreakpoints]
143 | Count=0
144 |
145 |
--------------------------------------------------------------------------------
/add.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | %msg - Paniklemeyin biraz sonra her$ey duzelecek.
4 |
5 |
--------------------------------------------------------------------------------
/adduser.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | echo ~%1 >> user.txt
3 | echo %2 >> user.txt
4 | echo %3 >> user.txt
5 | echo added %1 %2 %3
6 |
--------------------------------------------------------------------------------
/adduser.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I+
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cg
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 | -LNc:\delphi4\Lib
35 |
--------------------------------------------------------------------------------
/adduser.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=1
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 | [Linker]
32 | MapFile=0
33 | OutputObjs=0
34 | ConsoleApp=1
35 | DebugInfo=0
36 | RemoteSymbols=0
37 | MinStackSize=16384
38 | MaxStackSize=1048576
39 | ImageBase=4194304
40 | ExeDescription=
41 | [Directories]
42 | OutputDir=
43 | UnitOutputDir=
44 | PackageDLLOutputDir=
45 | PackageDCPOutputDir=
46 | SearchPath=
47 | Packages=
48 | Conditionals=
49 | DebugSourceDirs=
50 | UsePackages=0
51 | [Parameters]
52 | RunParams=
53 | HostApplication=
54 | [Version Info]
55 | IncludeVerInfo=0
56 | AutoIncBuild=0
57 | MajorVer=1
58 | MinorVer=0
59 | Release=0
60 | Build=0
61 | Debug=0
62 | PreRelease=0
63 | Special=0
64 | Private=0
65 | DLL=0
66 | Locale=1033
67 | CodePage=1252
68 | [Version Info Keys]
69 | CompanyName=
70 | FileDescription=
71 | FileVersion=1.0.0.0
72 | InternalName=
73 | LegalCopyright=
74 | LegalTrademarks=
75 | OriginalFilename=
76 | ProductName=
77 | ProductVersion=1.0.0.0
78 | Comments=
79 |
--------------------------------------------------------------------------------
/adduser.dpr:
--------------------------------------------------------------------------------
1 | uses
2 |
3 | Common, SysUtils, Windows;
4 |
5 | var
6 | F:TextFile;
7 | s:string;
8 | queryword,parse,value,word,nick,desc,password:string;
9 | n:integer;
10 | begin
11 | writeln('Content-type: text/html'#13#10);
12 | s := Replace(Trim(getenv('QUERY_STRING')),'%C3%BC','u');
13 | normalizeQueryString(s);
14 | queryword := '';
15 | for n:=1 to GetparseCount(s,'&') do begin
16 | parse := GetParse(s,'&',n);
17 | value := GetParse(parse,'=',2);
18 | parse := Getparse(parse,'=',1);
19 | if parse='word' then queryword := value;
20 | normalizeQueryString(value);
21 | if parse='word' then word := value
22 | else if parse='n' then nick := value
23 | else if parse='desc' then desc := value
24 | else if parse='pass' then password := value;
25 | end;
26 | normalizeword(word);
27 | if (desc='') or (nick='') or (password='') then begin
28 | writeln('404 Not Found');
29 | end else begin
30 | AssignFile(F,userFile);
31 | Append(F);
32 | writeln(F,'~'+nick);
33 | writeln(F,password);
34 | writeln(F,desc);
35 | writeln(F,DateToStr(Now));
36 | CloseFile(F);
37 | writeln('user: '+nick);
38 | writeln('pass: '+password);
39 | writeln('email: '+desc);
40 | end;
41 | end.
42 |
--------------------------------------------------------------------------------
/arabut.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ssg/sozluk-cgi/1a2223568de4486336a1e91070abf63785e9797f/arabut.gif
--------------------------------------------------------------------------------
/common.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ssg/sozluk-cgi/1a2223568de4486336a1e91070abf63785e9797f/common.pas
--------------------------------------------------------------------------------
/dele.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I-
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cg
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 | -LNc:\delphi4\Lib
35 |
--------------------------------------------------------------------------------
/dele.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=0
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 | [Linker]
32 | MapFile=0
33 | OutputObjs=0
34 | ConsoleApp=1
35 | DebugInfo=0
36 | RemoteSymbols=0
37 | MinStackSize=16384
38 | MaxStackSize=1048576
39 | ImageBase=4194304
40 | ExeDescription=SSG '99
41 | [Directories]
42 | OutputDir=
43 | UnitOutputDir=
44 | PackageDLLOutputDir=
45 | PackageDCPOutputDir=
46 | SearchPath=
47 | Packages=VCL40;VCLX40;VCLDB40;VCLDBX40;VCLSMP40;QRPT40;TEEUI40;TEEDB40;TEE40;ibevnt40;nmfast40
48 | Conditionals=
49 | DebugSourceDirs=
50 | UsePackages=0
51 | [Parameters]
52 | RunParams=
53 | HostApplication=
54 | [Version Info]
55 | IncludeVerInfo=0
56 | AutoIncBuild=0
57 | MajorVer=1
58 | MinorVer=0
59 | Release=0
60 | Build=0
61 | Debug=0
62 | PreRelease=0
63 | Special=0
64 | Private=0
65 | DLL=0
66 | Locale=1033
67 | CodePage=1252
68 | [Version Info Keys]
69 | CompanyName=
70 | FileDescription=
71 | FileVersion=1.0.0.0
72 | InternalName=
73 | LegalCopyright=
74 | LegalTrademarks=
75 | OriginalFilename=
76 | ProductName=
77 | ProductVersion=1.0.0.0
78 | Comments=
79 |
--------------------------------------------------------------------------------
/dele.dpr:
--------------------------------------------------------------------------------
1 | uses
2 |
3 | SysUtils, Common;
4 |
5 | procedure terminee;
6 | begin
7 | writeln('404 Not Found ');
8 | Flush(output);
9 | halt(1);
10 | end;
11 |
12 | procedure abort(s:string);
13 | begin
14 | debug(s);
15 | Flush(output);
16 | halt(1);
17 | end;
18 |
19 | var
20 | I,O:TextFile;
21 | parse,value,word,s:string;
22 | deleted,ok,partial:boolean;
23 | index,count,n:integer;
24 | begin
25 | s := QueryString;
26 | word := '';
27 | index := 6666;
28 | for n:=1 to GetParseCount(s,'&') do begin
29 | parse := GetParse(s,'&',n);
30 | value := Getparse(parse,'=',2);
31 | normalizeQueryString(value);
32 | parse := GetParse(parse,'=',1);
33 | if parse='word' then word := value else
34 | if parse='index' then index := StrToInt(value) else
35 | if parse = 'powerword' then begin
36 | word := value;
37 | index := 9999;
38 | end else terminee;
39 | end;
40 | if (word = '') or (index = 6666) then terminee;
41 | if word[1] = '*' then begin
42 | Delete(word,1,1);
43 | partial := true;
44 | debug('partially searching');
45 | end else partial := false;
46 | deleted := false;
47 | AssignFile(I,dictFile);
48 | AssignFile(O,tempFile);
49 | Reset(I);
50 | if IOResult <> 0 then abort('input open error - another user might be accessing the dictionary at the same time');
51 | ReWrite(O);
52 | if IOResult <> 0 then abort('output create error - two people might be using delete utility');
53 | count := 0;
54 | while not eof(I) do begin
55 | Readln(I,s);
56 | s := Trim(s);
57 | if s <> '' then if s[1] = '~' then begin
58 | if partial then ok := pos(word,s) > 0
59 | else ok := s = '~'+word;
60 | if ok then begin
61 | debug('ok');
62 | inc(count);
63 | if count = index then begin
64 | deleted := true;
65 | repeat
66 | Readln(I,s);
67 | if s <> '' then if s[1]='~' then break;
68 | until Eof(I);
69 | end;
70 | end;
71 | end;
72 | Writeln(O,s);
73 | end;
74 | CloseFile(I);
75 | CloseFile(O);
76 | if deleted then begin
77 | DeleteFile(backupFile);
78 | RenameFile(dictFile,backupFile);
79 | RenameFile(tempFile,dictFile);
80 | debug('possible success :)');
81 | end else debug('no items found');
82 | end.
83 |
--------------------------------------------------------------------------------
/deneme.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I-
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cc
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 | -LNc:\delphi4\Lib
35 |
--------------------------------------------------------------------------------
/deneme.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=0
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 |
32 | [Linker]
33 | MapFile=0
34 | OutputObjs=0
35 | ConsoleApp=0
36 | DebugInfo=0
37 | RemoteSymbols=0
38 | MinStackSize=16384
39 | MaxStackSize=1048576
40 | ImageBase=4194304
41 | ExeDescription=SSG '99
42 |
43 | [Directories]
44 | OutputDir=
45 | UnitOutputDir=
46 | PackageDLLOutputDir=
47 | PackageDCPOutputDir=
48 | SearchPath=
49 | Packages=VCL40;VCLX40;VCLDB40;VCLDBX40;VCLSMP40;QRPT40;TEEUI40;TEEDB40;TEE40;ibevnt40;nmfast40
50 | Conditionals=
51 | DebugSourceDirs=
52 | UsePackages=0
53 |
54 | [Parameters]
55 | RunParams=
56 | HostApplication=
57 |
58 | [Version Info]
59 | IncludeVerInfo=0
60 | AutoIncBuild=0
61 | MajorVer=1
62 | MinorVer=0
63 | Release=0
64 | Build=0
65 | Debug=0
66 | PreRelease=0
67 | Special=0
68 | Private=0
69 | DLL=0
70 | Locale=1033
71 | CodePage=1252
72 |
73 | [Version Info Keys]
74 | CompanyName=
75 | FileDescription=
76 | FileVersion=1.0.0.0
77 | InternalName=
78 | LegalCopyright=
79 | LegalTrademarks=
80 | OriginalFilename=
81 | ProductName=
82 | ProductVersion=1.0.0.0
83 | Comments=
84 |
--------------------------------------------------------------------------------
/deneme.dpr:
--------------------------------------------------------------------------------
1 | uses
2 |
3 | SysUtils;
4 |
5 | var
6 | n:integer;
7 | begin
8 | // QUERY_STRING GetEnvironmentVariable
9 | writeln('Content-type: text/html'#13#10);
10 | writeln('');
11 | writeln('Merhaba ');
12 | writeln('',ParamStr(1),' ');
13 | writeln('');
14 | for n:=1 to 10 do begin
15 | writeln('',IntToStr(n),' ');
16 | end;
17 | writeln('');
18 | end.
--------------------------------------------------------------------------------
/deneme.dsk:
--------------------------------------------------------------------------------
1 | [Main Window]
2 | Create=1
3 | Visible=1
4 | State=0
5 | Left=0
6 | Top=0
7 | Width=1035
8 | Height=105
9 | MaxLeft=-1
10 | MaxTop=-1
11 | ClientWidth=1027
12 | ClientHeight=78
13 |
14 | [ProjectManager]
15 | Create=1
16 | Visible=1
17 | State=0
18 | Left=11
19 | Top=112
20 | Width=226
21 | Height=165
22 | MaxLeft=-1
23 | MaxTop=-1
24 | ClientWidth=218
25 | ClientHeight=141
26 | TBDockHeight=539
27 | LRDockWidth=213
28 | Dockable=1
29 |
30 | [Closed Files]
31 | File_0=SourceModule,'C:\inet\httpd\Cgi-Bin\deneme.dpr',0,1,1,12,2,0,0
32 | File_1=SourceModule,'C:\inet\httpd\Cgi-Bin\maint.txt',0,1,1,40,13,0,0
33 | File_2=SourceModule,'C:\inet\httpd\Cgi-Bin\index.txt',0,1,1,1,5,0,0
34 | File_3=SourceModule,'C:\inet\httpd\Cgi-Bin\show.txt',0,1,1,1,15,0,0
35 | File_4=SourceModule,'C:\inet\httpd\Cgi-Bin\common.pas',0,1,1,1,15,0,0
36 | File_5=SourceModule,'C:\inet\httpd\Cgi-Bin\maint.dpr',0,1,29,5,29,0,0
37 | File_6=SourceModule,'C:\inet\httpd\Cgi-Bin\dict.txt',0,1,465,17,482,0,0
38 | File_7=SourceModule,'C:\inet\httpd\Cgi-Bin\add.txt',0,1,1,1,4,0,0
39 | File_8=SourceModule,'C:\delphi4\Logan\tools.pas',0,1,1,1,7,0,0
40 | File_9=SourceModule,'C:\delphi4\Logan\mainfrm.pas',0,1,233,42,260,0,0
41 |
42 | [Modules]
43 | Module0=C:\inet\httpd\Cgi-Bin\deneme.dpr
44 | Count=1
45 | EditWindowCount=1
46 |
47 | [C:\inet\httpd\Cgi-Bin\deneme.dpr]
48 | ModuleType=SourceModule
49 | FormState=0
50 | FormOnTop=0
51 |
52 | [C:\delphi4\projects\ProjectGroup1.bpg]
53 | FormState=0
54 | FormOnTop=0
55 |
56 | [EditWindow0]
57 | CodeExplorer=CodeExplorer@EditWindow0
58 | MessageView=MessageView@EditWindow0
59 | Create=1
60 | Visible=1
61 | State=0
62 | Left=258
63 | Top=106
64 | Width=783
65 | Height=542
66 | MaxLeft=-1
67 | MaxTop=-1
68 | ClientWidth=775
69 | ClientHeight=515
70 | LeftPanelSize=0
71 | LeftPanelClients=CodeExplorer@EditWindow0
72 | LeftPanelData=00000400010000000C000000436F64654578706C6F7265720000000000000000000000000000000000FFFFFFFF
73 | RightPanelSize=0
74 | BottomPanelSize=0
75 | BottomPanelClients=MessageView@EditWindow0
76 | BottomPanelData=00000400010000000B0000004D657373616765566965770000000000000000000000000000000000FFFFFFFF
77 | ViewCount=1
78 | CurrentView=0
79 | View0=0
80 |
81 | [CodeExplorer@EditWindow0]
82 | Create=1
83 | Visible=0
84 | State=0
85 | Left=0
86 | Top=11
87 | Width=140
88 | Height=486
89 | MaxLeft=-1
90 | MaxTop=-1
91 | ClientWidth=140
92 | ClientHeight=486
93 | TBDockHeight=305
94 | LRDockWidth=140
95 | Dockable=1
96 |
97 | [MessageView@EditWindow0]
98 | Create=1
99 | Visible=0
100 | State=0
101 | Left=11
102 | Top=0
103 | Width=764
104 | Height=52
105 | MaxLeft=-1
106 | MaxTop=-1
107 | ClientWidth=764
108 | ClientHeight=52
109 | TBDockHeight=52
110 | LRDockWidth=443
111 | Dockable=1
112 |
113 | [View0]
114 | Module=C:\inet\httpd\Cgi-Bin\deneme.dpr
115 | CursorX=10
116 | CursorY=9
117 | TopLine=1
118 | LeftCol=1
119 |
120 | [DockHosts]
121 | DockHostCount=0
122 |
123 | [Watches]
124 | Count=0
125 |
126 | [Breakpoints]
127 | Count=0
128 |
129 | [AddressBreakpoints]
130 | Count=0
131 |
132 |
--------------------------------------------------------------------------------
/deploy.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM replace path variables with your web server's working directory
3 | set "CGIBIN_DIR=C:\apache\cgi-bin\"
4 | set "WWW_DIR=C:\apache\htdocs\"
5 |
6 | echo Deploying cgi-bin executables...
7 | copy *.exe "%CGIBIN_DIR%*.exe"
8 | echo Deploying templates and user data...
9 | copy *.txt "%CGIBIN_DIR%*.txt"
10 | echo Deploying resources...
11 | copy *.gif "%WWW_DIR%*.gif"
12 | copy *.html "%WWW_DIR%*.html"
13 | echo All done
14 | pause
15 |
--------------------------------------------------------------------------------
/dict.txt:
--------------------------------------------------------------------------------
1 | ~pena
2 | ssg
3 | 2/15/99 8:16:46 PM
4 | gitar calmak icin kullanilan minik plastik garip nesne.
5 | ~amiga
6 | ssg
7 | 2/15/99 8:17:06 PM
8 | ispanyolca'da "kiz arkada$".
9 | ~amiga
10 | ssg
11 | 2/15/99 8:20:21 PM
12 | 1984-1993 arasi ortaligi kasip kavurmu$ bilgisayar fenomeni. piyasaya ciktigi yila gore cok ileride bir bilgisayar olan amiga commodore'un hatali pazarlama stratejilerinin kurbani olmu$ yitip gitmi$tir. hala amiga ya$iyor hede hodo diyenler de bizden degildir.
13 | ~sour times
14 | ssg
15 | 2/15/99 8:21:48 PM
16 | dunyanin en ek$i web sayfalar toplulugu.
17 | ~sour times
18 | ssg
19 | 2/15/99 8:27:46 PM
20 | portishead'in me$hur bir parcasi.
21 |
--------------------------------------------------------------------------------
/eksi.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | kutsal bilgi kaynagi
7 |
8 |
9 | "eger du$unebiliyorsa bir bildigi vardir" mantigini guderek sizin de bu deh$et bilgi yumagina ekleyecek
10 | bir$eyiniz olabilecegini tahmin edip a$agiya bir eklenti formu yaptik. bu forma eklemek istediginiz konuyla
11 | ilgili bildiklerinizi yaziyorsunuz ve o an o ekleniveriyor. bir nevi mucize. takilin.
12 |
13 |
14 |
22 |
23 | ana sayfaya dön
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/hede.pas:
--------------------------------------------------------------------------------
1 | begin
2 | writeln('Content-type: text/html'#13#10);
3 | writeln('hedeee');
4 | end.
--------------------------------------------------------------------------------
/index.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I-
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cc
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 |
--------------------------------------------------------------------------------
/index.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=0
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 | [Linker]
32 | MapFile=0
33 | OutputObjs=0
34 | ConsoleApp=0
35 | DebugInfo=0
36 | RemoteSymbols=0
37 | MinStackSize=16384
38 | MaxStackSize=1048576
39 | ImageBase=4194304
40 | ExeDescription=SSG '99
41 | [Directories]
42 | OutputDir=
43 | UnitOutputDir=
44 | PackageDLLOutputDir=
45 | PackageDCPOutputDir=
46 | SearchPath=
47 | Packages=VCL40;VCLX40;VCLDB40;VCLDBX40;VCLSMP40;QRPT40;TEEUI40;TEEDB40;TEE40;ibevnt40;nmfast40
48 | Conditionals=
49 | DebugSourceDirs=
50 | UsePackages=0
51 | [Parameters]
52 | RunParams=
53 | HostApplication=
54 | [Version Info]
55 | IncludeVerInfo=0
56 | AutoIncBuild=0
57 | MajorVer=1
58 | MinorVer=0
59 | Release=0
60 | Build=0
61 | Debug=0
62 | PreRelease=0
63 | Special=0
64 | Private=0
65 | DLL=0
66 | Locale=1033
67 | CodePage=1252
68 | [Version Info Keys]
69 | CompanyName=
70 | FileDescription=
71 | FileVersion=1.0.0.0
72 | InternalName=
73 | LegalCopyright=
74 | LegalTrademarks=
75 | OriginalFilename=
76 | ProductName=
77 | ProductVersion=1.0.0.0
78 | Comments=
79 |
--------------------------------------------------------------------------------
/index.dpr:
--------------------------------------------------------------------------------
1 | uses
2 |
3 | Common, Classes, SysUtils, Windows;
4 |
5 | type
6 |
7 | TWord = class(TObject)
8 | Count : longword;
9 | Date : TDateTime;
10 | Word : string;
11 | end; {case}
12 |
13 | const
14 |
15 | hicolor = '#B00000';
16 | locolor = '#800000';
17 | WordList : TList = NIL;
18 | indexstr : string = '';
19 | totalentries : integer = 0;
20 | totalwords : integer = 0;
21 | dayz : integer = 0;
22 |
23 | var
24 |
25 | noquery : boolean;
26 | hasdate : boolean;
27 | indexChar : string;
28 |
29 | procedure buildindexstr;
30 | var
31 | a:char;
32 | procedure addindex(showstr, querystr:string; hede:boolean);
33 | begin
34 | indexstr := indexstr + '';
35 | if hede then indexstr := indexstr + ''+showstr+' '
36 | else indexstr := indexstr + showstr+' ';
37 | end;
38 | begin
39 | indexstr := '';
40 | addindex('0-9','?i=*',indexchar='*');
41 | for a := 'a' to 'z' do begin
42 | addindex(a,'?i='+a,indexchar=a);
43 | end;
44 | addindex('tümü','?i=all',indexChar='all');
45 | addindex('taze','',queryString='');
46 | end;
47 |
48 | function FindWord(w:string):TWord;
49 | var
50 | n:integer;
51 | begin
52 | for n := 0 to WordList.Count-1 do begin
53 | Result := WordList[n];
54 | if Result.Word = w then exit;
55 | end;
56 | Result := NIL;
57 | end;
58 |
59 | function wordcompare(p1,p2:pointer):integer;
60 | begin
61 | Result := CompareStr(TWord(p1).Word,TWord(p2).Word);
62 | end;
63 |
64 | var
65 | I:TextFile;
66 | authstr,numstr,desc,word,templine,searchstr,s:string;
67 | date,fd,td:TDateTime;
68 | T:TWord;
69 | n:integer;
70 | ok:boolean;
71 | begin
72 | WordList := TList.Create;
73 | noquery := queryString='';
74 | buildindexstr;
75 | indexchar := getValue('i');
76 | searchstr := getValue('search');
77 |
78 | authstr := getValue('author');
79 |
80 | s := getValue('date');
81 | hasdate := s <> '';
82 | fd := 0;
83 | if hasdate then try
84 | fd := StrToDate(s);
85 | except
86 | hasdate := false;
87 | end;
88 |
89 | td := 0;
90 | s := getValue('todate');
91 | if s <> '' then try
92 | td := StrToDate(s);
93 | except
94 | td := Now;
95 | end;
96 |
97 | if FileExists(dictFile) then begin
98 | AssignFile(I,dictFile);
99 | Reset(I);
100 | s := '';
101 | while not Eof(I) do begin
102 | if s <> '' then if s[1]='~' then begin
103 | ok := true;
104 | templine := s;
105 | if indexChar='*' then ok := not (s[2] in ['a'..'z'])
106 | else if indexChar <> '' then if indexChar <> 'all' then ok := s[2] = indexChar[1];
107 | if ok then begin
108 | word := copy(s,2,length(s));
109 | Readln(I,s);
110 | if authstr <> '' then if pos(authstr,s) = 0 then continue;
111 | Readln(I,s);
112 | s := Getparse(Trim(s),' ',1);
113 | try
114 | date := StrToDate(s);
115 | except
116 | date := Trunc(Now);
117 | end;
118 | desc := '';
119 | while not Eof(I) do begin
120 | Readln(I,s);
121 | if s <> '' then
122 | if s[1] = '~' then break else desc := desc + Trim(s);
123 | end;
124 |
125 | if noquery then if date <> Trunc(Now) then continue else
126 | else if hasdate then if (date >= fd) and (date <= td) then continue;
127 |
128 | if searchstr <> '' then
129 | if pos(searchstr,desc) = 0 then
130 | if pos(searchstr,templine) = 0 then continue;
131 |
132 | T := FindWord(word);
133 | if T <> NIL then begin
134 | inc(T.Count);
135 | if date > T.Date then T.Date := date;
136 | end else begin
137 | T := TWord.Create;
138 | T.Word := word;
139 | T.Count := 1;
140 | T.Date := date;
141 | WordList.Add(T);
142 | inc(totalwords);
143 | end;
144 | inc(totalentries);
145 | continue;
146 | end;
147 | end; {if}
148 | Readln(I,s);
149 | end; {while}
150 | CloseFile(I);
151 | end else FileCreate(dictFile);
152 | WordList.Sort(wordcompare);
153 | AssignFile(I,indexTemplateFile);
154 | Reset(I);
155 | repeat
156 | Readln(I,s);
157 | writeln(Replace(s,'%index',indexstr));
158 | until s = '';
159 | Readln(I,templine);
160 | Flush(output);
161 |
162 | if WordList.Count = 0 then writeln('Hic kayIt yok') else for n:=0 to WordList.Count-1 do begin
163 | T := WordList[n];
164 | word := T.Word;
165 | if T.Count=1 then numstr := ''
166 | else numstr := '('+IntToStr(T.Count)+')';
167 | if Trunc(T.Date) = Trunc(Now) then s := Replace(templine,'%linkcolor',hicolor)
168 | else s := Replace(templine,'%linkcolor',locolor);
169 | s := Replace(s,'%word',word);
170 | s := Replace(s,'%num',numstr);
171 | s := Replace(s,'%search',Translate(word,' ','+'));
172 | writeln(s);
173 | end;
174 |
175 | repeat
176 | Readln(I,s);
177 | s := Replace(s,'%totalwords',IntToStr(totalwords));
178 | s := Replace(s,'%totalentries',IntToStr(totalentries));
179 | writeln(s);
180 | until Eof(I);
181 | CloseFile(I);
182 | end.
183 |
--------------------------------------------------------------------------------
/index.dsk:
--------------------------------------------------------------------------------
1 | [Main Window]
2 | Create=1
3 | Visible=1
4 | State=0
5 | Left=0
6 | Top=0
7 | Width=1035
8 | Height=105
9 | MaxLeft=-1
10 | MaxTop=-1
11 | ClientWidth=1027
12 | ClientHeight=78
13 |
14 | [ProjectManager]
15 | Create=1
16 | Visible=1
17 | State=0
18 | Left=7
19 | Top=113
20 | Width=212
21 | Height=713
22 | MaxLeft=-1
23 | MaxTop=-1
24 | ClientWidth=204
25 | ClientHeight=689
26 | TBDockHeight=539
27 | LRDockWidth=213
28 | Dockable=1
29 |
30 | [Closed Files]
31 | File_0=SourceModule,'C:\inet\httpd\Cgi-Bin\index.txt',0,1,1,1,16,0,0
32 | File_1=SourceModule,'C:\delphi4\Logan\tools.pas',0,1,1,1,7,0,0
33 | File_2=SourceModule,'C:\delphi4\Logan\mainfrm.pas',0,1,233,42,260,0,0
34 | File_3=SourceModule,'C:\delphi4\Logan\types.pas',0,1,340,5,365,0,0
35 | File_4=SourceModule,'\\Blackwind\agr\ip_misc.pas',0,1,836,20,867,0,0
36 | File_5=SourceModule,'C:\delphi4\Source\Rtl\Win\winsock.pas',0,1,901,21,927,0,0
37 | File_6=SourceModule,'\\Blackwind\agr\aggtools.pas',0,1,66,20,111,0,0
38 | File_7=SourceModule,'C:\delphi4\Logan\ex9901.log',0,1,7761,1,7786,0,0
39 | File_8=SourceModule,'C:\delphi4\Logan\ex9902.log',0,1,1,1,1,0,0
40 | File_9=SourceModule,'\\Blackwind\agr\traceunit.pas',0,1,148,24,185,1,0
41 |
42 | [Modules]
43 | Module0=C:\inet\httpd\Cgi-Bin\index.dpr
44 | Count=1
45 | EditWindowCount=1
46 |
47 | [C:\inet\httpd\Cgi-Bin\index.dpr]
48 | ModuleType=SourceModule
49 | FormState=0
50 | FormOnTop=0
51 |
52 | [C:\delphi4\projects\ProjectGroup1.bpg]
53 | FormState=0
54 | FormOnTop=0
55 |
56 | [EditWindow0]
57 | CodeExplorer=CodeExplorer@EditWindow0
58 | MessageView=MessageView@EditWindow0
59 | Create=1
60 | Visible=1
61 | State=0
62 | Left=224
63 | Top=113
64 | Width=804
65 | Height=714
66 | MaxLeft=-1
67 | MaxTop=-1
68 | ClientWidth=796
69 | ClientHeight=687
70 | LeftPanelSize=0
71 | LeftPanelClients=CodeExplorer@EditWindow0
72 | LeftPanelData=00000400010000000C000000436F64654578706C6F7265720000000000000000000000000000000000FFFFFFFF
73 | RightPanelSize=0
74 | BottomPanelSize=0
75 | BottomPanelClients=MessageView@EditWindow0
76 | BottomPanelData=00000400010000000B0000004D657373616765566965770000000000000000000000000000000000FFFFFFFF
77 | ViewCount=1
78 | CurrentView=0
79 | View0=0
80 |
81 | [CodeExplorer@EditWindow0]
82 | Create=1
83 | Visible=0
84 | State=0
85 | Left=0
86 | Top=11
87 | Width=140
88 | Height=486
89 | MaxLeft=-1
90 | MaxTop=-1
91 | ClientWidth=140
92 | ClientHeight=486
93 | TBDockHeight=305
94 | LRDockWidth=140
95 | Dockable=1
96 |
97 | [MessageView@EditWindow0]
98 | Create=1
99 | Visible=0
100 | State=0
101 | Left=-6
102 | Top=-539
103 | Width=443
104 | Height=52
105 | MaxLeft=-1
106 | MaxTop=-1
107 | ClientWidth=443
108 | ClientHeight=52
109 | TBDockHeight=52
110 | LRDockWidth=443
111 | Dockable=1
112 |
113 | [View0]
114 | Module=C:\inet\httpd\Cgi-Bin\index.dpr
115 | CursorX=9
116 | CursorY=83
117 | TopLine=46
118 | LeftCol=1
119 |
120 | [DockHosts]
121 | DockHostCount=0
122 |
123 | [Watches]
124 | Count=0
125 |
126 | [Breakpoints]
127 | Count=0
128 |
129 | [AddressBreakpoints]
130 | Count=0
131 |
132 |
--------------------------------------------------------------------------------
/index.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
13 | %index
14 |
15 | %word %num
16 |
17 |
18 | toplam %totalwords ba$lik ve
19 | bunlarin iclerini de katarsak eeeoo yakla$ik sanirim %totalentries tane de kayit. favori yazariniza gore arama yapmak isterseniz: (örn. clairvoyant, selami sahintepesi)
20 | [ yeni bi$iiler ekle ]
21 | [ ana sayfaya dön ]
22 |
--------------------------------------------------------------------------------
/mailfail.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | beceremedin
7 |
8 |
9 |
10 |
11 |
12 |
13 |
19 |
20 | olmadi beceremedin.. oluceksem de
21 | senin elinden olmasin zaten..
22 | geri don bari anasayfaya ne diyiim..
23 | yani bi entryde $eyedemedikten soona.. pehh..
24 |
25 |
26 |
27 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/mailsuc.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | olduuuuu
7 |
8 |
9 |
10 |
11 |
12 |
13 |
19 |
20 | heh aferin lam.. ne guzel ettin
21 | bak.. senin gibileri memleketin ba$ina falan getirmek lazim.. saol saol..
22 | allah kiz cocugunu erkek cocugu etsin in$allah..
23 | don hadi anasayfaya .. $imarma..
24 |
25 |
26 |
27 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/sendmail.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I+
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cg
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 | -LNc:\delphi4\Lib
35 |
--------------------------------------------------------------------------------
/sendmail.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=1
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 | [Linker]
32 | MapFile=0
33 | OutputObjs=0
34 | ConsoleApp=1
35 | DebugInfo=0
36 | RemoteSymbols=0
37 | MinStackSize=16384
38 | MaxStackSize=1048576
39 | ImageBase=4194304
40 | ExeDescription=
41 | [Directories]
42 | OutputDir=
43 | UnitOutputDir=
44 | PackageDLLOutputDir=
45 | PackageDCPOutputDir=
46 | SearchPath=
47 | Packages=
48 | Conditionals=
49 | DebugSourceDirs=
50 | UsePackages=0
51 | [Parameters]
52 | RunParams=
53 | HostApplication=
54 | [Version Info]
55 | IncludeVerInfo=0
56 | AutoIncBuild=0
57 | MajorVer=1
58 | MinorVer=0
59 | Release=0
60 | Build=0
61 | Debug=0
62 | PreRelease=0
63 | Special=0
64 | Private=0
65 | DLL=0
66 | Locale=1033
67 | CodePage=1252
68 | [Version Info Keys]
69 | CompanyName=
70 | FileDescription=
71 | FileVersion=1.0.0.0
72 | InternalName=
73 | LegalCopyright=
74 | LegalTrademarks=
75 | OriginalFilename=
76 | ProductName=
77 | ProductVersion=1.0.0.0
78 | Comments=
79 |
--------------------------------------------------------------------------------
/sendmail.dpr:
--------------------------------------------------------------------------------
1 | program sendmail;
2 |
3 | uses
4 |
5 | SysUtils, Windows, WinSock, common;
6 |
7 | var
8 | mFrom,mTo,mSubj,mSMTP,mBody,mReturn:string;
9 | full:string;
10 | W:TWSAData;
11 | mysock:TSocket;
12 | T:TSockAddrIn;
13 | ar:array[1..256] of char;
14 | len:longword;
15 | F:TextFile;
16 | s:string;
17 | procedure waitResponse;
18 | var
19 | s:string;
20 | c:char;
21 | begin
22 | c := #0;
23 | s := '';
24 | while c <> #10 do begin
25 | if recv(mysock,c,1,0) > 0 then s := s + c else begin
26 | outFile('mailfail.txt');
27 | halt(1);
28 | end;
29 | end;
30 | end;
31 | procedure doit(s:string);
32 | begin
33 | s := s + #13#10;
34 | len := length(s);
35 | send(mysock,s[1],len,0);
36 | waitResponse;
37 | end;
38 | begin
39 | mFrom := getValue('from');
40 | mTo := getValue('to');
41 | mSubj := getValue('subject');
42 | mSMTP := getValue('smtp');
43 | mBody := getValue('body');
44 | mReturn := getValue('return');
45 |
46 | WSAStartup($101, W);
47 |
48 | mysock := socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
49 | if mysock = INVALID_SOCKET then begin
50 | outFile('mailfail.txt');
51 | exit;
52 | end;
53 |
54 | T.sin_family := PF_INET;
55 | T.sin_addr.s_addr := inet_addr(strpcopy(@ar,mSMTP));
56 | T.sin_port := htons(25);
57 |
58 | if connect(mysock, T, SizeOf(T)) = 0 then begin
59 | waitResponse;
60 | doit('HELO sourtimes');
61 | doit('MAIL FROM: '+mFrom);
62 | doit('RCPT TO: '+mTo);
63 | doit('DATA');
64 | doit('Subject: '+mSubj+#13#10+
65 | 'X-Mailer: SourTimes Atraksiyonlu CGI Mail Gondericisi v0.1 - (c) SSG ''99'#13#10+
66 | #13#10+mBody+#13#10#13#10+'.'#13#10);
67 | doit(#13#10'QUIT');
68 |
69 | closesocket(mysock);
70 |
71 | end;
72 |
73 | WSACleanup;
74 | AssignFile(F,'mailsuc.txt');
75 | Reset(F);
76 | while not Eof(F) do begin
77 | Readln(F,s);
78 | s := Replace(s,'%return',mReturn);
79 | writeln(s);
80 | end;
81 | CloseFile(F);
82 | end.
83 |
--------------------------------------------------------------------------------
/show.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
%word
6 |
7 | %desc(%nick %date)
8 |
9 | bu konuda eklemek isteyeceginiz herhangi bir$ey olabilir neden
10 | olmasin.. o zaman ekleyin daha ne.. eger $ifreniz yoksa edi
11 | 'ye icinde "abi benim nickim $u $ifresi $u" diye mail yollayin o ekler sizi de..
12 |
13 |
14 |
15 |
16 |
22 |
23 |
24 |
25 | [ yepyeni bi$iiler ekle ] [ ana sayfaya dön ]
26 |
27 |
--------------------------------------------------------------------------------
/sozluk.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Ek$i sozluk - Olabilecek en kotu $eyden bile daha guzel
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sozlukk.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ssg/sozluk-cgi/1a2223568de4486336a1e91070abf63785e9797f/sozlukk.gif
--------------------------------------------------------------------------------
/under.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ek$i sozluk
6 |
7 | Saatler ichinde hayal edemeyeceginiz kadar guzel bir halde geri geliyor!?
8 |
--------------------------------------------------------------------------------
/user.txt:
--------------------------------------------------------------------------------
1 | ~dummy
2 | dummy
3 | dummy@dummy.org
4 |
--------------------------------------------------------------------------------
/view.cfg:
--------------------------------------------------------------------------------
1 | -$A+
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I-
10 | -$J+
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cg
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 | -LNc:\delphi4\Lib
35 |
--------------------------------------------------------------------------------
/view.dof:
--------------------------------------------------------------------------------
1 | [Compiler]
2 | A=1
3 | B=0
4 | C=1
5 | D=1
6 | E=0
7 | F=0
8 | G=1
9 | H=1
10 | I=0
11 | J=1
12 | K=0
13 | L=1
14 | M=0
15 | N=1
16 | O=1
17 | P=1
18 | Q=0
19 | R=0
20 | S=0
21 | T=0
22 | U=0
23 | V=1
24 | W=0
25 | X=1
26 | Y=1
27 | Z=1
28 | ShowHints=1
29 | ShowWarnings=1
30 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
31 | [Linker]
32 | MapFile=0
33 | OutputObjs=0
34 | ConsoleApp=1
35 | DebugInfo=0
36 | RemoteSymbols=0
37 | MinStackSize=16384
38 | MaxStackSize=1048576
39 | ImageBase=4194304
40 | ExeDescription=SSG '99
41 | [Directories]
42 | OutputDir=
43 | UnitOutputDir=
44 | PackageDLLOutputDir=
45 | PackageDCPOutputDir=
46 | SearchPath=
47 | Packages=VCL40;VCLX40;VCLDB40;VCLDBX40;VCLSMP40;QRPT40;TEEUI40;TEEDB40;TEE40;ibevnt40;nmfast40
48 | Conditionals=
49 | DebugSourceDirs=
50 | UsePackages=0
51 | [Parameters]
52 | RunParams=
53 | HostApplication=
54 | [Version Info]
55 | IncludeVerInfo=0
56 | AutoIncBuild=0
57 | MajorVer=1
58 | MinorVer=0
59 | Release=0
60 | Build=0
61 | Debug=0
62 | PreRelease=0
63 | Special=0
64 | Private=0
65 | DLL=0
66 | Locale=1033
67 | CodePage=1252
68 | [Version Info Keys]
69 | CompanyName=
70 | FileDescription=
71 | FileVersion=1.0.0.0
72 | InternalName=
73 | LegalCopyright=
74 | LegalTrademarks=
75 | OriginalFilename=
76 | ProductName=
77 | ProductVersion=1.0.0.0
78 | Comments=
79 |
--------------------------------------------------------------------------------
/view.dpr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ssg/sozluk-cgi/1a2223568de4486336a1e91070abf63785e9797f/view.dpr
--------------------------------------------------------------------------------
/yolbut.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ssg/sozluk-cgi/1a2223568de4486336a1e91070abf63785e9797f/yolbut.gif
--------------------------------------------------------------------------------