unit _uf_add_xoc;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls,ComCtrls, ScktComp;
type
T_FAddXoc = class(TForm)
ed_filename: TEdit;
AA_0570_Label1: TLabel;
ed_filesize: TEdit;
AA_0571_Label2: TLabel;
Bevel1: TBevel;
AA_0567_btn_go: TButton;
AA_0569_btnCancel: TButton;
Shape1: TShape;
AA_0568_eTita: TLabel;
AA_0511_CmXocCategs: TComboBox;
AA_0572_Label4: TLabel;
ed_desc: TEdit;
AA_0573_Label5: TLabel;
AA_0575_echeck_nik: TCheckBox;
ed_file_http_url: TEdit;
AA_0574_Label6: TLabel;
ccConnector: TClientSocket;
eStat: TLabel;
ComImageo: TImage;
Image1: TImage;
_panelSuccess: TPanel;
ememo: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure AA_0569_btnCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ed_filenameChange(Sender: TObject);
procedure ccConnectorConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ccConnectorDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ccConnectorError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ccConnectorRead(Sender: TObject; Socket: TCustomWinSocket);
procedure AA_0567_btn_goClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
vZunderComNODA : TTreeNode;
end;
implementation
uses _uc_refs_consts, _uc_refs_vars, _uc_funcs, _uc_ip_codecs, _uc_GuiLanG;
{$R *.DFM}
//------------------------------------------------------------------------------
procedure T_FAddXoc.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.AA_0569_btnCancelClick(Sender: TObject);
begin
close;
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.FormShow(Sender: TObject);
begin
AA_0568_eTita.Caption:=format(AA_0568_eTita.Caption,[vZunderComNODA.Text]);
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ed_filenameChange(Sender: TObject);
begin
AA_0567_btn_go.Enabled:= (ed_filename.Text<>'') and
(ed_filesize.Text<>'') and
(AA_0511_CmXocCategs.Text<>'') and
(ed_desc.Text<>'') and
(ed_file_http_url.Text<>'');
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorConnect(Sender: TObject; Socket: TCustomWinSocket);
var
ss,sParams,sNik:string;
begin
eStat.Caption:=___ccc__0008__Connected;
if (AA_0575_echeck_nik.Checked) then sNik:=_VV_LOCAL_USER_NIKO else sNik:='NA';
(*
F_FILE_NAME,
F_FILE_SIZE,
F_FILE_URL,
F_FILE_DESCRIPTION,
F_FILE_ADDED_BY_USER_ID,
F_FILE_ADDED_BY_USER_NICKNAME,
F_FILE_CATEGORY
*)
sParams:='e=_T3'+
'&Fnm='+TIpCodecs.HTTPEncode(ed_filename.Text)+
'&Fsz='+TIpCodecs.HTTPEncode(ed_filesize.Text)+
'&Fur='+TIpCodecs._EnCodeTheHEXStringV2(ed_file_http_url.Text)+
'&Fds='+TIpCodecs.HTTPEncode(ed_desc.Text)+
'&Fud='+_VV_LOCAL_USER_PC_ID+
'&Fun='+TIpCodecs.HTTPEncode(sNik)+
'&Fct='+IntToStr(AA_0511_CmXocCategs.ItemIndex+1)
;
ss:='GET '+vZunderComNODA._EXO_NODE_PATH_TX+'?'+sParams+' HTTP/1.0'+ret+
'User-Agent: '+_C_EXOSEE_WEB_TEK_USER_MERDA+ret+
'Host: '+vZunderComNODA._EXO_NODE_USER_IP+ret+
'Connection: close'+ret+ret;
Socket.SendText(ss);
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var
_StrDATA,sID,sXocLink:String;
begin
eStat.Caption:='.';
AA_0569_btnCancel.Enabled:=true;
AA_0567_btn_go.Enabled:=true;
_StrDATA:=Socket._StokenStr;
//ShowMessage(_StrDATA);
if (_StrDATA='') then
begin
ShowMessage(___ccc__0079__ConnectionError+ret+ret+___ccc__0080__CheckYourInternet);
exit;
end;
if pos('_SC_462',_StrDATA)>0 then
begin
sID:=GimeStringBetween(_StrDATA,'[',']');
//ShowMessage(sID);
sID:=IntToHex(StrToInt64Def(sID,0)+687,0);
sXocLink:=LowerCase(vZunderComNODA._EXO_NODE_COM_IDX)+'FC7A82EC'+sID+'/'+ed_filename.Text;
sXocLink:=StringReplace(sXocLink,'http://','xoc://',[]);
//ShowMessage(sXocLink);
_panelSuccess.Visible:=True;
AA_0568_eTita.Caption:=___ccc__0097__XocInfoAddedOk;
AA_0568_eTita.Font.Color:=clGreen;
ememo.Lines.Add(ret+
___ccc__0095__GeneratedXOCLinks+ret+
sXocLink+ret+
ret+
___ccc__0096__GeneratedHtmlXOCLinks+ret+
'<A HREF="'+sXocLink+'">'+ed_filename.Text+'</A>');
AA_0567_btn_go.Visible:=false;
eStat.Visible:=false;
AA_0569_btnCancel.Caption:=___ccc__0072__Close;
end
else
ShowMessage('Server_data_SC_462_error !'); //+ret+ret+ _StrDATA
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
Socket.Close; // to trigger OnDisconnect
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorRead(Sender: TObject;Socket: TCustomWinSocket);
begin
Socket._StokenStr:=Socket._StokenStr+Socket.ReceiveText;
ccConnector.Tag:=ccConnector.Tag+Socket.ReceiveLength;
eStat.Caption:=___ccc__0078__ReceivingData+IntToStr(ccConnector.Tag);
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.AA_0567_btn_goClick(Sender: TObject);
begin
eStat.Caption:=___ccc__0045__Connecting;
AA_0569_btnCancel.Enabled:=false;
AA_0567_btn_go.Enabled:=false;
Application.ProcessMessages;
ccConnector.Host_name :=vZunderComNODA._EXO_NODE_USER_IP;
ccConnector.Port :=vZunderComNODA._EXO_NODE_eSERIAL; // auto set in login
ccConnector.Socket._StokenStr :='';
ccConnector.Tag :=0; // data length
ccConnector.Active :=true;
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.FormCreate(Sender: TObject);
begin
GoSetLANG(Self); //----- go loadLang --- if ok (1st here)
Caption:='ExoSee - '+___ccc__0563__AddXOC;
_panelSuccess.Top:=77;
end;
end.
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls,ComCtrls, ScktComp;
type
T_FAddXoc = class(TForm)
ed_filename: TEdit;
AA_0570_Label1: TLabel;
ed_filesize: TEdit;
AA_0571_Label2: TLabel;
Bevel1: TBevel;
AA_0567_btn_go: TButton;
AA_0569_btnCancel: TButton;
Shape1: TShape;
AA_0568_eTita: TLabel;
AA_0511_CmXocCategs: TComboBox;
AA_0572_Label4: TLabel;
ed_desc: TEdit;
AA_0573_Label5: TLabel;
AA_0575_echeck_nik: TCheckBox;
ed_file_http_url: TEdit;
AA_0574_Label6: TLabel;
ccConnector: TClientSocket;
eStat: TLabel;
ComImageo: TImage;
Image1: TImage;
_panelSuccess: TPanel;
ememo: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure AA_0569_btnCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ed_filenameChange(Sender: TObject);
procedure ccConnectorConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ccConnectorDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ccConnectorError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ccConnectorRead(Sender: TObject; Socket: TCustomWinSocket);
procedure AA_0567_btn_goClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
vZunderComNODA : TTreeNode;
end;
implementation
uses _uc_refs_consts, _uc_refs_vars, _uc_funcs, _uc_ip_codecs, _uc_GuiLanG;
{$R *.DFM}
//------------------------------------------------------------------------------
procedure T_FAddXoc.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.AA_0569_btnCancelClick(Sender: TObject);
begin
close;
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.FormShow(Sender: TObject);
begin
AA_0568_eTita.Caption:=format(AA_0568_eTita.Caption,[vZunderComNODA.Text]);
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ed_filenameChange(Sender: TObject);
begin
AA_0567_btn_go.Enabled:= (ed_filename.Text<>'') and
(ed_filesize.Text<>'') and
(AA_0511_CmXocCategs.Text<>'') and
(ed_desc.Text<>'') and
(ed_file_http_url.Text<>'');
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorConnect(Sender: TObject; Socket: TCustomWinSocket);
var
ss,sParams,sNik:string;
begin
eStat.Caption:=___ccc__0008__Connected;
if (AA_0575_echeck_nik.Checked) then sNik:=_VV_LOCAL_USER_NIKO else sNik:='NA';
(*
F_FILE_NAME,
F_FILE_SIZE,
F_FILE_URL,
F_FILE_DESCRIPTION,
F_FILE_ADDED_BY_USER_ID,
F_FILE_ADDED_BY_USER_NICKNAME,
F_FILE_CATEGORY
*)
sParams:='e=_T3'+
'&Fnm='+TIpCodecs.HTTPEncode(ed_filename.Text)+
'&Fsz='+TIpCodecs.HTTPEncode(ed_filesize.Text)+
'&Fur='+TIpCodecs._EnCodeTheHEXStringV2(ed_file_http_url.Text)+
'&Fds='+TIpCodecs.HTTPEncode(ed_desc.Text)+
'&Fud='+_VV_LOCAL_USER_PC_ID+
'&Fun='+TIpCodecs.HTTPEncode(sNik)+
'&Fct='+IntToStr(AA_0511_CmXocCategs.ItemIndex+1)
;
ss:='GET '+vZunderComNODA._EXO_NODE_PATH_TX+'?'+sParams+' HTTP/1.0'+ret+
'User-Agent: '+_C_EXOSEE_WEB_TEK_USER_MERDA+ret+
'Host: '+vZunderComNODA._EXO_NODE_USER_IP+ret+
'Connection: close'+ret+ret;
Socket.SendText(ss);
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var
_StrDATA,sID,sXocLink:String;
begin
eStat.Caption:='.';
AA_0569_btnCancel.Enabled:=true;
AA_0567_btn_go.Enabled:=true;
_StrDATA:=Socket._StokenStr;
//ShowMessage(_StrDATA);
if (_StrDATA='') then
begin
ShowMessage(___ccc__0079__ConnectionError+ret+ret+___ccc__0080__CheckYourInternet);
exit;
end;
if pos('_SC_462',_StrDATA)>0 then
begin
sID:=GimeStringBetween(_StrDATA,'[',']');
//ShowMessage(sID);
sID:=IntToHex(StrToInt64Def(sID,0)+687,0);
sXocLink:=LowerCase(vZunderComNODA._EXO_NODE_COM_IDX)+'FC7A82EC'+sID+'/'+ed_filename.Text;
sXocLink:=StringReplace(sXocLink,'http://','xoc://',[]);
//ShowMessage(sXocLink);
_panelSuccess.Visible:=True;
AA_0568_eTita.Caption:=___ccc__0097__XocInfoAddedOk;
AA_0568_eTita.Font.Color:=clGreen;
ememo.Lines.Add(ret+
___ccc__0095__GeneratedXOCLinks+ret+
sXocLink+ret+
ret+
___ccc__0096__GeneratedHtmlXOCLinks+ret+
'<A HREF="'+sXocLink+'">'+ed_filename.Text+'</A>');
AA_0567_btn_go.Visible:=false;
eStat.Visible:=false;
AA_0569_btnCancel.Caption:=___ccc__0072__Close;
end
else
ShowMessage('Server_data_SC_462_error !'); //+ret+ret+ _StrDATA
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
Socket.Close; // to trigger OnDisconnect
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.ccConnectorRead(Sender: TObject;Socket: TCustomWinSocket);
begin
Socket._StokenStr:=Socket._StokenStr+Socket.ReceiveText;
ccConnector.Tag:=ccConnector.Tag+Socket.ReceiveLength;
eStat.Caption:=___ccc__0078__ReceivingData+IntToStr(ccConnector.Tag);
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.AA_0567_btn_goClick(Sender: TObject);
begin
eStat.Caption:=___ccc__0045__Connecting;
AA_0569_btnCancel.Enabled:=false;
AA_0567_btn_go.Enabled:=false;
Application.ProcessMessages;
ccConnector.Host_name :=vZunderComNODA._EXO_NODE_USER_IP;
ccConnector.Port :=vZunderComNODA._EXO_NODE_eSERIAL; // auto set in login
ccConnector.Socket._StokenStr :='';
ccConnector.Tag :=0; // data length
ccConnector.Active :=true;
end;
//------------------------------------------------------------------------------
procedure T_FAddXoc.FormCreate(Sender: TObject);
begin
GoSetLANG(Self); //----- go loadLang --- if ok (1st here)
Caption:='ExoSee - '+___ccc__0563__AddXOC;
_panelSuccess.Top:=77;
end;
end.