|
|
1.1 ! root 1: /* Synchronet Control Panel (GUI Borland C++ Builder Project for Win32) */ ! 2: ! 3: /* $Id: WebCfgDlgUnit.cpp,v 1.1 2004/11/08 09:32:47 rswindell Exp $ */ ! 4: ! 5: /**************************************************************************** ! 6: * @format.tab-size 4 (Plain Text/Source Code File Header) * ! 7: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * ! 8: * * ! 9: * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * ! 10: * * ! 11: * This program is free software; you can redistribute it and/or * ! 12: * modify it under the terms of the GNU General Public License * ! 13: * as published by the Free Software Foundation; either version 2 * ! 14: * of the License, or (at your option) any later version. * ! 15: * See the GNU General Public License for more details: gpl.txt or * ! 16: * http://www.fsf.org/copyleft/gpl.html * ! 17: * * ! 18: * Anonymous FTP access to the most recent released source is available at * ! 19: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * ! 20: * * ! 21: * Anonymous CVS access to the development source and modification history * ! 22: * is available at cvs.synchro.net:/cvsroot/sbbs, example: * ! 23: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login * ! 24: * (just hit return, no password is necessary) * ! 25: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src * ! 26: * * ! 27: * For Synchronet coding style and modification guidelines, see * ! 28: * http://www.synchro.net/source.html * ! 29: * * ! 30: * You are encouraged to submit any modifications (preferably in Unix diff * ! 31: * format) via e-mail to [email protected] * ! 32: * * ! 33: * Note: If this box doesn't appear square, then you need to fix your tabs. * ! 34: ****************************************************************************/ ! 35: ! 36: //--------------------------------------------------------------------------- ! 37: ! 38: #include <vcl.h> ! 39: #pragma hdrstop ! 40: ! 41: #include "MainFormUnit.h" ! 42: #include "WebCfgDlgUnit.h" ! 43: #include <stdio.h> // sprintf() ! 44: #include <mmsystem.h> // sndPlaySound() ! 45: //--------------------------------------------------------------------------- ! 46: #pragma package(smart_init) ! 47: #pragma resource "*.dfm" ! 48: TWebCfgDlg *WebCfgDlg; ! 49: //--------------------------------------------------------------------------- ! 50: __fastcall TWebCfgDlg::TWebCfgDlg(TComponent* Owner) ! 51: : TForm(Owner) ! 52: { ! 53: } ! 54: //--------------------------------------------------------------------------- ! 55: void __fastcall TWebCfgDlg::FormShow(TObject *Sender) ! 56: { ! 57: char str[128]; ! 58: ! 59: if(MainForm->web_startup.interface_addr==0) ! 60: NetworkInterfaceEdit->Text="<ANY>"; ! 61: else { ! 62: sprintf(str,"%d.%d.%d.%d" ! 63: ,(MainForm->web_startup.interface_addr>>24)&0xff ! 64: ,(MainForm->web_startup.interface_addr>>16)&0xff ! 65: ,(MainForm->web_startup.interface_addr>>8)&0xff ! 66: ,MainForm->web_startup.interface_addr&0xff ! 67: ); ! 68: NetworkInterfaceEdit->Text=AnsiString(str); ! 69: } ! 70: if(MainForm->web_startup.max_clients==0) ! 71: MaxClientsEdit->Text="infinite"; ! 72: else ! 73: MaxClientsEdit->Text=AnsiString((int)MainForm->web_startup.max_clients); ! 74: MaxInactivityEdit->Text=AnsiString((int)MainForm->web_startup.max_inactivity); ! 75: PortEdit->Text=AnsiString((int)MainForm->web_startup.port); ! 76: AutoStartCheckBox->Checked=MainForm->WebAutoStart; ! 77: ! 78: HtmlRootEdit->Text=AnsiString(MainForm->web_startup.root_dir); ! 79: ErrorSubDirEdit->Text=AnsiString(MainForm->web_startup.error_dir); ! 80: EmbeddedJsExtEdit->Text=AnsiString(MainForm->web_startup.js_ext); ! 81: ServerSideJsExtEdit->Text=AnsiString(MainForm->web_startup.ssjs_ext); ! 82: ! 83: AnswerSoundEdit->Text=AnsiString(MainForm->web_startup.answer_sound); ! 84: HangupSoundEdit->Text=AnsiString(MainForm->web_startup.hangup_sound); ! 85: HackAttemptSoundEdit->Text=AnsiString(MainForm->web_startup.hack_sound); ! 86: ! 87: DebugTxCheckBox->Checked=MainForm->web_startup.options&WEB_OPT_DEBUG_TX; ! 88: DebugRxCheckBox->Checked=MainForm->web_startup.options&WEB_OPT_DEBUG_RX; ! 89: AccessLogCheckBox->Checked=MainForm->web_startup.options&WEB_OPT_HTTP_LOGGING; ! 90: AccessLogCheckBoxClick(Sender); ! 91: ! 92: VirtualHostsCheckBox->Checked=MainForm->web_startup.options&WEB_OPT_VIRTUAL_HOSTS; ! 93: ! 94: HostnameCheckBox->Checked ! 95: =!(MainForm->web_startup.options&BBS_OPT_NO_HOST_LOOKUP); ! 96: ! 97: PageControl->ActivePage=GeneralTabSheet; ! 98: } ! 99: //--------------------------------------------------------------------------- ! 100: void __fastcall TWebCfgDlg::OKBtnClick(TObject *Sender) ! 101: { ! 102: char str[128],*p; ! 103: DWORD addr; ! 104: ! 105: SAFECOPY(str,NetworkInterfaceEdit->Text.c_str()); ! 106: p=str; ! 107: while(*p && *p<=' ') p++; ! 108: if(*p && isdigit(*p)) { ! 109: addr=atoi(p)<<24; ! 110: while(*p && *p!='.') p++; ! 111: if(*p=='.') p++; ! 112: addr|=atoi(p)<<16; ! 113: while(*p && *p!='.') p++; ! 114: if(*p=='.') p++; ! 115: addr|=atoi(p)<<8; ! 116: while(*p && *p!='.') p++; ! 117: if(*p=='.') p++; ! 118: addr|=atoi(p); ! 119: MainForm->web_startup.interface_addr=addr; ! 120: } else ! 121: MainForm->web_startup.interface_addr=0; ! 122: MainForm->web_startup.max_clients=MaxClientsEdit->Text.ToIntDef(10); ! 123: MainForm->web_startup.max_inactivity=MaxInactivityEdit->Text.ToIntDef(300); ! 124: MainForm->web_startup.port=PortEdit->Text.ToIntDef(23); ! 125: MainForm->WebAutoStart=AutoStartCheckBox->Checked; ! 126: ! 127: SAFECOPY(MainForm->web_startup.root_dir ! 128: ,HtmlRootEdit->Text.c_str()); ! 129: SAFECOPY(MainForm->web_startup.error_dir ! 130: ,ErrorSubDirEdit->Text.c_str()); ! 131: SAFECOPY(MainForm->web_startup.js_ext ! 132: ,EmbeddedJsExtEdit->Text.c_str()); ! 133: SAFECOPY(MainForm->web_startup.ssjs_ext ! 134: ,ServerSideJsExtEdit->Text.c_str()); ! 135: ! 136: SAFECOPY(MainForm->web_startup.answer_sound ! 137: ,AnswerSoundEdit->Text.c_str()); ! 138: SAFECOPY(MainForm->web_startup.hangup_sound ! 139: ,HangupSoundEdit->Text.c_str()); ! 140: SAFECOPY(MainForm->web_startup.hack_sound ! 141: ,HackAttemptSoundEdit->Text.c_str()); ! 142: ! 143: if(DebugTxCheckBox->Checked==true) ! 144: MainForm->web_startup.options|=WEB_OPT_DEBUG_TX; ! 145: else ! 146: MainForm->web_startup.options&=~WEB_OPT_DEBUG_TX; ! 147: if(DebugRxCheckBox->Checked==true) ! 148: MainForm->web_startup.options|=WEB_OPT_DEBUG_RX; ! 149: else ! 150: MainForm->web_startup.options&=~WEB_OPT_DEBUG_RX; ! 151: if(AccessLogCheckBox->Checked==true) ! 152: MainForm->web_startup.options|=WEB_OPT_HTTP_LOGGING; ! 153: else ! 154: MainForm->web_startup.options&=~WEB_OPT_HTTP_LOGGING; ! 155: if(HostnameCheckBox->Checked==false) ! 156: MainForm->web_startup.options|=BBS_OPT_NO_HOST_LOOKUP; ! 157: else ! 158: MainForm->web_startup.options&=~BBS_OPT_NO_HOST_LOOKUP; ! 159: if(VirtualHostsCheckBox->Checked==true) ! 160: MainForm->web_startup.options|=WEB_OPT_VIRTUAL_HOSTS; ! 161: else ! 162: MainForm->web_startup.options&=~WEB_OPT_VIRTUAL_HOSTS; ! 163: ! 164: MainForm->SaveSettings(Sender); ! 165: } ! 166: //--------------------------------------------------------------------------- ! 167: void __fastcall TWebCfgDlg::AnswerSoundButtonClick(TObject *Sender) ! 168: { ! 169: OpenDialog->FileName=AnswerSoundEdit->Text; ! 170: if(OpenDialog->Execute()==true) { ! 171: AnswerSoundEdit->Text=OpenDialog->FileName; ! 172: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 173: } ! 174: } ! 175: //--------------------------------------------------------------------------- ! 176: void __fastcall TWebCfgDlg::HangupSoundButtonClick(TObject *Sender) ! 177: { ! 178: OpenDialog->FileName=HangupSoundEdit->Text; ! 179: if(OpenDialog->Execute()==true) { ! 180: HangupSoundEdit->Text=OpenDialog->FileName; ! 181: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 182: } ! 183: } ! 184: //--------------------------------------------------------------------------- ! 185: void __fastcall TWebCfgDlg::HackAttemptSoundButtonClick(TObject *Sender) ! 186: { ! 187: OpenDialog->FileName=HackAttemptSoundEdit->Text; ! 188: if(OpenDialog->Execute()==true) { ! 189: HackAttemptSoundEdit->Text=OpenDialog->FileName; ! 190: sndPlaySound(OpenDialog->FileName.c_str(),SND_ASYNC); ! 191: } ! 192: } ! 193: //--------------------------------------------------------------------------- ! 194: ! 195: void __fastcall TWebCfgDlg::AccessLogCheckBoxClick(TObject *Sender) ! 196: { ! 197: LogBaseLabel->Enabled=AccessLogCheckBox->Checked; ! 198: LogBaseNameEdit->Enabled=AccessLogCheckBox->Checked; ! 199: } ! 200: //--------------------------------------------------------------------------- ! 201:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.