Commit fb1f165f by Mac Stephens

big commit to change file structure, added config for client and several updates to server

parent 6eb0b640
webEFXCurrency/.vscode/
webEFXCurrency/__history/
webEFXCurrency/__recovery/
webEFXCurrency/config/__history/
webEFXCurrency/css/__history/
webEFXCurrency/TMSWeb/
webEFXCurrency/Win32/
webEFXCurrency/Win64/
EFXEMailServer/Win64/
EFXEmailServer/XDataEmailServer/__history/
EFXEmailServer/__history/
EFXEmailServer/__recovery/
EFXEmailServer/bin/logs/
EFXEmailServer/Source/__history/
EFXEmailServer/Win32/
emFileShareAdmin/__history
emFileShareAdmin/__recovery
emFileShareAdmin/Win64x/Debug
emFileShareAdmin/Win64x/Release
*.exe
*.local
*.res
*.identcache
*.txt
*.skincfg
emFileShareAdmin/__history/
emFileShareAdmin/Source/__history/
emFileShareAdmin/Win64x/Debug/
webEFXCurrency/images/nataliepicture.jpg
*.exe
*.dll
*.bpl
*.bpi
*.dcp
*.so
*.apk
*.drc
*.map
*.dres
*.rsm
*.tds
*.dcu
*.lib
*.a
*.o
*.ocx
*.cfg
*.hpp
*Resource.rc
*.local
*.identcache
*.projdata
*.tvsconfig
*.dsk
__history/
__recovery/
*.~*
*.stat
vscode/
TMSWeb/
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.3.0",
"configurations": [
{
"preLaunchTask": "Build",
"type": "chrome",
"request": "launch",
"name": "Run",
"url": "http://localhost:${command:rad4.tms.web.port.debug}/${command:rad4.tms.getcurrentproject.html.file}",
"webRoot": "${workspaceFolder}",
"timeout": 20000
},
{
"preLaunchTask": "Build",
"type": "chrome",
"request": "launch",
"name": "Run Without Debugging",
"url": "http://localhost:${command:rad4.tms.web.port.release}/${command:rad4.tms.getcurrentproject.html.file}",
"webRoot": "${workspaceFolder}",
"timeout": 20000
}
]
}
\ No newline at end of file
{
"version": "2.0.0",
"runner": "terminal",
"tasks": [
{
"label": "Build",
"dependsOrder": "sequence",
"dependsOn": [
"Echo",
"Active"
]
},
{
"label": "Echo",
"type": "shell",
"command": "echo 'Building...'",
"problemMatcher": []
},
{
"label": "Sleepdelay",
"type": "shell",
"command": "sleep ${config:TMS.options.electron.debug.delay}",
"windows": {
"command": "ping 127.0.0.1 -n ${config:TMS.options.electron.debug.delay} > '${workspaceFolder}\\.vscode\\null.txt'"
},
"group": "none",
"presentation": {
"reveal": "silent",
"panel": "new"
}
},
{
"label": "Active",
"type": "build",
"operation": "compile",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$tmswebcoreerror",
"$tmswebcorewarning"
]
},
{
"label": "Debug",
"type": "build",
"operation": "compile",
"buildconfiguration": "Debug",
"group": "build",
"problemMatcher": [
"$tmswebcoreerror",
"$tmswebcorewarning"
]
},
{
"label": "Release",
"type": "build",
"operation": "compile",
"buildconfiguration": "Release",
"group": "build",
"problemMatcher": [
"$tmswebcoreerror",
"$tmswebcorewarning"
]
}
]
}
\ No newline at end of file
{"tms":{"desktop":{"theme":"auto","layouts":{"Default Desktop":"{\"dockbox\":{\"id\":\"docklayoutbase\",\"size\":200,\"mode\":\"horizontal\",\"children\":[{\"id\":\"leftlayout\",\"size\":300,\"mode\":\"vertical\",\"children\":[{\"id\":\"+1\",\"size\":200,\"tabs\":[{\"id\":\"structure\"}],\"activeId\":\"structure\"},{\"id\":\"+2\",\"size\":200,\"tabs\":[{\"id\":\"objectinspector\"}],\"activeId\":\"objectinspector\"}]},{\"id\":\"+3\",\"size\":1000,\"tabs\":[{\"id\":\"documentgroup\"}],\"activeId\":\"documentgroup\"},{\"id\":\"rightlayout\",\"size\":250,\"tabs\":[{\"id\":\"toolpalette\"}],\"activeId\":\"toolpalette\"}]},\"floatbox\":{\"id\":\"+4\",\"size\":1,\"mode\":\"float\",\"children\":[]},\"maxbox\":{\"id\":\"+5\",\"size\":1,\"mode\":\"maximize\",\"children\":[]}}"},"active":"Default Desktop"},"packages":{"installed":{"k0webcore":{"name":"TMS WEB Core","path":"core\\webcore.twcl","checked":true}}},"formDesigner":{"gridOptions":{"displayGrid":"true","useDesignerGuidelines":"true","snapToGrid":"true","gridSizeX":8,"gridSizeY":8},"options":{"showComponentCaptions":"true","showDesignerHints":"true","showExtendedControlHints":"true","showNonVisualComponents":"true","deleteEmptyEventHandlersOnSave":"true"}},"options":{"electron":{"debug":{"port":"9223","delay":"3","timeout":"10000"}},"automaticallyCopyFileExtensions":"","outputPath":".\\$(Platform)\\$(Config)","singleJavascriptFile":"","ecmaScript":""}},"omnipascal":{"delphiInstallationPath":"","freePascalSourcePath":"","defaultDevelopmentEnvironment":"Delphi","searchPath":"c:\\Users\\Admin\\.vscode\\extensions\\tmssoftware.tmswebcore-2.5.7377\\resources\\coresource\\*","msbuildPath":"","lazbuildPath":"","createBuildScripts":false,"symbolIndex":"workspace","usesListStyle":"multipleItemsPerLine","namingConventionString":"pascalCase"}}
\ No newline at end of file
[SMTP]
Host=gator3304.hostgator.com
Port=465
Username=webmaster@efxcurrencyexchange.com
Password=U51-M7KhiEMj
FromEmail=webmaster@efxcurrencyexchange.com
RecipientEmail=mac@em-sys.net
\ No newline at end of file
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{2A3028D9-BC39-4625-9BA5-0338012E2824}</ProjectGuid>
<ProjectVersion>20.1</ProjectVersion>
<ProjectGuid>{6B794E70-BAF4-45E4-BAD5-D5EC9F790541}</ProjectGuid>
<ProjectVersion>20.2</ProjectVersion>
<FrameworkType>VCL</FrameworkType>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Debug</Config>
......@@ -9,6 +9,7 @@
<TargetedPlatforms>3</TargetedPlatforms>
<AppType>Application</AppType>
<MainSource>EFXEmailServer.dpr</MainSource>
<ProjectName Condition="'$(ProjectName)'==''">EFXEmailServer</ProjectName>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
......@@ -161,13 +162,8 @@
<Source Name="MainSource">EFXEmailServer.dpr</Source>
</Source>
</Delphi.Personality>
<Deployment Version="4">
<DeployFile LocalName="Win32\Debug\EFXEmailServer.exe" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32">
<RemoteName>EFXEmailServer.exe</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<Deployment Version="5">
<DeployFile LocalName="Win32\Debug\EFXEmailServer.exe" Configuration="Debug" Class="ProjectOutput"/>
<DeployClass Name="AdditionalDebugSymbols">
<Platform Name="iOSSimulator">
<Operation>1</Operation>
......@@ -180,16 +176,6 @@
<Operation>0</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidClasses">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>64</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>64</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider">
<Platform Name="Android">
<RemoteDir>res\xml</RemoteDir>
......@@ -200,12 +186,6 @@
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir>
......@@ -828,6 +808,9 @@
<Platform Name="Win64">
<Operation>1</Operation>
</Platform>
<Platform Name="Win64x">
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="ProjectiOSDeviceDebug">
<Platform Name="iOSDevice32">
......@@ -1120,6 +1103,7 @@
<ProjectRoot Platform="OSXARM64" Name="$(PROJECTNAME).app"/>
<ProjectRoot Platform="Win32" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win64" Name="$(PROJECTNAME)"/>
<ProjectRoot Platform="Win64x" Name="$(PROJECTNAME)"/>
</Deployment>
<Platforms>
<Platform value="Win32">True</Platform>
......
......@@ -34,15 +34,21 @@ var
Message: TIdMessage;
SSL: TIdSSLIOHandlerSocketOpenSSL;
EFXIni: TIniFile;
IniPath: string;
begin
EFXIni := TIniFile.Create('C:\Projects\xdataemailservice\Config\EFX.ini');
// Load the .ini file that matches the executable's name (e.g. EFXEmailServer.ini)
IniPath := ChangeFileExt(ParamStr(0), '.ini');
if not FileExists(IniPath) then
raise Exception.Create('Configuration file not found: ' + IniPath);
EFXIni := TIniFile.Create(IniPath);
try
SMTP := TIdSMTP.Create(nil);
try
Message := TIdMessage.Create(nil);
try
if not EFXIni.SectionExists('SMTP') then
raise Exception.Create('Configuration section [SMTP] not found.');
raise Exception.Create('Configuration section [SMTP] not found in ' + IniPath);
SMTP.Host := EFXIni.ReadString('SMTP', 'Host', '');
if SMTP.Host = '' then
......@@ -62,35 +68,48 @@ begin
Message.From.Address := EFXIni.ReadString('SMTP', 'FromEmail', '');
if Message.From.Address = '' then
raise Exception.Create('SMTP From Email is not configured.');
raise Exception.Create('SMTP FromEmail is not configured.');
Message.Recipients.EmailAddresses := EFXIni.ReadString('SMTP', 'RecipientEmail', '');
if Message.Recipients.EmailAddresses = '' then
raise Exception.Create('SMTP Recipient Email is not configured.');
raise Exception.Create('SMTP RecipientEmail is not configured.');
Message.Subject := Subject;
Message.Body.Text := Format(
'<html><body>' +
'<h4>Message from: %s (%s)</h4>' +
'<p>%s</p>' +
'</body></html>',
[Name, Email, Body.Replace(sLineBreak, '<br>')]);
'<html>' +
'<body style="font-family: Arial, sans-serif; font-size: 14px;">' +
'<h3>New Contact Us Form Submission</h3>' +
'<table cellpadding="6" cellspacing="0" border="0">' +
'<tr><td><strong>Name:</strong></td><td>%s</td></tr>' +
'<tr><td><strong>Email:</strong></td><td>%s</td></tr>' +
'<tr><td><strong>Subject:</strong></td><td>%s</td></tr>' +
'<tr valign="top"><td><strong>Message:</strong></td><td>%s</td></tr>' +
'<tr><td><strong>Timestamp:</strong></td><td>%s</td></tr>' +
'</table>' +
'</body>' +
'</html>',
[Name, Email, Subject, Body.Replace(sLineBreak, '<br>'), DateTimeToStr(Now)]
);
Message.ContentType := 'text/html';
// SSL and TLS setup
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(SMTP);
SMTP.IOHandler := SSL;
SMTP.UseTLS := utUseImplicitTLS;
// Send the email
SMTP.Connect;
SMTP.Send(Message);
SMTP.Disconnect;
// Optional logging
FMain.ContactFormData('Email Data:' + sLineBreak +
'Name: ' + Name + sLineBreak +
'Email: ' + Email + sLineBreak +
'Subject: ' + Subject + sLineBreak +
'Message: ' + Body);
Result := 'Email sent successfully';
finally
Message.Free;
end;
......@@ -100,12 +119,9 @@ begin
finally
EFXIni.Free;
end;
Result := 'Email sent successfully';
end;
initialization
RegisterServiceType(TEmailService);
......
......@@ -7,7 +7,7 @@ object FServerContainer: TFServerContainer
Top = 16
end
object XDataServer: TXDataServer
BaseUrl = 'http://+:2013/tms/email'
BaseUrl = 'http://+:2009/EFX/'
Dispatcher = SparkleHttpSysDispatcher
EntitySetPermissions = <>
SwaggerOptions.Enabled = True
......
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<Transactions>
<Transaction>2024/03/22 15:32:08.000.816,=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction>
<Transaction>2024/03/22 15:32:09.000.457,=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Unit2.pas</Transaction>
<Transaction>2024/03/22 15:33:13.000.394,=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\EmailService.pas</Transaction>
<Transaction>2024/03/22 15:33:13.000.472,=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\EmailServiceImplementation.pas</Transaction>
<Transaction>2024/03/22 15:33:58.000.928,C:\Projects\XDataEmailService\XDataEmailServer\EmailServiceImplementation.pas=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\EmailServiceImplementation.pas</Transaction>
<Transaction>2024/03/22 15:34:04.000.451,C:\Projects\XDataEmailService\XDataEmailServer\EmailService.pas=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\EmailService.pas</Transaction>
<Transaction>2024/03/22 15:34:05.000.576,C:\Projects\XDataEmailService\XDataEmailServer\Unit1.dfm=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Unit1.dfm</Transaction>
<Transaction>2024/03/22 15:34:05.000.576,C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Unit1.pas</Transaction>
<Transaction>2024/03/22 15:34:06.000.608,C:\Projects\XDataEmailService\XDataEmailServer\Unit2.pas=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Unit2.pas</Transaction>
<Transaction>2024/03/22 15:34:06.000.608,C:\Projects\XDataEmailService\XDataEmailServer\Unit2.dfm=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Unit2.dfm</Transaction>
<Transaction>2024/03/22 15:34:07.000.718,C:\Projects\XDataEmailService\XDataEmailServer\Project1.dproj=C:\Users\Admin\Documents\Embarcadero\Studio\Projects\Project1.dproj</Transaction>
<Transaction>2024/03/22 15:34:28.000.790,C:\Projects\XDataEmailService\XDataEmailServer\XDataEmailServer.dproj=C:\Projects\XDataEmailService\XDataEmailServer\Project1.dproj</Transaction>
<Transaction>2024/03/22 15:54:45.000.261,C:\Projects\XDataEmailService\XDataEmailServer\DB.Server.pas=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 15:54:45.000.261,C:\Projects\XDataEmailService\XDataEmailServer\DB.Server.dfm=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.dfm</Transaction>
<Transaction>2024/03/22 15:55:36.000.752,C:\Projects\XDataEmailService\XDataEmailServer\Server.Container.pas=C:\Projects\XDataEmailService\XDataEmailServer\DB.Server.pas</Transaction>
<Transaction>2024/03/22 15:55:36.000.752,C:\Projects\XDataEmailService\XDataEmailServer\Server.Container.dfm=C:\Projects\XDataEmailService\XDataEmailServer\DB.Server.dfm</Transaction>
<Transaction>2024/03/22 15:56:13.000.981,C:\Projects\XDataEmailService\XDataEmailServer\Email.Service.pas=C:\Projects\XDataEmailService\XDataEmailServer\EmailService.pas</Transaction>
<Transaction>2024/03/22 15:56:31.000.312,C:\Projects\XDataEmailService\XDataEmailServer\Email.ServiceImpl.pas=C:\Projects\XDataEmailService\XDataEmailServer\EmailServiceImplementation.pas</Transaction>
<Transaction>2024/03/22 15:57:04.000.478,C:\Projects\XDataEmailService\XDataEmailServer\Server.UI.dfm=C:\Projects\XDataEmailService\XDataEmailServer\Unit2.dfm</Transaction>
<Transaction>2024/03/22 15:57:04.000.478,C:\Projects\XDataEmailService\XDataEmailServer\Server.UI.pas=C:\Projects\XDataEmailService\XDataEmailServer\Unit2.pas</Transaction>
<Transaction>2024/03/22 16:35:03.000.674,=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:35:14.000.484,C:\Projects\XDataEmailService\XDataEmailServer\Common.Logging.pas=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:42:33.000.437,=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:42:44.000.209,C:\Projects\XDataEmailService\XDataEmailServer\FData.dfm=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.dfm</Transaction>
<Transaction>2024/03/22 16:42:44.000.209,C:\Projects\XDataEmailService\XDataEmailServer\FData.pas=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:42:55.000.463,C:\Projects\XDataEmailService\XDataEmailServer\Data.dfm=C:\Projects\XDataEmailService\XDataEmailServer\FData.dfm</Transaction>
<Transaction>2024/03/22 16:42:55.000.463,C:\Projects\XDataEmailService\XDataEmailServer\Data.pas=C:\Projects\XDataEmailService\XDataEmailServer\FData.pas</Transaction>
<Transaction>2024/03/22 16:45:56.000.370,C:\Projects\XDataEmailService\XDataEmailServer\Main.pas=C:\Projects\XDataEmailService\XDataEmailServer\Server.UI.pas</Transaction>
<Transaction>2024/03/22 16:45:56.000.370,C:\Projects\XDataEmailService\XDataEmailServer\Main.dfm=C:\Projects\XDataEmailService\XDataEmailServer\Server.UI.dfm</Transaction>
<Transaction>2024/03/22 16:47:34.000.744,=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:47:48.000.736,C:\Projects\XDataEmailService\XDataEmailServer\Database.pas=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:47:48.000.736,C:\Projects\XDataEmailService\XDataEmailServer\Database.dfm=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.dfm</Transaction>
<Transaction>2024/03/22 16:50:30.000.780,=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/03/22 16:51:16.000.099,C:\Projects\XDataEmailService\XDataEmailServer\Database.dfm=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.dfm</Transaction>
<Transaction>2024/03/22 16:51:16.000.099,C:\Projects\XDataEmailService\XDataEmailServer\Database.pas=C:\Projects\XDataEmailService\XDataEmailServer\Unit1.pas</Transaction>
<Transaction>2024/04/17 09:37:25.071,C:\Projects\xdataemailservice\XDataEmailServer\EFXEmailServer.dproj=C:\Projects\xdataemailservice\XDataEmailServer\XDataEmailServer.dproj</Transaction>
</Transactions>
</BorlandProject>
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment