├── 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 |
15 | hakkinda bilgi vermek istediginiz konu
16 |
17 | nickname'iniz veya gercek isminiz ne isterseniz
18 |
19 | noronlarinizdan gechenler

20 | 21 |
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 | 6 | 7 | 8 | 9 | 10 | 11 |
icerik
yazar
$u günden
$u güne
12 |
13 | %index

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 | 15 | 16 | 17 | 18 |
   
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 | 28 | 29 | 30 | 31 |
       
32 | 33 | 34 | -------------------------------------------------------------------------------- /mailsuc.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | olduuuuu 7 | 8 | 9 | 10 | 11 |

 

12 | 13 | 15 | 16 | 17 | 18 |
   
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 | 28 | 29 | 30 | 31 |
       
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 |
  1. %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 | 17 | 18 | 19 | 20 | 21 |
nick'iniz
$ifresi
bildikleriniz
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 --------------------------------------------------------------------------------