unit Unit1;
(*
****************************** EXOSEE CLIENT 1.0.0*********************************************
Author : Ismail CHAGDALI / 2003-2007
Dev Tool : Borland Delphi 5
*)
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ScktComp, XPManifest, xocTaskBar, ImgList, Menus, OleCtrls,ExtCtrls,
StdCtrls, xocLabel, ComCtrls, xocStatusBar, xocTreeView,ShellApi,
xocCButton, ToolWin, Buttons, xocBeveL, xocLogger, SHDocVw_TLB,EmbeddedWB;
type
T_FXOC_MAIN = class(TForm)
__PaneLMAIN: TPanel;
__PaneLMAIN_A: TPanel;
Splitter1: TSplitter;
__PaneLMAIN_B: TPanel;
The_Pages: TPageControl;
TabExplorer: TTabSheet;
TabTraffic: TTabSheet;
TabComsWebs: TTabSheet;
TaskbarIcon1: TTaskbarIcon;
XPManifest1: TXPManifest;
AA_0515_LVExpLorer: TListView;
Panel_BTM_TRAFFIC: TPanel;
Splitter2: TSplitter;
Panel_TOP_TRAFFIC: TPanel;
TabForums: TTabSheet;
eComsWebsPAGES: TPageControl;
AA_0517_vCompleted: TListView;
AA_0516_vTraffic: TListView;
_TExoSeeSERVER: TServerSocket;
PaneLLL: TPanel;
Image1: TImage;
_xpuzerMsg: TLabel;
TabXoc: TTabSheet;
_pp_xpoz: TPopupMenu;
xplorupdate: TMenuItem;
N3: TMenuItem;
_mn_chat: TMenuItem;
_mn_add2Favs: TMenuItem;
N4: TMenuItem;
_mn_zundFile: TMenuItem;
_mn_zundFolder: TMenuItem;
N13: TMenuItem;
_mn_RemUser: TMenuItem;
N6: TMenuItem;
_mn_NetAdmin: TMenuItem;
_mn_adminBan: TMenuItem;
_mn_NetMod: TMenuItem;
_mn_modBan: TMenuItem;
N8: TMenuItem;
Settings2: TMenuItem;
_TM_UP_TEKKER: TTimer;
eeUzerIco: TImage;
ssCHATER: TServerSocket;
PaneLCC: TPanel;
_images: TImageList;
_TM_TRAFFICY: TTimer;
PPP_TraFFic: TPopupMenu;
AA_0431_CanZeL: TMenuItem;
N15: TMenuItem;
AA_0432_Ztop: TMenuItem;
AA_0415_reZume: TMenuItem;
N17: TMenuItem;
AA_0402_oppdwF: TMenuItem;
pp_vExploration: TPopupMenu;
dL1: TMenuItem;
N21: TMenuItem;
eXPLRuser: TExoSeeLabel;
_mn_StopCom: TMenuItem;
Panel4: TPanel;
zzzChat: TxocCButton;
N1: TMenuItem;
_mn_comPropes: TMenuItem;
Panel5: TPanel;
eComsXOCsPAGES: TPageControl;
Shape1: TShape;
ppMain: TPopupMenu;
AA_0400_Start1: TMenuItem;
N2: TMenuItem;
N5: TMenuItem;
AA_0401_Settings1: TMenuItem;
AA_0402_OpenMyDlFolder: TMenuItem;
AA_0407_Tools1: TMenuItem;
AA_0414_Exit1: TMenuItem;
AA_0408_Help1: TMenuItem;
AA_0409_Help2: TMenuItem;
N7: TMenuItem;
N9: TMenuItem;
AA_0413_About1: TMenuItem;
AA_0410_ExoHome: TMenuItem;
AA_0411_XOCHomepage1: TMenuItem;
Panel6: TPanel;
Shape2: TShape;
eExoSeePanelsSTAT: TLabel;
Panel8: TPanel;
Image2: TImage;
Panel9: TPanel;
Shape4: TShape;
PaneLBTM: TPanel;
eeeID: TLabel;
CapVersion: TLabel;
AA_0500_eFileMainMENU: TxocCButton;
Panel7: TPanel;
Panel11: TPanel;
Panel12: TPanel;
Shape5: TShape;
xBeveL1: TxBeveL;
_eExplorerTV: TxocTreeView;
xBeveL2: TxBeveL;
PaneLTabber: TPanel;
Shape3: TShape;
AA_0501_bbb0: TxocCButton;
AA_0502_bbb1: TxocCButton;
AA_0503_bbb2: TxocCButton;
bbb3: TxocCButton;
bbb4: TxocCButton;
AA_0530_CButton5: TxocCButton;
AA_0608_cccExoSeeWEB: TxocCButton;
_pExoseePANELS: TPanel;
_pExoseeWeb: TPanel;
TheExoWeb: TEmbeddedWB;
TMcomWebKIKer: TTimer;
Panel13: TPanel;
Shape6: TShape;
explorStatPath: TLabel;
explorStatFiles: TLabel;
Label7: TLabel;
xplorProgresser: TProgressBar;
Shape7: TShape;
zzzSendFile: TxocCButton;
Label6: TLabel;
Label8: TLabel;
Panel14: TPanel;
Panel15: TPanel;
Shape9: TShape;
AA_0606_Label1: TLabel;
Panel16: TPanel;
AA_0607_Label2: TLabel;
Image3: TImage;
Image4: TImage;
Panel17: TPanel;
Shape8: TShape;
Panel18: TPanel;
Shape10: TShape;
Panel19: TPanel;
Shape11: TShape;
PaneLwebTABS: TPanel;
PaneLxocTABS: TPanel;
_pExoseeHelp: TPanel;
TheExoHELP: TEmbeddedWB;
TheLOGGER: TLogger;
N10: TMenuItem;
AA_0403_MyStatus1: TMenuItem;
N11: TMenuItem;
AA_0404_OnLine1: TMenuItem;
AA_0405_Away1: TMenuItem;
N12: TMenuItem;
AA_0406_SetAWAYmsg: TMenuItem;
Label4: TLabel;
Label9: TLabel;
Label10: TLabel;
iko_1: TImage;
Label11: TLabel;
iko_0: TImage;
Label12: TLabel;
AA_0505_Label13: TLabel;
eeOnStata: TLabel;
AA_0430_OpnFolder: TMenuItem;
_mn_delfav: TMenuItem;
opn: TOpenDialog;
TabLog: TTabSheet;
AA_0504_bbb5: TxocCButton;
LocalMemoLOG: TMemo;
Shape12: TShape;
Shape13: TShape;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label13: TLabel;
TmKLOZZER: TTimer;
TmVersionNOTIFY: TTimer;
ccBannector: TClientSocket;
_mn_infoUser: TMenuItem;
clearbanned: TMenuItem;
N14: TMenuItem;
AA_0433_IconsHelp: TMenuItem;
izDebugerON: TCheckBox;
procedure OnStatusBarResize(Sender: TObject);
procedure AA_0413_About1Click(Sender: TObject);
procedure eeStartClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Splitter1CanResize(Sender: TObject; var NewSize: Integer;
var Accept: Boolean);
procedure zettingsClick(Sender: TObject);
procedure _eExplorerTVGetImageIndex(Sender: TObject; Node: TTreeNode);
procedure _eExplorerTVCollapsing(Sender: TObject; Node: TTreeNode;
var AllowCollapse: Boolean);
procedure _TExoSeeSERVERGetThread(Sender: TObject;
ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
procedure _eExplorerTVChange(Sender: TObject; Node: TTreeNode);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure _eExplorerTV_Tip(Sender: TObject; Item: TTreeNode; var Info: String);
procedure AA_0515_LVExpLorerDblClick(Sender: TObject);
procedure _pp_xpozPopup(Sender: TObject);
procedure _eExplorerTVMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure _TM_UP_TEKKERTimer(Sender: TObject);
procedure ssCHATERClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ssCHATERClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure ssCHATERClientRead(Sender: TObject; Socket: TCustomWinSocket);
procedure _mn_chatClick(Sender: TObject);
procedure _TM_TRAFFICYTimer(Sender: TObject);
procedure xplorupdateClick(Sender: TObject);
procedure AA_0402_OpenMyDlFolderClick(Sender: TObject);
procedure PPP_TraFFicPopup(Sender: TObject);
procedure AA_0431_CanZeLClick(Sender: TObject);
procedure AA_0432_ZtopClick(Sender: TObject);
procedure AA_0415_reZumeClick(Sender: TObject);
procedure AA_0517_vCompletedDblClick(Sender: TObject);
procedure AA_0517_vCompletedInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String);
procedure pp_vExplorationPopup(Sender: TObject);
procedure TheExoWebTitleChange(Sender: TObject; const Text: WideString);
procedure CoolBar1Resize(Sender: TObject);
procedure _mn_comPropesClick(Sender: TObject);
procedure AA_0414_Exit1Click(Sender: TObject);
procedure eComsXOCsPAGESChange(Sender: TObject);
procedure The_PagesDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
procedure bbbsClick(Sender: TObject);
procedure TabsShow(Sender: TObject);
procedure AA_0608_cccExoSeeWEBClick(Sender: TObject);
procedure TMcomWebKIKerTimer(Sender: TObject);
procedure AA_0530_CButton5Click(Sender: TObject);
procedure TheExoTitleChange(Sender: TObject; const Text: WideString);
procedure _mn_StopComClick(Sender: TObject);
procedure ppMainPopup(Sender: TObject);
procedure AA_0404_OnLine1Click(Sender: TObject);
procedure AA_0406_SetAWAYmsgClick(Sender: TObject);
procedure _mn_add2FavsClick(Sender: TObject);
procedure _mn_delfavClick(Sender: TObject);
procedure _mn_zundFileClick(Sender: TObject);
procedure GoOnlineClick(Sender: TObject);
procedure OnStatsDblClick(Sender: TObject);
procedure _mn_zundFolderClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure TmKLOZZERTimer(Sender: TObject);
procedure GoFreeComsOwnDynamicTabs(Sender: TObject);
procedure TmVersionNOTIFYTimer(Sender: TObject);
procedure AA_0430_OpnFolderClick(Sender: TObject);
procedure _mn_adminBanClick(Sender: TObject);
procedure ccBannectorConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ccBannectorError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ccBannectorRead(Sender: TObject; Socket: TCustomWinSocket);
procedure ccBannectorDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure _mn_infoUserClick(Sender: TObject);
procedure _mn_RemUserClick(Sender: TObject);
procedure clearbannedClick(Sender: TObject);
procedure AA_0433_IconsHelpClick(Sender: TObject);
private
_XpActiveNODE : TTreeNode;
_XpActiveUSER : TTreeNode;
procedure exosee_Data_msg(var Msg: TWMCopyData); message WM_COPYDATA;
public
{ Déclarations publiques }
end;
var
_FXOC_MAIN: T_FXOC_MAIN;
hawa:thandle;
para:string;
implementation
uses _uc_refs_consts, _uf_web_model, _uc_funcs, _uf_about, _uf_start,
_uc_refs_vars, _uf_settings, _uc_reg_settings,
_uc_ExoSeeKerneL, _i_do_exploration, _i_explorer, _uc_tek_updater_thread,
_uf_wizard, _uf_chat, _uc_crypto, _uf_ComProps, _uc_ip_codecs,
_uf_xoc_model, _uf_xoc_downloader, _uf_debugerLog, _uf_sendFile,
_uc_GuiLanG, _uf_xoc_icons;
{$R *.DFM}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure _zend_msg(s:string;hh:thandle;code:integer);
var
structa: TCopyDataStruct;
data:string;
begin
data :=s; // max 255
structa.dwData := code;
structa.cbData := length(data);
structa.lpData := PChar(data);
SendMessage(hh,WM_COPYDATA,0,Longint(@structa));
end;
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.exosee_Data_msg(var Msg: TWMCopyData);
var
sText: array[0..255] of Char;
_code:integer;
_FXOC_DOWNLOADER: T_FXOC_DOWNLOADER;
//sDownloadURL:string;
begin
StrLCopy(sText, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
_code:=Msg.CopyDataStruct.dwData;
case _code of
701 : begin
_FXOC_DOWNLOADER:=T_FXOC_DOWNLOADER.Create(Application);
_FXOC_DOWNLOADER.__LOCAL_DOWNLOAD_FOLDER:=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER;
_FXOC_DOWNLOADER._ZUNDER_IS_WEB_XOC_LINK:=true;
_FXOC_DOWNLOADER.pnLwebxocLINK.Left :=0;
_FXOC_DOWNLOADER.pnLwebxocLINK.Top :=65;
_FXOC_DOWNLOADER.pnLwebxocLINK.Visible :=true;
_FXOC_DOWNLOADER.edXocini.Text :=sText;
_FXOC_DOWNLOADER.Show; // normal show as will be in tasbar
end;
702 : SetForegroundWindow(Handle);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.OnStatusBarResize(Sender: TObject);
begin
if TStatusBar(Sender).HandleAllocated then InvalidateRect(TStatusBar(Sender).Handle, nil, True);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0413_About1Click(Sender: TObject);
begin
with T_FXOC_ABOUT.Create(Application) do
begin
Caption:=___ccc__0413__About;
ShowModal;
Free;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.eeStartClick(Sender: TObject);
begin
_FXOC_START.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormActivate(Sender: TObject);
begin
if tag=1 then exit; tag:=1; // on once activate
Application.ProcessMessages;
Update;
Application.ProcessMessages;
TheExoWeb.Navigate('http://web.exosee.com/');
Application.ProcessMessages;
_FXOC_START.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormCreate(Sender: TObject);
begin
//-- load language file if exists
GoCheckLanguageFileAndLoadItIfExists;
GoSetLANG(Self); //----- go loadLang --- if ok (1st here)
Application.ProcessMessages;
//izDebugerON.Checked:=false; // force
_VV_LOCAL_USER_PC_ID:=GetLocalPcID;
//_VV_LOCAL_USER_PC_ID:='1E45355312';// inc always to not fav
//if (izDebugerON.Checked)and(_VV_LOCAL_USER_PC_ID<>'1E45355311') then izDebugerON.Checked:=false; // protect debug log
(*
if (izDebugerON.Checked) then
begin
_FDBGLOG:=T_FDBGLOG.Create(Application);
_FDBGLOG.Show;
end;
*)
_images.Overlay(62, 0); // admin
_images.Overlay(63, 1); // mod
_images.Overlay(52, 2); // fav
TExoSeeSettings.LoadSettings;
//-----1st_startup_wizard----------
if EXPLORER_PUBLIC_ROOTS.Count=0 then
with TF_SETUP_WIZARD.Create(Application) do
begin
Showmodal;
Free;
TExoSeeSettings.SaveSettings;
Application.ProcessMessages;
TExoSeeSettings.LoadSettings;
end;
if Application.Terminated then exit;
InitialiseLocals;
LoadGuiNodes;
_FXOC_MAIN.TheLOGGER.Log(ret+_APPLICATION_NAME+' '+_APPLICATION_VERSION_STRING+ret);
CapVersion.Caption:='v'+_APPLICATION_VERSION_STRING;
Caption:=_APPLICATION_NAME;// sek for params to catch window
eeeID.Caption:=_VV_LOCAL_USER_PC_ID;
_TM_UP_TEKKER.Interval:=120000; // 2 min //
_TM_UP_TEKKER.Enabled:=true;
_TM_TRAFFICY.Enabled:=true;
The_Pages.ActivePage:=TabForums ;
AA_0608_cccExoSeeWEB.SetAsSELECTED;
_validate_The_Local_folders;
PaneLTabber.Top:=1;
PaneLTabber.Left:=1;
iko_1.Visible:=(_VV_LOCAL_USER_ONLINE_STATUS='A');
iko_0.Visible:=not iko_1.Visible;
if (iko_1.Visible) then eeOnStata.Caption:=___ccc__0001__Online else eeOnStata.Caption:=___ccc__0002__Away;
TExoSeeSettings._loadFavs;
_FXOC_MAIN._TExoSeeSERVER.Port:=_C_EXOSEE_MASTER_SERVER_PORT; // 716
_FXOC_MAIN._TExoSeeSERVER.Active:=true;
_FXOC_MAIN.ssCHATER.Port:=_C_EXOSEE_CHATER_SERVER_PORT; // 717
_FXOC_MAIN.ssCHATER.Active:=true;
//Set8087CW($133F);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.Splitter1CanResize(Sender: TObject;
var NewSize: Integer; var Accept: Boolean);
begin
Accept:=(NewSize>140) and (NewSize<340);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.zettingsClick(Sender: TObject);
begin
_FXOC_SETTINGS.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVGetImageIndex(Sender: TObject; Node: TTreeNode);
begin
case node.ImageIndex of
21 : node.SelectedIndex:=22;
23 : node.SelectedIndex:=24;
25 : node.SelectedIndex:=26;
else node.SelectedIndex:=node.ImageIndex;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVCollapsing(Sender: TObject;
Node: TTreeNode; var AllowCollapse: Boolean);
begin
AllowCollapse:=(Node<>_TV_NODE_OF_HOME_ROOT)and (Node<>_TV_NODE_OF_COMMUNITIES);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._TExoSeeSERVERGetThread(Sender: TObject;
ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
begin
SocketThread :=TEXOSEE_KERNEL_THREAD.Create(true, ClientSocket);
SocketThread.FreeOnTerminate :=true;
SocketThread.KeepInCache :=false;
SocketThread.OnTerminate :=TEXOSEE_KERNEL_THREAD(SocketThread).On_terminated;
SocketThread.Resume;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVChange(Sender: TObject; Node: TTreeNode);
var
i:integer;
sNik:string;
begin
_XpActiveUSER:=nil;
eXPLRuser.Caption:='';
_xpuzerMsg.Caption:='';
zzzChat.Enabled :=false;
zzzSendFile.Enabled:=false;
zzzChat.Hint :=___ccc__0003__Chat;
zzzSendFile.Hint :=___ccc__0004__FileSend;
(*
NODE LEVELS :
. = Home
E = Communities
F = Favs NODE
L = fav user incative
M = active fav user
C = Community
Z = USER
X = .xoc
*)
if (Node._EXO_NODE_X_LEVEL='C')and(NOT Node._EXO_NODE_IS_STOPING) then
begin
TabComsWebs.Show;
for i:=0 to eComsWebsPAGES.PageCount-1 do
if (eComsWebsPAGES.Pages[i].Caption=Node.Text)then
begin
eComsWebsPAGES.Pages[i].Show;
break;
end;
Application.ProcessMessages;
exit;
end;
if (Node._EXO_NODE_X_LEVEL='X')and(NOT Node._EXO_NODE_IS_STOPING) then
begin
TabXoc.Show;
for i:=0 to eComsXOCsPAGES.PageCount-1 do
if (eComsXOCsPAGES.Pages[i].Caption=Node.Parent.Text)then
begin
eComsXOCsPAGES.Pages[i].Show;
break;
end;
Application.ProcessMessages;
exit;
end;
if NOT(Node._EXO_NODE_X_LEVEL in ['Z','M']) then exit; // Only user code here !!!
//_fgui._XpLoRer.AutoExpand:=true;
TabExplorer.Show;
_XpActiveNODE:=Node; //
_XpActiveUSER:=_eExplorerTV.Items.getnode(Node._EXO_NODE_ROOT_HD);
eXPLRuser.Caption:=_XpActiveUSER.Text;
_xpuzerMsg.Caption:=StringReplace(_XpActiveUSER._EXO_NODE_MESSAGE,';',' ',[rfReplaceAll]);
sNik:=eXPLRuser.Caption;
_images.GetIcon(_XpActiveUSER.ImageIndex,eeUzerIco.Picture.Icon);
zzzChat.Enabled :=true;
zzzSendFile.Enabled:=true;
zzzChat.Hint :=___ccc__0005__ChatWith+sNik;
zzzSendFile.Hint :=___ccc__0006__SendFileTo+sNik;
explorStatFiles.Caption:=format(___ccc__0062__XfolderXfiles,[0,0]);
explorStatPath.Caption:='...';
_clear_faster(AA_0515_LVExpLorer); // clear lv
AA_0515_LVExpLorer.Update;
Application.ProcessMessages;
//ShowMessage(_XpActiveNODE.Text+ret+IntToStr(length(_XpActiveNODE._EXO_NODE_DATA_STOCK)));
if (_XpActiveNODE._EXO_NODE_DATA_STOCK<>'') then
begin
_go_xpLorEr_ShowA_node(_XpActiveNODE);
end
else
with T_i_explorer_THREAD.Create do
begin
_XpUzoPP :=_XpActiveNODE._EXO_NODE_USER_IP;
_XpNode :=_XpActiveNODE;
Resume;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.GoFreeComsOwnDynamicTabs(Sender: TObject);
var
i,j,k:integer;
sName:String;
begin
for i:=0 to eComsWebsPAGES.PageCount-1 do
begin
sName:=eComsWebsPAGES.Pages[i].Caption;
(* *)
//_1________free__T_FrameWEB______by_hint_com_name
for j:=0 to PaneLwebTABS.ComponentCount-1 do
if (T_FrameWEB(PaneLwebTABS.Components[j]).Hint=sName) then
begin
T_FrameWEB(PaneLwebTABS.Components[j]).Parent:=nil; // the fix
T_FrameWEB(PaneLwebTABS.Components[j]).Free;
break;
end;
//_2________free__TTabSheet______by_caption__com_name
for k:=0 to PaneLwebTABS.ComponentCount-1 do
if (TTabSheet(PaneLwebTABS.Components[k]).Caption=sName) then
begin
TTabSheet(PaneLwebTABS.Components[k]).Free;
break;
end;
// we freed so count is dec >> go ahead ... we exit
if (eComsWebsPAGES.PageCount>0) then GoFreeComsOwnDynamicTabs(nil);
break;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
(*
CanClose:=(TmKLOZZER.Tag=2);
case TmKLOZZER.Tag of
0: GoWebsAssingBLANKPAGES; // set blank pages first
1 :GoFreeComsOwnDynamicTabs(nil); //
end;
TmKLOZZER.Enabled:=true; // go free and close in some seconds
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TmKLOZZERTimer(Sender: TObject);
begin
TmKLOZZER.Enabled:=false;
TmKLOZZER.Tag:=TmKLOZZER.Tag+1;
Close;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormClose(Sender: TObject; var Action: TCloseAction);
begin
_THE_EXOSEE_APPLICATION_IS_TERMINATED:=true;
Application.ProcessMessages;
Application.ProcessMessages;
Application.ProcessMessages;
TExoSeeSettings.SaveSettings;
GoFreeComsOwnDynamicTabs(nil); // destroy created web tabs++
Application.ProcessMessages;
GoFreeComs_Xoc_Tabs; // destroy created xoc tabs++
//if (izDebugerON.Checked) then _FDBGLOG.Free;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTV_Tip(Sender: TObject; Item: TTreeNode; var Info: String);
begin
Case item._EXO_NODE_X_LEVEL of
//'L' : Info:=Item._EXO_NODE_COM_IDX;
'C' : begin
Info:=Item.Text+ret+sep+ret+Item._EXO_NODE_MESSAGE;
end;
'Z','M' : if (Item._EXO_NODE_ROOT_HD=Item.ItemId) then
begin
_HINT_ZUNDER_IZ_USER_LIST:=true;
// space added to width rect
Info:=Item._EXO_NODE_20BOOLS[2]+'_________________________________'+ret+ // logo + line [0] ingored
Item.Text+ret+
'-'+ret+
StringReplace(Item._EXO_NODE_MESSAGE,'|',ret,[rfReplaceAll])+ret+
'-'+ret+
___ccc__0007__Country+' '+Item._EXO_NODE_COUNTRY;
end;
end;
(*
if (izDebugerON.Checked) then
begin
Info:=Info+ret+sep+ret+Item._EXO_NODE_USER_IP+ret+
'Level:'+Item._EXO_NODE_X_LEVEL+ret+
'uzID:'+Item._EXO_NODE_USER_ID+ret+
'Country:'+Item._EXO_NODE_COUNTRY+ret+
'msg:'+Item._EXO_NODE_MESSAGE+ret+
'path-N:'+Item._EXO_NODE_PATH_NB+ret+
'com-IDX:'+Item._EXO_NODE_COM_IDX+ret+
'path_TX:'+Item._EXO_NODE_PATH_TX+ret+
'20b:'+Item._EXO_NODE_20BOOLS+ret+
//'STOCK:'+Item._EXO_NODE_DATA_STOCK+ret+
//Item._EXO_NODE_U_STATU+ret+
'...'+Item._EXO_NODE_XP_TYPE;
end;
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0515_LVExpLorerDblClick(Sender: TObject);
var
//_FullRootPath,
//_nB:byte;
_SavaRzM:string;
_sZ:Int64;
_RootUzerNode:TTreeNode;
_cx: TListItem;
begin
_cx:=AA_0515_LVExpLorer.Selected;
if _cx=nil then exit;
if _cx.imageIndex=29 then
begin // go back explorer
_eExplorerTV.Selected:=_cx._RefferNODA; // to parent of selected !!
exit;
end;
case _cx.imageIndex of
21,23,25 : try _eExplorerTV.Selected:=_eExplorerTV.Selected.Item[_cx.itm_int1]; except end; // it buggs
27,28 : begin
// <f> file has node handle of the main HD root user
_RootUzerNode:=_eExplorerTV.Items.getnode(_cx._RefferNODA._EXO_NODE_ROOT_HD);
(*
if (_RootUzerNode=_TV_NODE_OF_LOCAL_USER) then // if local
begin
_nB:=StrToIntDef('$'+_cx.pat_n,1)-1;
case _cx._Type of
'0' :_FullRootPath:=stringreplace(EXPLORER_PUBLIC_ROOTS[_nB]+_cx.itm_str1,'\\','\',[rfReplaceAll]);
'1' :_FullRootPath:=stringreplace(EXPLORER_PRIVATE_ROOTS[_nB]+_cx.itm_str1,'\\','\',[rfReplaceAll]);
'2' :_FullRootPath:=stringreplace(_GimeFavUserXtraFolder(_RootUzerNode._EXO_NODE_USER_ID)+_cx.itm_str1,'\\','\',[rfReplaceAll]);
end;
ShellExecute(0,'open',pchar(_FullRootPath),nil,nil,SW_SHOWNORMAL);
exit;
end
else
*)
begin //start dl
_sZ:=_cx.ITM_F_SIZE;// strtointdef(lv.Selected.SubItems[0],0);
_SavaRzM:='_$$_'+_cx.pat_n+'_'+_cx._Type+'_'+IntToHex(_sZ,16)+'_'+_cx.uzr_id+'_'+_cx.Caption;
//_$$_01_0_0046B800_1CE4C70CB6_Alpha.mp3
//_$$_pn_type_size_id_fName
// ShowMessage(_SavaRzM+ret+_eExplorerTV.Selected._EXO_NODE_PATH_TX);
(* *)
// register
//_$$_01_1_001D6FD2_1C080B2CD3_ENYA-01.mp3 = \Enya\enya - 1988 - watermark\
//// not now TExoSeeSettings.save_resume_info(_SavaRzM,_eExplorerTV.Selected._EXO_NODE_PATH_TX);
_cx.imageIndex:=28;
_put_DW_vItem(_cx.Caption,
_RootUzerNode.Text,
_cx.itm_str2,
_cx.uzr_id,
_cx.itm_str1,
_cx.pat_n,
_SavaRzM,
'',
_cx._Type,
_sZ);
end; //start dl end
end;// 27... end
end; // case end
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._pp_xpozPopup(Sender: TObject);
begin
_pp_xpoz_menu_on(_eExplorerTV.Selected);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
NN:TTreeNode;
begin
NN:=_eExplorerTV.GetNodeAt(x,y);
if NN=nil then exit;
if Button= mbRight then _eExplorerTV.Selected:=NN; // to select via right clik
(*
case Button of
mbRight : begin
_eExplorerTV.Selected:=NN; // to select via right clik
if NN._EXO_NODE_X_LEVEL='N' then
begin
_eExplorerTV.PopupMenu:=PP_COM;
_csWeb.Caption:=format('Visit [ %s ] Website',[NN.text]);
_csCRoom.Caption:=format('Join ChatRoom of [ %s ]',[NN.text]);
_csComStop.Caption:=format('Stop [ %s ]',[NN.text]);
PP_COM.Popup(_XpLoRer.left+_pxp_a.left+left+sPapa.left+40,_XpLoRer.top+ _pxp_a.top+top+sPapa.top+y+50);
end
else _eExplorerTV.PopupMenu:=_pp_xpoz;
Application.ProcessMessages;
end;
mbLeft : begin // com to pup-up its menu
if NN._EXO_NODE_X_LEVEL='N' then
begin
_csWeb.Caption:=format('Visit [ %s ] Website',[NN.text]);
_csCRoom.Caption:=format('Join ChatRoom of [ %s ]',[NN.text]);
_csComStop.Caption:=format('Stop [ %s ]',[NN.text]);
PP_COM.Popup(_XpLoRer.left+_pxp_a.left+left+sPapa.left+40,_XpLoRer.top+ _pxp_a.top+top+sPapa.top+y+50);
end;
end;
end;
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._TM_UP_TEKKERTimer(Sender: TObject);
var
i:Integer;
ComNODD:TTreeNode;
//StrComLINK:string;
//StrComDOMAIN:string;
//StrComPATH:string;
begin
(*
//----------server_node_data_already done in login
IniComNODE._EXO_NODE_COM_IDX :=sComUrl; // full com url
IniComNODE._EXO_NODE_USER_ID :=The_ZunderITEM.uzr_id; // grab com pass ( user-input )
IniComNODE._EXO_NODE_USER_IP :=sDomainSEK; // domain sek
IniComNODE._EXO_NODE_PATH_TX :=sPathSEKandTekFile; // path sek + tek_file /fr/_xoc_com.php
IniComNODE._EXO_NODE_eSERIAL :=iPort;
*)
for i:=0 to _TV_NODE_OF_COMMUNITIES.Count-1 do
begin
ComNODD:=_TV_NODE_OF_COMMUNITIES.Item[i];
if NOT(ComNODD._EXO_NODE_IS_STOPING) then
with TTEK_UPDATER_THREAD.Create do
begin
_tek_up_Domain :=ComNODD._EXO_NODE_USER_IP;
_tek_up_port :=ComNODD._EXO_NODE_eSERIAL; // fixed !! (pro will do user http:port)
_tek_up_com_path_plus_Tik_File :=ComNODD._EXO_NODE_PATH_TX;
_tek_up_full_http_link_stok :=ComNODD._EXO_NODE_COM_IDX;
_tek_up_zunderCOM :=ComNODD;
// pass no need !
Resume;
end;
end;
(* old
for i:=0 to _TV_NODE_OF_COMMUNITIES.Count-1 do
begin
ComNODD:=_TV_NODE_OF_COMMUNITIES.Item[i];
// http://musicafe.org/cs/
StrComLINK :=ComNODD._EXO_NODE_COM_IDX;
StrComDOMAIN :=StrComLINK;
Delete(StrComDOMAIN,1,7); // musicafe.org/cs/
StrComPATH :=StrComDOMAIN; // musicafe.org/cs/
p:=pos('/',StrComDOMAIN);
StrComDOMAIN:=copy(StrComDOMAIN,1,p-1); // musicafe.org
Delete(StrComPATH,1,p-1); // /cs/
if (Copy(StrComLINK,1,7)='http://') then
with TTEK_UPDATER_THREAD.Create do
begin
_tek_up_Domain :=StrComDOMAIN;
_tek_up_port :=80; // fixed !! (pro will do user http:port)
_tek_up_com_path_plus_Tik_File :=StrComPATH+_C_EXOSEE_WEB_TEK_FILE;
_tek_up_full_http_link_stok :=StrComLINK;
_tek_up_zunderCOM :=ComNODD;
// pass no need !
Resume;
end;
end;
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ssCHATERClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var
i:integer;
f44:T_FCHAT;
begin
f44:=nil; // zaty...$
for i:=0 to PaneLCC.ComponentCount-1 do
begin
if T_FCHAT(PaneLCC.Components[i]).zoka=Socket.SocketHandle then
begin
f44:=T_FCHAT(PaneLCC.Components[i]); // use same f4 var
break;
end;
end;
if f44<>nil then begin
f44.logy(ret+___ccc__0009__Disconnected,1);
f44.m.Update;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ssCHATERClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ssCHATERClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
x,nm:string;
p,i:integer;
f4:T_FCHAT;
begin
if (_THE_EXOSEE_APPLICATION_IS_TERMINATED) then exit;
x:=TCrypto._SimSim(Socket.ReceiveText);
if copy(x,1,6)='<ZATC>' then // new user in chat
begin
try
Socket._node_uz:=_is_UserID_in_The_NETWORKS_Tree(copy(x,8,10)); // read id // no in list >> kik
except
//_DoDebugLOG('ch_01');
end;
if (Socket._node_uz=nil) then begin
Socket.Close;
exit;
end; // !! bugs if removed
try
nm:=Socket._node_uz.Text;
f4:=T_FCHAT.Create(PaneLCC); // owner !!!
f4.niko:=nm;
f4.Caption:=f4.niko;
f4.zoka:=Socket.SocketHandle;
f4.logy(ret+FormatDateTime('dddd dd mmm yyyy "-" hh:mm ',now)+', '+nm+' '+___ccc__0008__Connected,1);
f4.WindowState:=wsMinimized;
f4.Show;
flashwindow(f4.handle, true);
except
//_DoDebugLOG('ch_02');
end;
exit;
end;
// filter !! must find the right memo !!!
if (copy(x,1,4)='ZATY')and (x[length(x)]='$') then
begin
f4:=nil; // zaty...$
try
for i:=0 to PaneLCC.ComponentCount-1 do
begin
if T_FCHAT(PaneLCC.Components[i]).zoka=Socket.SocketHandle then
begin
f4:=T_FCHAT(PaneLCC.Components[i]); // use same f4 var
break;
end;
end;
except
//_DoDebugLOG('ch_03');
end;
if (f4=nil) then begin Socket.Close; exit; end;
x:=copy(x,5,length(x)-5); //cut handsome !
if x='_typing...' then begin
f4.Caption:=f4.niko+' ...';
exit;
end;
try
f4.Caption:=f4.niko;
f4.logy(ret+FormatDateTime('[hh:mm] ',now)+copy(x,1,pos(ret,x)-1),1);
p:=pos(ret,x);
nm:=copy(x,p+2,length(x)-p);
f4.logy(StringReplace(nm,'$ZATY',ret,[rfReplaceAll]),0); // a clean of packets old versions
except
//_DoDebugLOG('ch_04');
end;
if (_VV_LOCAL_USER_ONLINE_STATUS<>'A') then
begin // send away status
try
Socket.SendText(TCrypto._BarzaToon('ZAWA'+_VV_LOCAL_USER_NOT_ONLINE_MESSAGE));
f4.logy(ret+format(___ccc__0010__AutoReplySentTo,[Socket._node_uz.Text]),0);
except
//_DoDebugLOG('ch_05');
end;
end;
flashwindow(f4.handle, false);
end
else Socket.Close; // a tzzuser
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_chatClick(Sender: TObject);
var
f3:T_FCHAT;
begin
//if not (_eExplorerTV.Selected._EXO_NODE_POZISIO in [90,91,92,93]) then exit;
if not(_eExplorerTV.Selected._EXO_NODE_X_LEVEL in ['Z','M']) then exit;
f3:=T_FCHAT.Create(Application);
f3.niko:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD).Text;
f3.uip:=_eExplorerTV.Selected._EXO_NODE_USER_IP;
f3.isZunderF3:=true;
//f_f.zendf.Caption:=format(_s_user_send_file,[f_f.uzr3]);
f3.show;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._TM_TRAFFICYTimer(Sender: TObject);
var
i,j:integer;
s,z,bb:string;
cango,candodo,cango8:bool;
QObJ : TListItem;
begin
// BECAREFULL TIMER INTERVAL= 1 sec
candodo:=true;
cango8:=true;
for i:=0 to AA_0516_vTraffic.Items.Count-1 do
with AA_0516_vTraffic.Items[i] do
if (_Pozo in [6..50]) then
begin
//_LoG(' itemPozo : '+inttostr(_Pozo),1,false);
case _Pozo of
15 : begin
SubItems[5]:=___ccc__0011__Error; // error !
_Pozo :=46;// go to delete
end;
16 : begin
// _Pozo :=160;
SubItems[5]:=___ccc__0009__Disconnected;// SubItems[5] :=''; // disconnected
_Pozo :=46;// go to delete
end;
18 : begin
//_Pozo :=180;
SubItems[5]:=___ccc__0012__NoAccess; // No access, cause-fw
_Pozo :=46;// go to delete
end;
19 : begin //kk_0_in_dl .. !!!!!!!!! no more repeating
// __Put_SubItem(_iTemIndex,3,'Retry['+inttostr(_ReCont)+']'); // kk
//_Pozo :=6;
// if _ReCont>2 then begin
SubItems[5]:=___ccc__0009__Disconnected;
_Pozo :=190;// go to rzm
// end;
end;
13 : begin
SubItems[5]:=___ccc__0013__Stopped; //
_Pozo :=130;
end;
6 : begin
_Pozo :=7;
end;
7 : if candodo then
begin // new dl , trigg it and exit( 1sec)
cango:=true;
for j:=0 to AA_0516_vTraffic.Items.Count -1 do
begin
QObJ := AA_0516_vTraffic.Items[j];
if (uzr_id=QObJ.uzr_id)and(QObJ._Pozo in [10,11]) then
begin
cango:=false;
_Pozo:=6; // skip, check next time
SubItems[5]:=___ccc__0014__Queued; // attente
break;
end;
end;
if cango then begin
_Pozo:=8;
candodo:=false; // next time fo other items
end;
end;
8 : if cango8 then
begin // starting new dl
_Pozo:=10;
cango8:=false; // next time fo other items
_exo_proc_i_dl_explorer(itm_str1,
itm_str2,
pat_n,
Caption,
uzr_id,
SubItems[4],
sava_f,
_Type,
ITM_F_SIZE,
AA_0516_vTraffic.Items[i]);
end;
11 : begin // downloading
// speed
//if (ITM_READEN<>itm_int1) then
timeLeft :=(ITM_READEN - itm_int1); // kbs 1 sec;
SubItems[2]:=_octos(timeLeft)+'/s';
(*
//timeLeft
if timeLeft>0 then // fix menu bug >> div/0
begin
timeLeft :=(ITM_F_SIZE-ITM_READEN) div timeLeft;
SubItems[5]:=_time_left(timeLeft));
end;
*)
itm_int1 :=ITM_READEN;
itm_int2 :=_percenty(ITM_READEN,ITM_F_SIZE); // %
SubItems[3] :=IntToStr(itm_int2)+'%'; // to update progress
end;
14 : begin
_Pozo :=140;
SubItems[5]:=___ccc__0015__Completed; //
SubItems[2]:=_octos(ITM_READEN); //read
itm_int2 :=_percenty(ITM_READEN,ITM_F_SIZE); // %
//SubItems[5]:=''; // to update progress // % fill
SubItems[3] :=IntToStr(itm_int2)+'%';
s:=ExtractFileName(sava_f_thr);
s:=copy(s,38,length(s)-37);//_$$_01_0_000000000046B800_1CE4C70CB6_Alpha.mp3
_FXOC_MAIN.TheLOGGER.Log(___ccc__0016__DLCompleted+' : '+s,15);
if dl_path='' then begin
j:=0;
z:='';
while FileExists(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+'Completed\'+z+s) do
begin
inc(j);
z:='['+inttostr(j)+'] ';
end;
bb:=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+'Completed\'+z+s;
MoveFile(pchar(sava_f_thr),pchar(bb));
end
else
begin
j:=0;
z:='';
while FileExists(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+dl_path+z+s) do
begin
inc(j);
z:='['+inttostr(j)+'] ';
end;
bb:=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+dl_path+z+s;
MoveFile(pchar(sava_f_thr),pchar(bb));
end;
_add_2completed(ExtractFileName(bb),bb,SubItems[4],_octos(ITM_F_SIZE));
_Pozo :=46;// go to delete
//_tm_traffic.kwd_id:=uzr_id;
exit; // to do from begining not soon !!!
// this exit is ?? about kbs !!!
end;
12 : begin // queued ! 12 is only real remote queue
SubItems[5]:='.'+___ccc__0014__Queued;//'.';
inc(_ReCont); // inc kuwed
if (_ReCont>=60) then // 1 min or (_tm_traffic.kwd_id=uzr_id)
begin
// if _ReCont<120 then _tm_traffic.kwd_id:='';
_Pozo:=7; // go to check if possible soon or no, the 7 will charge
// will persist on 6 and 7 not in 12 ,
// and if went to dl and re-comeback direct 12 with _ReCont=0
// to re-wait 2 min ...
end;
end;
27 : begin // auto-resume user is on , start as 6
_Pozo:=6;
break;// !!! trying reduce of resume attacks
end;
//--------------Upload_items--------------------
41 : begin
// speed
//if (itm_int1<>itm3) then
timeLeft :=(itm_int1-itm3);
SubItems[2]:=_octos(timeLeft)+'/s'; // kbs up
//UL timeLeft
(*
if timeLeft>0 then // fix menu bug >> div/0
begin
timeLeft :=(ITM_F_SIZE-ITM_SENT) div timeLeft;
__Put_SubItem(_iTemIndex,6,_time_left(timeLeft));
end;
*)
itm_int1 :=itm3;
itm_int2 :=_percenty(ITM_SENT,ITM_F_SIZE); // % ok
SubItems[3] :=IntToStr(itm_int2)+'%'; // to update progress
end;
42 : begin
// UL completed
_FXOC_MAIN.TheLOGGER.Log(format(___ccc__0017__UploadCompletedTo,[AA_0516_vTraffic.Items[i].Caption,SubItems[4]]),1);
//inc(_VV_LOCAL_USER_UPLOADS,ITM_F_SIZE); // inc _V_UPLOAD_LOCAL_RECORD
//eeeUPed.Caption:='Uploaded : '+_octos(_VV_LOCAL_USER_UPLOADS); // show it
// del direct here
Delete; // del item
break; /// a must
end;
43 : begin
SubItems[5]:=___ccc__0009__Disconnected; // , error
_Pozo :=46;// go to delete
end;
44 : begin
SubItems[5]:=___ccc__0018__Aborted; // aborted go show disconnected
_Pozo :=46;// go to delete
end;
45 : begin
SubItems[5]:=___ccc__0019__Canceled; //
_Pozo :=46;// go to delete
end;
46 : begin
Delete;
break; /// a must
end;
end;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.xplorupdateClick(Sender: TObject);
begin
_eExplorerTV.Selected._EXO_NODE_DATA_STOCK :=''; // free
// fix SubFolders update
_eExplorerTV.Selected.DeleteChildren;
Application.ProcessMessages;
_eExplorerTV.Selected._EXO_NODE_IS_FULL :=0; //
_eExplorerTVChange(nil,_eExplorerTV.Selected); // trigger
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0402_OpenMyDlFolderClick(Sender: TObject);
begin
ShellExecute(0,'explore',pchar(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.PPP_TraFFicPopup(Sender: TObject);
var
//i:integer;
VDD : TListItem;
begin
AA_0431_CanZeL.Enabled:=false;
AA_0432_Ztop.Enabled:=false;
AA_0415_reZume.Enabled:=false;
if (AA_0516_vTraffic.Selected=nil) then exit;
AA_0431_CanZeL.Enabled:=true;
VDD:=AA_0516_vTraffic.Selected;
AA_0432_Ztop.Enabled:=VDD._Pozo=11;// only for DLing
AA_0415_reZume.Enabled:=(VDD._Pozo in [130,190]); // allow kkCpu
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0431_CanZeLClick(Sender: TObject);
var
V_OBJ: TListItem;
begin
V_OBJ:=AA_0516_vTraffic.Selected;
// in common to cancel item >>3>> UL / DL / QUeued
if V_OBJ=nil then exit;
case V_OBJ._Pozo of
6 : V_OBJ._Pozo := 45; // 12 = real queued 2 min
33,12,130,190 : begin // +pended + stoped + kk
if DeleteFile(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+V_OBJ.sava_f) then V_OBJ._Pozo := 45;
end;
else
V_OBJ.set_cancel:=true;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0432_ZtopClick(Sender: TObject);
var
VBB: TListItem;
begin
VBB:=AA_0516_vTraffic.Selected;
// in common to cancel item >>3>> UL / DL / QUeued
if VBB=nil then exit;
if VBB._Pozo=11 then VBB.set_stop:=true; // pozo will be 130
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0415_reZumeClick(Sender: TObject);
var
VBB: TListItem;
begin
VBB:=AA_0516_vTraffic.Selected;
if VBB=nil then exit;
if (VBB.set_stop)or(VBB._Pozo=190) then // allow kkcpuKK to resume
begin
VBB.set_stop:=false; // alive it
VBB.SubItems[5]:=___ccc__0020__Resume;
VBB._Pozo:=6; //go to resume and wait before !!!
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0517_vCompletedDblClick(Sender: TObject);
var
_NODE_OBJECT : TListItem;
begin
_NODE_OBJECT:=AA_0517_vCompleted.Selected;
if _NODE_OBJECT=nil then exit;
ShellExecute(0,'open',pchar(_NODE_OBJECT.sava_f),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0517_vCompletedInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String);
begin
InfoTip:=Item.sava_f;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.pp_vExplorationPopup(Sender: TObject);
begin
dL1.Caption:='---';
dL1.Enabled:=(AA_0515_LVExpLorer.Selected<>nil)and(AA_0515_LVExpLorer.Selected.ImageIndex<>29); // avoid icon<..>
if dL1.Enabled then begin
case AA_0515_LVExpLorer.Selected.ImageIndex of
27 : begin
if AA_0515_LVExpLorer.Selected._RefferNODA=_TV_NODE_OF_LOCAL_USER then
dL1.Caption:=___ccc__0021__Open+' : '+AA_0515_LVExpLorer.Selected.Caption
else
dL1.Caption:=___ccc__0022__Download+' : '+AA_0515_LVExpLorer.Selected.Caption;
end;
21,23,25 : dL1.Caption:=___ccc__0023__Explore+' : '+AA_0515_LVExpLorer.Selected.Caption;
else begin
dL1.Enabled:=false;
end;
end;
end;
end;
//------------------------------------------------------------------------------
var
_FIRST_WEB_IS_LOADED:boolean = false;
procedure T_FXOC_MAIN.TheExoWebTitleChange(Sender: TObject; const Text: WideString);
var
p1,p2:integer;
begin
(*
<!--
$http://aaa.com/
$http://bbb.com/
$http://ccc.com/
$http://eee.com/
$http://fff.com/
$http://ggg.com/
$http://hhh.com/
-->
*)
if (_FIRST_WEB_IS_LOADED=true) then exit;
//ShowMessage('b');
if (Text='_EXOSEE_V1') then //a must web title in web !!!
begin
_FIRST_WEB_IS_LOADED:=true;
_PublicWebComsList.Text:=TheExoWeb.OleObject.Document.Body.outerhtml;
//ShowMessage(_PublicWebComsList.Text);
p1:=pos('<!--',_PublicWebComsList.Text);
p2:=pos('-->',_PublicWebComsList.Text);
if (p2>p1) then
begin
_PublicWebComsList.Text:=copy(_PublicWebComsList.Text,p1,(p2-p1)+3);
if (_VV_LOCAL_CONFIG_AUTO_ADD_COMS) then GoFillActualWebPublicComs; // auto add pub coms
if (_VV_LOCAL_AUTO_NOTIFY_NEW_VERSION) then GoSeeIfNewVersionDetected; // version notify
end;
// Application.ProcessMessages;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.CoolBar1Resize(Sender: TObject);
begin
if TCoolBar(Sender).HandleAllocated then InvalidateRect(TCoolBar(Sender).Handle, nil, True);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_comPropesClick(Sender: TObject);
begin
_FCOM_PROPS:=T_FCOM_PROPS.Create(Application);
_FCOM_PROPS.vND:=_eExplorerTV.Selected;
_FCOM_PROPS.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0414_Exit1Click(Sender: TObject);
begin
close;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.eComsXOCsPAGESChange(Sender: TObject);
begin
exit;//
if (_THE_EXOSEE_APPLICATION_IS_TERMINATED) then exit; // bug fix :: access violation when closing
if (eComsXOCsPAGES.ActivePage.Tag=0) then
begin
eComsXOCsPAGES.ActivePage.Tag:=1;
T_FrameXOC(eComsXOCsPAGES.ActivePage.Components[0]).AA_0562_BtnHomeBrowserClick(nil);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.The_PagesDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
//var
// s:string;
// r:TRect;
begin
(*
s :=ThePages.Pages[TabIndex].Caption;
r := Rect;
with Control.Canvas do
begin
if Active then
begin
Brush.Color := clWindow;
Font.Color := clHighlight;
Font.Style:=[fsBold];
end;
//Windows.DRAW(
Windows.FillRect(Handle,Rect,Brush.Handle);
OffsetRect(r, 4, 0);
DrawText(Handle, PChar(s), Length(s), r, DT_CENTER or DT_SINGLELINE or DT_VCENTER);
Draw(4,2,ico_20_xp.Picture.Graphic);
end;
// I had to use "IndexOfTabAt(rect.Left+5,rect.Top+5)" to return the correct pageindex
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.bbbsClick(Sender: TObject);
begin
if (The_Pages.Tag=0) then
The_Pages.ActivePageIndex:=TxocCButton(Sender).Tag;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TabsShow(Sender: TObject);
begin
The_Pages.Tag:=1;
Case TTabSheet(Sender).TabIndex of
0 : AA_0501_bbb0.SetAsSELECTED;
1 : AA_0502_bbb1.SetAsSELECTED;
2 : AA_0503_bbb2.SetAsSELECTED;
3 : bbb3.SetAsSELECTED;
4 : bbb4.SetAsSELECTED;
end;
The_Pages.Tag:=0;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0608_cccExoSeeWEBClick(Sender: TObject);
begin
_pExoseeWeb.BringToFront;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TMcomWebKIKerTimer(Sender: TObject);
begin
TMcomWebKIKer.Enabled:=false;
GoFreeWebTabOfCommunity(TMcomWebKIKer.kwd_id);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0530_CButton5Click(Sender: TObject);
begin
_pExoseeHelp.BringToFront;
if (_pExoseeHelp.Tag=0) then
begin
_pExoseeHelp.Tag:=1;
TheExoHELP.Navigate('http://www.exosee.com/?w=support');
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TheExoTitleChange(Sender: TObject; const Text: WideString);
begin
eExoSeePanelsSTAT.Caption:=Text;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_StopComClick(Sender: TObject);
var
_comNODDD:TTreeNode;
_sTrComNAME:String;
v:TListItem;
begin
(*
set com-stopping > threads, tek-tek_updater.. user ini ..
close web
close xoc-db
delete childrens
re-put com in start window !
delete finally the com node
*)
_comNODDD:=_eExplorerTV.Selected;
if (_comNODDD=nil) then exit;
_sTrComNAME:=_comNODDD.Text;
if (MessageDlg(format(___ccc__0024__SureWantStopCom,[_sTrComNAME]), mtConfirmation,[mbYes,mbNo],0)<>mrYes) then exit;
_comNODDD._EXO_NODE_IS_STOPING:=true; // set stopping
Application.ProcessMessages; // to braodcast if any runing thread ot tekUP... about this com
Application.ProcessMessages;
Application.ProcessMessages;
GoFreeWebTabOfCommunity(_sTrComNAME); // close web
GoFreeXocTabOfCommunity(_sTrComNAME); // close xoc
//-------- re-put Item to StartWindow
v:=_FXOC_START.LvSTART.Items.Add;
v.Caption:=_sTrComNAME; // name
v.ImageIndex:=0;
v.sava_f:=_comNODDD._EXO_NODE_COM_IDX; // sava_f has whole com url
v.uzr_id:=_comNODDD._EXO_NODE_USER_ID; // re-sava pass : Start Box list (uzr_id used as com-pass)
v.pat_n:='100'; // default first
v.pat_n[1]:=_comNODDD._EXO_NODE_20BOOLS[11];
v.pat_n[2]:=_comNODDD._EXO_NODE_20BOOLS[12];
v.pat_n[3]:=_comNODDD._EXO_NODE_20BOOLS[13];
// finally delete node
_comNODDD.Delete;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ppMainPopup(Sender: TObject);
begin
AA_0404_OnLine1.Checked:=(_VV_LOCAL_USER_ONLINE_STATUS='A');
AA_0405_Away1.Checked:=not AA_0404_OnLine1.Checked;
AA_0407_Tools1.Visible:=(_VV_LOCAL_CONFIG_BANNED_USERS_LIST<>'');
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0404_OnLine1Click(Sender: TObject);
begin
TMenuItem(Sender).Checked:=true;
if (AA_0404_OnLine1.Checked) then _VV_LOCAL_USER_ONLINE_STATUS:='A'
else _VV_LOCAL_USER_ONLINE_STATUS:='0';
iko_1.Visible:=AA_0404_OnLine1.Checked;
iko_0.Visible:=not iko_1.Visible;
if (iko_1.Visible) then eeOnStata.Caption:=___ccc__0001__Online else eeOnStata.Caption:=___ccc__0002__Away;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0406_SetAWAYmsgClick(Sender: TObject);
var
s:string;
begin
s:=_VV_LOCAL_USER_NOT_ONLINE_MESSAGE;
if (InputQuery(___ccc__0025__AutoReplyMsg,___ccc__0026__SetPersonalMsq,s)) then
begin
_VV_LOCAL_USER_NOT_ONLINE_MESSAGE:=s;
_FXOC_SETTINGS.eeAwayMsg.Text:=_VV_LOCAL_USER_NOT_ONLINE_MESSAGE;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_add2FavsClick(Sender: TObject);
var
_Str:string;
uZNode,_NewFAVuz:TTreeNode;
begin
// 1C080B2CD3xxA01000000%1Ismail%2F:\_Pc-Set\_Drivers%3
uZNode:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD);
_Str:=uZNode._EXO_NODE_USER_ID+'00'+'A'+'00000000'+'%1'+uZNode.Text+'%2%3';
_NewFAVuz:=_eExplorerTV.Items.AddChild(_TV_NODE_OF_FAVORITES,uZNode.Text);
_NewFAVuz.ImageIndex :=uZNode.ImageIndex;
_NewFAVuz._EXO_NODE_USER_IP :=uZNode._EXO_NODE_USER_IP;
_NewFAVuz._EXO_NODE_COUNTRY :=uZNode._EXO_NODE_COUNTRY;
_NewFAVuz._EXO_NODE_MESSAGE :=uZNode._EXO_NODE_MESSAGE;
_NewFAVuz._EXO_NODE_USER_ID :=uZNode._EXO_NODE_USER_ID;
_NewFAVuz._EXO_NODE_COM_IDX :=_Str; // com idx of user used as FAV-CODE
//_zono._EXO_NODE_POZISIO :=92;
_NewFAVuz._EXO_NODE_UZR_GMT :=uZNode._EXO_NODE_UZR_GMT;
//_zono._EXO_NODE_UZR_ICO :=strtointdef('$'+logo,0);
//if im=2 then v._EXO_NODE_POZISIO:=93;
_NewFAVuz._EXO_NODE_20BOOLS :=uZNode._EXO_NODE_20BOOLS; // add user-boolz
_NewFAVuz._EXO_NODE_X_LEVEL :='M'; // set level as active
_NewFAVuz._EXO_NODE_PATH_NB :='00';// hexa roots
_NewFAVuz._EXO_NODE_PATH_TX :='\';// roots
_NewFAVuz._EXO_NODE_XP_TYPE :='*';// just a fill
_NewFAVuz._EXO_NODE_ROOT_HD :=_NewFAVuz.ItemId; // fixed to self
TExoSeeSettings._add_fav(_Str);
_TV_NODE_OF_FAVORITES.Expand(false);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_delfavClick(Sender: TObject);
var
dd:string;
begin
// grab Fav-Code
dd:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD)._EXO_NODE_COM_IDX;
dd:=copy(dd,1,10);
TExoSeeSettings._del_fav(dd); // del_fav will del also from the favList
_eExplorerTV.Selected.Delete;
//ShowMessage(dd);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_zundFileClick(Sender: TObject);
var
fSNF : T_FZendFile;
begin
if not(_eExplorerTV.Selected._EXO_NODE_X_LEVEL in ['Z','M']) then exit;
if not opn.Execute then exit;
fSNF:=T_FZendFile.Create(Application);
fSNF.__sToNick:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD).Text;
fSNF.__sToIP:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD)._EXO_NODE_USER_IP;
fSNF.__sFullFile:=opn.FileName;
fSNF.Show;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.GoOnlineClick(Sender: TObject);
begin
ShellExecute(0,'open',pchar(TMenuItem(Sender).Hint),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.OnStatsDblClick(Sender: TObject);
begin
iko_1.Visible:=not iko_1.Visible; // set opposit
iko_0.Visible:=not iko_1.Visible;
if (iko_1.Visible) then eeOnStata.Caption:=___ccc__0001__Online else eeOnStata.Caption:=___ccc__0002__Away;
if (iko_1.Visible) then _VV_LOCAL_USER_ONLINE_STATUS:='A' else _VV_LOCAL_USER_ONLINE_STATUS:='0';
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_zundFolderClick(Sender: TObject);
begin
ShowMessage('"Send-Folder" feature, is not yet enabled in this version');
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TmVersionNOTIFYTimer(Sender: TObject);
begin
TmVersionNOTIFY.Enabled:=false; //only once !
MessageDlg(format('%s : v%s.%s.%s',[___ccc__0530__NewVersionAvailable,
_NEW_VERSION_STRING[1],
_NEW_VERSION_STRING[2],
_NEW_VERSION_STRING[3]])
,mtInformation,[mbOK],0);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0430_OpnFolderClick(Sender: TObject);
var
NDD:TTreeNode;
begin
NDD:=_eExplorerTV.Selected;
if (NDD=nil) then exit;
//ShowMessage(NDD._EXO_NODE_PATH_NB+ret+ NDD._EXO_NODE_PATH_TX);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_adminBanClick(Sender: TObject);
var
NDD:TTreeNode;
begin
if (_eExplorerTV.Selected=nil) then exit;
NDD:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD); // direct user node
if (NDD=nil) then exit;
if (MessageDlg(format(___ccc__0108__SureWantToBan,[NDD.text]),mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
if (ccBannector.Active) then
begin
ShowMessage(___ccc__0077__ConnexAreadyInUse);
exit;
end;
ccBannector.Host_name :=NDD.Parent._EXO_NODE_USER_IP;
ccBannector.Port :=NDD.Parent._EXO_NODE_eSERIAL; // auto set in login
ccBannector.Socket._ReferNode :=NDD.Parent; // com
ccBannector.Socket._str_ref :='e=_T7&_BN='+NDD._EXO_NODE_USER_ID+'&_SN='+_VV_LOCAL_USER_PC_ID; // params (&_SN=SenderID)future
ccBannector.Socket._StokenStr :=''; // free data if any
ccBannector.Tag :=0; // data length
ccBannector.Active :=true;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorConnect(Sender: TObject; Socket: TCustomWinSocket);
var
ss:string;
begin
ss:='GET '+Socket._ReferNode._EXO_NODE_PATH_TX+'?'+Socket._str_ref+' HTTP/1.0'+ret+
'User-Agent: '+_C_EXOSEE_WEB_TEK_USER_MERDA+ret+
'Host: '+Socket._ReferNode._EXO_NODE_USER_IP+ret+
'Connection: close'+ret+ret;
Socket.SendText(ss);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
Socket.Close; // to trigger OnDisconnect
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorRead(Sender: TObject;Socket: TCustomWinSocket);
begin
Socket._StokenStr:=Socket._StokenStr+Socket.ReceiveText;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var
_StrDATA:String;
begin
_StrDATA:=Socket._StokenStr;
if pos('_SC_701',_StrDATA)>0 then
begin
if (pos('°°1',_StrDATA)>0)
then ShowMessage(___ccc__0109__BanOkAtCom)
else ShowMessage('ServerScriptError_OnBAN !');
end;
//_DoDebugLOG('BanSyS:'+ret+_StrDATA);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_infoUserClick(Sender: TObject);
var
uzNode:TTreeNode;
begin
if not(_eExplorerTV.Selected._EXO_NODE_X_LEVEL in ['Z','M']) then exit;
uzNode:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD);
MessageDlg(___ccc__0518__UserInfo+' : '+uzNode.Text+ret+
sep+ret+
uzNode._EXO_NODE_MESSAGE+ret+
sep+ret+
___ccc__0007__Country+uzNode._EXO_NODE_COUNTRY+ret+
format('Version : %s.%s.%s',[uzNode._EXO_NODE_20BOOLS[3],
uzNode._EXO_NODE_20BOOLS[4],
uzNode._EXO_NODE_20BOOLS[5]]), mtInformation,[mbOk],0);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_RemUserClick(Sender: TObject);
var
NDD:TTreeNode;
begin
if (_eExplorerTV.Selected=nil) then exit;
NDD:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD); // direct user node
if (NDD=nil) then exit;
if (MessageDlg(format(___ccc__0110__SureWantToBanUser,[NDD.text]),mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
_VV_LOCAL_CONFIG_BANNED_USERS_LIST:=_VV_LOCAL_CONFIG_BANNED_USERS_LIST+NDD._EXO_NODE_USER_ID+';';
NDD.Delete;
end;
//register com://
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.clearbannedClick(Sender: TObject);
begin
_VV_LOCAL_CONFIG_BANNED_USERS_LIST:='';
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0433_IconsHelpClick(Sender: TObject);
begin
with T_FXOC_ICONS_HELP.Create(Application) do
begin
Caption:=TMenuItem(Sender).Caption;
Caption:=StringReplace(Caption,'&','',[rfReplaceAll]);
Show;
end;
end;
initialization
para:=paramstr(1);
CreateMutex(nil,True,'ExoSeeV1');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
if (para='') then
begin
hawa:=FindWindow('T_FXOC_MAIN','ExoSee');
if (hawa<>0) then _zend_msg('FlashYA',hawa,702); // to flash existing app
end
else
begin
hawa:=FindWindow('T_FXOC_MAIN','ExoSee');
if (hawa<>0)and(para ='xoc') then _zend_msg(paramstr(2),hawa,701);
end;
halt;
end;
end.
(*
****************************** EXOSEE CLIENT 1.0.0*********************************************
Author : Ismail CHAGDALI / 2003-2007
Dev Tool : Borland Delphi 5
*)
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ScktComp, XPManifest, xocTaskBar, ImgList, Menus, OleCtrls,ExtCtrls,
StdCtrls, xocLabel, ComCtrls, xocStatusBar, xocTreeView,ShellApi,
xocCButton, ToolWin, Buttons, xocBeveL, xocLogger, SHDocVw_TLB,EmbeddedWB;
type
T_FXOC_MAIN = class(TForm)
__PaneLMAIN: TPanel;
__PaneLMAIN_A: TPanel;
Splitter1: TSplitter;
__PaneLMAIN_B: TPanel;
The_Pages: TPageControl;
TabExplorer: TTabSheet;
TabTraffic: TTabSheet;
TabComsWebs: TTabSheet;
TaskbarIcon1: TTaskbarIcon;
XPManifest1: TXPManifest;
AA_0515_LVExpLorer: TListView;
Panel_BTM_TRAFFIC: TPanel;
Splitter2: TSplitter;
Panel_TOP_TRAFFIC: TPanel;
TabForums: TTabSheet;
eComsWebsPAGES: TPageControl;
AA_0517_vCompleted: TListView;
AA_0516_vTraffic: TListView;
_TExoSeeSERVER: TServerSocket;
PaneLLL: TPanel;
Image1: TImage;
_xpuzerMsg: TLabel;
TabXoc: TTabSheet;
_pp_xpoz: TPopupMenu;
xplorupdate: TMenuItem;
N3: TMenuItem;
_mn_chat: TMenuItem;
_mn_add2Favs: TMenuItem;
N4: TMenuItem;
_mn_zundFile: TMenuItem;
_mn_zundFolder: TMenuItem;
N13: TMenuItem;
_mn_RemUser: TMenuItem;
N6: TMenuItem;
_mn_NetAdmin: TMenuItem;
_mn_adminBan: TMenuItem;
_mn_NetMod: TMenuItem;
_mn_modBan: TMenuItem;
N8: TMenuItem;
Settings2: TMenuItem;
_TM_UP_TEKKER: TTimer;
eeUzerIco: TImage;
ssCHATER: TServerSocket;
PaneLCC: TPanel;
_images: TImageList;
_TM_TRAFFICY: TTimer;
PPP_TraFFic: TPopupMenu;
AA_0431_CanZeL: TMenuItem;
N15: TMenuItem;
AA_0432_Ztop: TMenuItem;
AA_0415_reZume: TMenuItem;
N17: TMenuItem;
AA_0402_oppdwF: TMenuItem;
pp_vExploration: TPopupMenu;
dL1: TMenuItem;
N21: TMenuItem;
eXPLRuser: TExoSeeLabel;
_mn_StopCom: TMenuItem;
Panel4: TPanel;
zzzChat: TxocCButton;
N1: TMenuItem;
_mn_comPropes: TMenuItem;
Panel5: TPanel;
eComsXOCsPAGES: TPageControl;
Shape1: TShape;
ppMain: TPopupMenu;
AA_0400_Start1: TMenuItem;
N2: TMenuItem;
N5: TMenuItem;
AA_0401_Settings1: TMenuItem;
AA_0402_OpenMyDlFolder: TMenuItem;
AA_0407_Tools1: TMenuItem;
AA_0414_Exit1: TMenuItem;
AA_0408_Help1: TMenuItem;
AA_0409_Help2: TMenuItem;
N7: TMenuItem;
N9: TMenuItem;
AA_0413_About1: TMenuItem;
AA_0410_ExoHome: TMenuItem;
AA_0411_XOCHomepage1: TMenuItem;
Panel6: TPanel;
Shape2: TShape;
eExoSeePanelsSTAT: TLabel;
Panel8: TPanel;
Image2: TImage;
Panel9: TPanel;
Shape4: TShape;
PaneLBTM: TPanel;
eeeID: TLabel;
CapVersion: TLabel;
AA_0500_eFileMainMENU: TxocCButton;
Panel7: TPanel;
Panel11: TPanel;
Panel12: TPanel;
Shape5: TShape;
xBeveL1: TxBeveL;
_eExplorerTV: TxocTreeView;
xBeveL2: TxBeveL;
PaneLTabber: TPanel;
Shape3: TShape;
AA_0501_bbb0: TxocCButton;
AA_0502_bbb1: TxocCButton;
AA_0503_bbb2: TxocCButton;
bbb3: TxocCButton;
bbb4: TxocCButton;
AA_0530_CButton5: TxocCButton;
AA_0608_cccExoSeeWEB: TxocCButton;
_pExoseePANELS: TPanel;
_pExoseeWeb: TPanel;
TheExoWeb: TEmbeddedWB;
TMcomWebKIKer: TTimer;
Panel13: TPanel;
Shape6: TShape;
explorStatPath: TLabel;
explorStatFiles: TLabel;
Label7: TLabel;
xplorProgresser: TProgressBar;
Shape7: TShape;
zzzSendFile: TxocCButton;
Label6: TLabel;
Label8: TLabel;
Panel14: TPanel;
Panel15: TPanel;
Shape9: TShape;
AA_0606_Label1: TLabel;
Panel16: TPanel;
AA_0607_Label2: TLabel;
Image3: TImage;
Image4: TImage;
Panel17: TPanel;
Shape8: TShape;
Panel18: TPanel;
Shape10: TShape;
Panel19: TPanel;
Shape11: TShape;
PaneLwebTABS: TPanel;
PaneLxocTABS: TPanel;
_pExoseeHelp: TPanel;
TheExoHELP: TEmbeddedWB;
TheLOGGER: TLogger;
N10: TMenuItem;
AA_0403_MyStatus1: TMenuItem;
N11: TMenuItem;
AA_0404_OnLine1: TMenuItem;
AA_0405_Away1: TMenuItem;
N12: TMenuItem;
AA_0406_SetAWAYmsg: TMenuItem;
Label4: TLabel;
Label9: TLabel;
Label10: TLabel;
iko_1: TImage;
Label11: TLabel;
iko_0: TImage;
Label12: TLabel;
AA_0505_Label13: TLabel;
eeOnStata: TLabel;
AA_0430_OpnFolder: TMenuItem;
_mn_delfav: TMenuItem;
opn: TOpenDialog;
TabLog: TTabSheet;
AA_0504_bbb5: TxocCButton;
LocalMemoLOG: TMemo;
Shape12: TShape;
Shape13: TShape;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label13: TLabel;
TmKLOZZER: TTimer;
TmVersionNOTIFY: TTimer;
ccBannector: TClientSocket;
_mn_infoUser: TMenuItem;
clearbanned: TMenuItem;
N14: TMenuItem;
AA_0433_IconsHelp: TMenuItem;
izDebugerON: TCheckBox;
procedure OnStatusBarResize(Sender: TObject);
procedure AA_0413_About1Click(Sender: TObject);
procedure eeStartClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Splitter1CanResize(Sender: TObject; var NewSize: Integer;
var Accept: Boolean);
procedure zettingsClick(Sender: TObject);
procedure _eExplorerTVGetImageIndex(Sender: TObject; Node: TTreeNode);
procedure _eExplorerTVCollapsing(Sender: TObject; Node: TTreeNode;
var AllowCollapse: Boolean);
procedure _TExoSeeSERVERGetThread(Sender: TObject;
ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
procedure _eExplorerTVChange(Sender: TObject; Node: TTreeNode);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure _eExplorerTV_Tip(Sender: TObject; Item: TTreeNode; var Info: String);
procedure AA_0515_LVExpLorerDblClick(Sender: TObject);
procedure _pp_xpozPopup(Sender: TObject);
procedure _eExplorerTVMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure _TM_UP_TEKKERTimer(Sender: TObject);
procedure ssCHATERClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ssCHATERClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure ssCHATERClientRead(Sender: TObject; Socket: TCustomWinSocket);
procedure _mn_chatClick(Sender: TObject);
procedure _TM_TRAFFICYTimer(Sender: TObject);
procedure xplorupdateClick(Sender: TObject);
procedure AA_0402_OpenMyDlFolderClick(Sender: TObject);
procedure PPP_TraFFicPopup(Sender: TObject);
procedure AA_0431_CanZeLClick(Sender: TObject);
procedure AA_0432_ZtopClick(Sender: TObject);
procedure AA_0415_reZumeClick(Sender: TObject);
procedure AA_0517_vCompletedDblClick(Sender: TObject);
procedure AA_0517_vCompletedInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String);
procedure pp_vExplorationPopup(Sender: TObject);
procedure TheExoWebTitleChange(Sender: TObject; const Text: WideString);
procedure CoolBar1Resize(Sender: TObject);
procedure _mn_comPropesClick(Sender: TObject);
procedure AA_0414_Exit1Click(Sender: TObject);
procedure eComsXOCsPAGESChange(Sender: TObject);
procedure The_PagesDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
procedure bbbsClick(Sender: TObject);
procedure TabsShow(Sender: TObject);
procedure AA_0608_cccExoSeeWEBClick(Sender: TObject);
procedure TMcomWebKIKerTimer(Sender: TObject);
procedure AA_0530_CButton5Click(Sender: TObject);
procedure TheExoTitleChange(Sender: TObject; const Text: WideString);
procedure _mn_StopComClick(Sender: TObject);
procedure ppMainPopup(Sender: TObject);
procedure AA_0404_OnLine1Click(Sender: TObject);
procedure AA_0406_SetAWAYmsgClick(Sender: TObject);
procedure _mn_add2FavsClick(Sender: TObject);
procedure _mn_delfavClick(Sender: TObject);
procedure _mn_zundFileClick(Sender: TObject);
procedure GoOnlineClick(Sender: TObject);
procedure OnStatsDblClick(Sender: TObject);
procedure _mn_zundFolderClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure TmKLOZZERTimer(Sender: TObject);
procedure GoFreeComsOwnDynamicTabs(Sender: TObject);
procedure TmVersionNOTIFYTimer(Sender: TObject);
procedure AA_0430_OpnFolderClick(Sender: TObject);
procedure _mn_adminBanClick(Sender: TObject);
procedure ccBannectorConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ccBannectorError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ccBannectorRead(Sender: TObject; Socket: TCustomWinSocket);
procedure ccBannectorDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure _mn_infoUserClick(Sender: TObject);
procedure _mn_RemUserClick(Sender: TObject);
procedure clearbannedClick(Sender: TObject);
procedure AA_0433_IconsHelpClick(Sender: TObject);
private
_XpActiveNODE : TTreeNode;
_XpActiveUSER : TTreeNode;
procedure exosee_Data_msg(var Msg: TWMCopyData); message WM_COPYDATA;
public
{ Déclarations publiques }
end;
var
_FXOC_MAIN: T_FXOC_MAIN;
hawa:thandle;
para:string;
implementation
uses _uc_refs_consts, _uf_web_model, _uc_funcs, _uf_about, _uf_start,
_uc_refs_vars, _uf_settings, _uc_reg_settings,
_uc_ExoSeeKerneL, _i_do_exploration, _i_explorer, _uc_tek_updater_thread,
_uf_wizard, _uf_chat, _uc_crypto, _uf_ComProps, _uc_ip_codecs,
_uf_xoc_model, _uf_xoc_downloader, _uf_debugerLog, _uf_sendFile,
_uc_GuiLanG, _uf_xoc_icons;
{$R *.DFM}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure _zend_msg(s:string;hh:thandle;code:integer);
var
structa: TCopyDataStruct;
data:string;
begin
data :=s; // max 255
structa.dwData := code;
structa.cbData := length(data);
structa.lpData := PChar(data);
SendMessage(hh,WM_COPYDATA,0,Longint(@structa));
end;
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.exosee_Data_msg(var Msg: TWMCopyData);
var
sText: array[0..255] of Char;
_code:integer;
_FXOC_DOWNLOADER: T_FXOC_DOWNLOADER;
//sDownloadURL:string;
begin
StrLCopy(sText, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
_code:=Msg.CopyDataStruct.dwData;
case _code of
701 : begin
_FXOC_DOWNLOADER:=T_FXOC_DOWNLOADER.Create(Application);
_FXOC_DOWNLOADER.__LOCAL_DOWNLOAD_FOLDER:=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER;
_FXOC_DOWNLOADER._ZUNDER_IS_WEB_XOC_LINK:=true;
_FXOC_DOWNLOADER.pnLwebxocLINK.Left :=0;
_FXOC_DOWNLOADER.pnLwebxocLINK.Top :=65;
_FXOC_DOWNLOADER.pnLwebxocLINK.Visible :=true;
_FXOC_DOWNLOADER.edXocini.Text :=sText;
_FXOC_DOWNLOADER.Show; // normal show as will be in tasbar
end;
702 : SetForegroundWindow(Handle);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.OnStatusBarResize(Sender: TObject);
begin
if TStatusBar(Sender).HandleAllocated then InvalidateRect(TStatusBar(Sender).Handle, nil, True);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0413_About1Click(Sender: TObject);
begin
with T_FXOC_ABOUT.Create(Application) do
begin
Caption:=___ccc__0413__About;
ShowModal;
Free;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.eeStartClick(Sender: TObject);
begin
_FXOC_START.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormActivate(Sender: TObject);
begin
if tag=1 then exit; tag:=1; // on once activate
Application.ProcessMessages;
Update;
Application.ProcessMessages;
TheExoWeb.Navigate('http://web.exosee.com/');
Application.ProcessMessages;
_FXOC_START.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormCreate(Sender: TObject);
begin
//-- load language file if exists
GoCheckLanguageFileAndLoadItIfExists;
GoSetLANG(Self); //----- go loadLang --- if ok (1st here)
Application.ProcessMessages;
//izDebugerON.Checked:=false; // force
_VV_LOCAL_USER_PC_ID:=GetLocalPcID;
//_VV_LOCAL_USER_PC_ID:='1E45355312';// inc always to not fav
//if (izDebugerON.Checked)and(_VV_LOCAL_USER_PC_ID<>'1E45355311') then izDebugerON.Checked:=false; // protect debug log
(*
if (izDebugerON.Checked) then
begin
_FDBGLOG:=T_FDBGLOG.Create(Application);
_FDBGLOG.Show;
end;
*)
_images.Overlay(62, 0); // admin
_images.Overlay(63, 1); // mod
_images.Overlay(52, 2); // fav
TExoSeeSettings.LoadSettings;
//-----1st_startup_wizard----------
if EXPLORER_PUBLIC_ROOTS.Count=0 then
with TF_SETUP_WIZARD.Create(Application) do
begin
Showmodal;
Free;
TExoSeeSettings.SaveSettings;
Application.ProcessMessages;
TExoSeeSettings.LoadSettings;
end;
if Application.Terminated then exit;
InitialiseLocals;
LoadGuiNodes;
_FXOC_MAIN.TheLOGGER.Log(ret+_APPLICATION_NAME+' '+_APPLICATION_VERSION_STRING+ret);
CapVersion.Caption:='v'+_APPLICATION_VERSION_STRING;
Caption:=_APPLICATION_NAME;// sek for params to catch window
eeeID.Caption:=_VV_LOCAL_USER_PC_ID;
_TM_UP_TEKKER.Interval:=120000; // 2 min //
_TM_UP_TEKKER.Enabled:=true;
_TM_TRAFFICY.Enabled:=true;
The_Pages.ActivePage:=TabForums ;
AA_0608_cccExoSeeWEB.SetAsSELECTED;
_validate_The_Local_folders;
PaneLTabber.Top:=1;
PaneLTabber.Left:=1;
iko_1.Visible:=(_VV_LOCAL_USER_ONLINE_STATUS='A');
iko_0.Visible:=not iko_1.Visible;
if (iko_1.Visible) then eeOnStata.Caption:=___ccc__0001__Online else eeOnStata.Caption:=___ccc__0002__Away;
TExoSeeSettings._loadFavs;
_FXOC_MAIN._TExoSeeSERVER.Port:=_C_EXOSEE_MASTER_SERVER_PORT; // 716
_FXOC_MAIN._TExoSeeSERVER.Active:=true;
_FXOC_MAIN.ssCHATER.Port:=_C_EXOSEE_CHATER_SERVER_PORT; // 717
_FXOC_MAIN.ssCHATER.Active:=true;
//Set8087CW($133F);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.Splitter1CanResize(Sender: TObject;
var NewSize: Integer; var Accept: Boolean);
begin
Accept:=(NewSize>140) and (NewSize<340);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.zettingsClick(Sender: TObject);
begin
_FXOC_SETTINGS.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVGetImageIndex(Sender: TObject; Node: TTreeNode);
begin
case node.ImageIndex of
21 : node.SelectedIndex:=22;
23 : node.SelectedIndex:=24;
25 : node.SelectedIndex:=26;
else node.SelectedIndex:=node.ImageIndex;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVCollapsing(Sender: TObject;
Node: TTreeNode; var AllowCollapse: Boolean);
begin
AllowCollapse:=(Node<>_TV_NODE_OF_HOME_ROOT)and (Node<>_TV_NODE_OF_COMMUNITIES);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._TExoSeeSERVERGetThread(Sender: TObject;
ClientSocket: TServerClientWinSocket;
var SocketThread: TServerClientThread);
begin
SocketThread :=TEXOSEE_KERNEL_THREAD.Create(true, ClientSocket);
SocketThread.FreeOnTerminate :=true;
SocketThread.KeepInCache :=false;
SocketThread.OnTerminate :=TEXOSEE_KERNEL_THREAD(SocketThread).On_terminated;
SocketThread.Resume;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVChange(Sender: TObject; Node: TTreeNode);
var
i:integer;
sNik:string;
begin
_XpActiveUSER:=nil;
eXPLRuser.Caption:='';
_xpuzerMsg.Caption:='';
zzzChat.Enabled :=false;
zzzSendFile.Enabled:=false;
zzzChat.Hint :=___ccc__0003__Chat;
zzzSendFile.Hint :=___ccc__0004__FileSend;
(*
NODE LEVELS :
. = Home
E = Communities
F = Favs NODE
L = fav user incative
M = active fav user
C = Community
Z = USER
X = .xoc
*)
if (Node._EXO_NODE_X_LEVEL='C')and(NOT Node._EXO_NODE_IS_STOPING) then
begin
TabComsWebs.Show;
for i:=0 to eComsWebsPAGES.PageCount-1 do
if (eComsWebsPAGES.Pages[i].Caption=Node.Text)then
begin
eComsWebsPAGES.Pages[i].Show;
break;
end;
Application.ProcessMessages;
exit;
end;
if (Node._EXO_NODE_X_LEVEL='X')and(NOT Node._EXO_NODE_IS_STOPING) then
begin
TabXoc.Show;
for i:=0 to eComsXOCsPAGES.PageCount-1 do
if (eComsXOCsPAGES.Pages[i].Caption=Node.Parent.Text)then
begin
eComsXOCsPAGES.Pages[i].Show;
break;
end;
Application.ProcessMessages;
exit;
end;
if NOT(Node._EXO_NODE_X_LEVEL in ['Z','M']) then exit; // Only user code here !!!
//_fgui._XpLoRer.AutoExpand:=true;
TabExplorer.Show;
_XpActiveNODE:=Node; //
_XpActiveUSER:=_eExplorerTV.Items.getnode(Node._EXO_NODE_ROOT_HD);
eXPLRuser.Caption:=_XpActiveUSER.Text;
_xpuzerMsg.Caption:=StringReplace(_XpActiveUSER._EXO_NODE_MESSAGE,';',' ',[rfReplaceAll]);
sNik:=eXPLRuser.Caption;
_images.GetIcon(_XpActiveUSER.ImageIndex,eeUzerIco.Picture.Icon);
zzzChat.Enabled :=true;
zzzSendFile.Enabled:=true;
zzzChat.Hint :=___ccc__0005__ChatWith+sNik;
zzzSendFile.Hint :=___ccc__0006__SendFileTo+sNik;
explorStatFiles.Caption:=format(___ccc__0062__XfolderXfiles,[0,0]);
explorStatPath.Caption:='...';
_clear_faster(AA_0515_LVExpLorer); // clear lv
AA_0515_LVExpLorer.Update;
Application.ProcessMessages;
//ShowMessage(_XpActiveNODE.Text+ret+IntToStr(length(_XpActiveNODE._EXO_NODE_DATA_STOCK)));
if (_XpActiveNODE._EXO_NODE_DATA_STOCK<>'') then
begin
_go_xpLorEr_ShowA_node(_XpActiveNODE);
end
else
with T_i_explorer_THREAD.Create do
begin
_XpUzoPP :=_XpActiveNODE._EXO_NODE_USER_IP;
_XpNode :=_XpActiveNODE;
Resume;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.GoFreeComsOwnDynamicTabs(Sender: TObject);
var
i,j,k:integer;
sName:String;
begin
for i:=0 to eComsWebsPAGES.PageCount-1 do
begin
sName:=eComsWebsPAGES.Pages[i].Caption;
(* *)
//_1________free__T_FrameWEB______by_hint_com_name
for j:=0 to PaneLwebTABS.ComponentCount-1 do
if (T_FrameWEB(PaneLwebTABS.Components[j]).Hint=sName) then
begin
T_FrameWEB(PaneLwebTABS.Components[j]).Parent:=nil; // the fix
T_FrameWEB(PaneLwebTABS.Components[j]).Free;
break;
end;
//_2________free__TTabSheet______by_caption__com_name
for k:=0 to PaneLwebTABS.ComponentCount-1 do
if (TTabSheet(PaneLwebTABS.Components[k]).Caption=sName) then
begin
TTabSheet(PaneLwebTABS.Components[k]).Free;
break;
end;
// we freed so count is dec >> go ahead ... we exit
if (eComsWebsPAGES.PageCount>0) then GoFreeComsOwnDynamicTabs(nil);
break;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
(*
CanClose:=(TmKLOZZER.Tag=2);
case TmKLOZZER.Tag of
0: GoWebsAssingBLANKPAGES; // set blank pages first
1 :GoFreeComsOwnDynamicTabs(nil); //
end;
TmKLOZZER.Enabled:=true; // go free and close in some seconds
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TmKLOZZERTimer(Sender: TObject);
begin
TmKLOZZER.Enabled:=false;
TmKLOZZER.Tag:=TmKLOZZER.Tag+1;
Close;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.FormClose(Sender: TObject; var Action: TCloseAction);
begin
_THE_EXOSEE_APPLICATION_IS_TERMINATED:=true;
Application.ProcessMessages;
Application.ProcessMessages;
Application.ProcessMessages;
TExoSeeSettings.SaveSettings;
GoFreeComsOwnDynamicTabs(nil); // destroy created web tabs++
Application.ProcessMessages;
GoFreeComs_Xoc_Tabs; // destroy created xoc tabs++
//if (izDebugerON.Checked) then _FDBGLOG.Free;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTV_Tip(Sender: TObject; Item: TTreeNode; var Info: String);
begin
Case item._EXO_NODE_X_LEVEL of
//'L' : Info:=Item._EXO_NODE_COM_IDX;
'C' : begin
Info:=Item.Text+ret+sep+ret+Item._EXO_NODE_MESSAGE;
end;
'Z','M' : if (Item._EXO_NODE_ROOT_HD=Item.ItemId) then
begin
_HINT_ZUNDER_IZ_USER_LIST:=true;
// space added to width rect
Info:=Item._EXO_NODE_20BOOLS[2]+'_________________________________'+ret+ // logo + line [0] ingored
Item.Text+ret+
'-'+ret+
StringReplace(Item._EXO_NODE_MESSAGE,'|',ret,[rfReplaceAll])+ret+
'-'+ret+
___ccc__0007__Country+' '+Item._EXO_NODE_COUNTRY;
end;
end;
(*
if (izDebugerON.Checked) then
begin
Info:=Info+ret+sep+ret+Item._EXO_NODE_USER_IP+ret+
'Level:'+Item._EXO_NODE_X_LEVEL+ret+
'uzID:'+Item._EXO_NODE_USER_ID+ret+
'Country:'+Item._EXO_NODE_COUNTRY+ret+
'msg:'+Item._EXO_NODE_MESSAGE+ret+
'path-N:'+Item._EXO_NODE_PATH_NB+ret+
'com-IDX:'+Item._EXO_NODE_COM_IDX+ret+
'path_TX:'+Item._EXO_NODE_PATH_TX+ret+
'20b:'+Item._EXO_NODE_20BOOLS+ret+
//'STOCK:'+Item._EXO_NODE_DATA_STOCK+ret+
//Item._EXO_NODE_U_STATU+ret+
'...'+Item._EXO_NODE_XP_TYPE;
end;
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0515_LVExpLorerDblClick(Sender: TObject);
var
//_FullRootPath,
//_nB:byte;
_SavaRzM:string;
_sZ:Int64;
_RootUzerNode:TTreeNode;
_cx: TListItem;
begin
_cx:=AA_0515_LVExpLorer.Selected;
if _cx=nil then exit;
if _cx.imageIndex=29 then
begin // go back explorer
_eExplorerTV.Selected:=_cx._RefferNODA; // to parent of selected !!
exit;
end;
case _cx.imageIndex of
21,23,25 : try _eExplorerTV.Selected:=_eExplorerTV.Selected.Item[_cx.itm_int1]; except end; // it buggs
27,28 : begin
// <f> file has node handle of the main HD root user
_RootUzerNode:=_eExplorerTV.Items.getnode(_cx._RefferNODA._EXO_NODE_ROOT_HD);
(*
if (_RootUzerNode=_TV_NODE_OF_LOCAL_USER) then // if local
begin
_nB:=StrToIntDef('$'+_cx.pat_n,1)-1;
case _cx._Type of
'0' :_FullRootPath:=stringreplace(EXPLORER_PUBLIC_ROOTS[_nB]+_cx.itm_str1,'\\','\',[rfReplaceAll]);
'1' :_FullRootPath:=stringreplace(EXPLORER_PRIVATE_ROOTS[_nB]+_cx.itm_str1,'\\','\',[rfReplaceAll]);
'2' :_FullRootPath:=stringreplace(_GimeFavUserXtraFolder(_RootUzerNode._EXO_NODE_USER_ID)+_cx.itm_str1,'\\','\',[rfReplaceAll]);
end;
ShellExecute(0,'open',pchar(_FullRootPath),nil,nil,SW_SHOWNORMAL);
exit;
end
else
*)
begin //start dl
_sZ:=_cx.ITM_F_SIZE;// strtointdef(lv.Selected.SubItems[0],0);
_SavaRzM:='_$$_'+_cx.pat_n+'_'+_cx._Type+'_'+IntToHex(_sZ,16)+'_'+_cx.uzr_id+'_'+_cx.Caption;
//_$$_01_0_0046B800_1CE4C70CB6_Alpha.mp3
//_$$_pn_type_size_id_fName
// ShowMessage(_SavaRzM+ret+_eExplorerTV.Selected._EXO_NODE_PATH_TX);
(* *)
// register
//_$$_01_1_001D6FD2_1C080B2CD3_ENYA-01.mp3 = \Enya\enya - 1988 - watermark\
//// not now TExoSeeSettings.save_resume_info(_SavaRzM,_eExplorerTV.Selected._EXO_NODE_PATH_TX);
_cx.imageIndex:=28;
_put_DW_vItem(_cx.Caption,
_RootUzerNode.Text,
_cx.itm_str2,
_cx.uzr_id,
_cx.itm_str1,
_cx.pat_n,
_SavaRzM,
'',
_cx._Type,
_sZ);
end; //start dl end
end;// 27... end
end; // case end
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._pp_xpozPopup(Sender: TObject);
begin
_pp_xpoz_menu_on(_eExplorerTV.Selected);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._eExplorerTVMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
NN:TTreeNode;
begin
NN:=_eExplorerTV.GetNodeAt(x,y);
if NN=nil then exit;
if Button= mbRight then _eExplorerTV.Selected:=NN; // to select via right clik
(*
case Button of
mbRight : begin
_eExplorerTV.Selected:=NN; // to select via right clik
if NN._EXO_NODE_X_LEVEL='N' then
begin
_eExplorerTV.PopupMenu:=PP_COM;
_csWeb.Caption:=format('Visit [ %s ] Website',[NN.text]);
_csCRoom.Caption:=format('Join ChatRoom of [ %s ]',[NN.text]);
_csComStop.Caption:=format('Stop [ %s ]',[NN.text]);
PP_COM.Popup(_XpLoRer.left+_pxp_a.left+left+sPapa.left+40,_XpLoRer.top+ _pxp_a.top+top+sPapa.top+y+50);
end
else _eExplorerTV.PopupMenu:=_pp_xpoz;
Application.ProcessMessages;
end;
mbLeft : begin // com to pup-up its menu
if NN._EXO_NODE_X_LEVEL='N' then
begin
_csWeb.Caption:=format('Visit [ %s ] Website',[NN.text]);
_csCRoom.Caption:=format('Join ChatRoom of [ %s ]',[NN.text]);
_csComStop.Caption:=format('Stop [ %s ]',[NN.text]);
PP_COM.Popup(_XpLoRer.left+_pxp_a.left+left+sPapa.left+40,_XpLoRer.top+ _pxp_a.top+top+sPapa.top+y+50);
end;
end;
end;
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._TM_UP_TEKKERTimer(Sender: TObject);
var
i:Integer;
ComNODD:TTreeNode;
//StrComLINK:string;
//StrComDOMAIN:string;
//StrComPATH:string;
begin
(*
//----------server_node_data_already done in login
IniComNODE._EXO_NODE_COM_IDX :=sComUrl; // full com url
IniComNODE._EXO_NODE_USER_ID :=The_ZunderITEM.uzr_id; // grab com pass ( user-input )
IniComNODE._EXO_NODE_USER_IP :=sDomainSEK; // domain sek
IniComNODE._EXO_NODE_PATH_TX :=sPathSEKandTekFile; // path sek + tek_file /fr/_xoc_com.php
IniComNODE._EXO_NODE_eSERIAL :=iPort;
*)
for i:=0 to _TV_NODE_OF_COMMUNITIES.Count-1 do
begin
ComNODD:=_TV_NODE_OF_COMMUNITIES.Item[i];
if NOT(ComNODD._EXO_NODE_IS_STOPING) then
with TTEK_UPDATER_THREAD.Create do
begin
_tek_up_Domain :=ComNODD._EXO_NODE_USER_IP;
_tek_up_port :=ComNODD._EXO_NODE_eSERIAL; // fixed !! (pro will do user http:port)
_tek_up_com_path_plus_Tik_File :=ComNODD._EXO_NODE_PATH_TX;
_tek_up_full_http_link_stok :=ComNODD._EXO_NODE_COM_IDX;
_tek_up_zunderCOM :=ComNODD;
// pass no need !
Resume;
end;
end;
(* old
for i:=0 to _TV_NODE_OF_COMMUNITIES.Count-1 do
begin
ComNODD:=_TV_NODE_OF_COMMUNITIES.Item[i];
// http://musicafe.org/cs/
StrComLINK :=ComNODD._EXO_NODE_COM_IDX;
StrComDOMAIN :=StrComLINK;
Delete(StrComDOMAIN,1,7); // musicafe.org/cs/
StrComPATH :=StrComDOMAIN; // musicafe.org/cs/
p:=pos('/',StrComDOMAIN);
StrComDOMAIN:=copy(StrComDOMAIN,1,p-1); // musicafe.org
Delete(StrComPATH,1,p-1); // /cs/
if (Copy(StrComLINK,1,7)='http://') then
with TTEK_UPDATER_THREAD.Create do
begin
_tek_up_Domain :=StrComDOMAIN;
_tek_up_port :=80; // fixed !! (pro will do user http:port)
_tek_up_com_path_plus_Tik_File :=StrComPATH+_C_EXOSEE_WEB_TEK_FILE;
_tek_up_full_http_link_stok :=StrComLINK;
_tek_up_zunderCOM :=ComNODD;
// pass no need !
Resume;
end;
end;
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ssCHATERClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var
i:integer;
f44:T_FCHAT;
begin
f44:=nil; // zaty...$
for i:=0 to PaneLCC.ComponentCount-1 do
begin
if T_FCHAT(PaneLCC.Components[i]).zoka=Socket.SocketHandle then
begin
f44:=T_FCHAT(PaneLCC.Components[i]); // use same f4 var
break;
end;
end;
if f44<>nil then begin
f44.logy(ret+___ccc__0009__Disconnected,1);
f44.m.Update;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ssCHATERClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ssCHATERClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
x,nm:string;
p,i:integer;
f4:T_FCHAT;
begin
if (_THE_EXOSEE_APPLICATION_IS_TERMINATED) then exit;
x:=TCrypto._SimSim(Socket.ReceiveText);
if copy(x,1,6)='<ZATC>' then // new user in chat
begin
try
Socket._node_uz:=_is_UserID_in_The_NETWORKS_Tree(copy(x,8,10)); // read id // no in list >> kik
except
//_DoDebugLOG('ch_01');
end;
if (Socket._node_uz=nil) then begin
Socket.Close;
exit;
end; // !! bugs if removed
try
nm:=Socket._node_uz.Text;
f4:=T_FCHAT.Create(PaneLCC); // owner !!!
f4.niko:=nm;
f4.Caption:=f4.niko;
f4.zoka:=Socket.SocketHandle;
f4.logy(ret+FormatDateTime('dddd dd mmm yyyy "-" hh:mm ',now)+', '+nm+' '+___ccc__0008__Connected,1);
f4.WindowState:=wsMinimized;
f4.Show;
flashwindow(f4.handle, true);
except
//_DoDebugLOG('ch_02');
end;
exit;
end;
// filter !! must find the right memo !!!
if (copy(x,1,4)='ZATY')and (x[length(x)]='$') then
begin
f4:=nil; // zaty...$
try
for i:=0 to PaneLCC.ComponentCount-1 do
begin
if T_FCHAT(PaneLCC.Components[i]).zoka=Socket.SocketHandle then
begin
f4:=T_FCHAT(PaneLCC.Components[i]); // use same f4 var
break;
end;
end;
except
//_DoDebugLOG('ch_03');
end;
if (f4=nil) then begin Socket.Close; exit; end;
x:=copy(x,5,length(x)-5); //cut handsome !
if x='_typing...' then begin
f4.Caption:=f4.niko+' ...';
exit;
end;
try
f4.Caption:=f4.niko;
f4.logy(ret+FormatDateTime('[hh:mm] ',now)+copy(x,1,pos(ret,x)-1),1);
p:=pos(ret,x);
nm:=copy(x,p+2,length(x)-p);
f4.logy(StringReplace(nm,'$ZATY',ret,[rfReplaceAll]),0); // a clean of packets old versions
except
//_DoDebugLOG('ch_04');
end;
if (_VV_LOCAL_USER_ONLINE_STATUS<>'A') then
begin // send away status
try
Socket.SendText(TCrypto._BarzaToon('ZAWA'+_VV_LOCAL_USER_NOT_ONLINE_MESSAGE));
f4.logy(ret+format(___ccc__0010__AutoReplySentTo,[Socket._node_uz.Text]),0);
except
//_DoDebugLOG('ch_05');
end;
end;
flashwindow(f4.handle, false);
end
else Socket.Close; // a tzzuser
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_chatClick(Sender: TObject);
var
f3:T_FCHAT;
begin
//if not (_eExplorerTV.Selected._EXO_NODE_POZISIO in [90,91,92,93]) then exit;
if not(_eExplorerTV.Selected._EXO_NODE_X_LEVEL in ['Z','M']) then exit;
f3:=T_FCHAT.Create(Application);
f3.niko:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD).Text;
f3.uip:=_eExplorerTV.Selected._EXO_NODE_USER_IP;
f3.isZunderF3:=true;
//f_f.zendf.Caption:=format(_s_user_send_file,[f_f.uzr3]);
f3.show;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._TM_TRAFFICYTimer(Sender: TObject);
var
i,j:integer;
s,z,bb:string;
cango,candodo,cango8:bool;
QObJ : TListItem;
begin
// BECAREFULL TIMER INTERVAL= 1 sec
candodo:=true;
cango8:=true;
for i:=0 to AA_0516_vTraffic.Items.Count-1 do
with AA_0516_vTraffic.Items[i] do
if (_Pozo in [6..50]) then
begin
//_LoG(' itemPozo : '+inttostr(_Pozo),1,false);
case _Pozo of
15 : begin
SubItems[5]:=___ccc__0011__Error; // error !
_Pozo :=46;// go to delete
end;
16 : begin
// _Pozo :=160;
SubItems[5]:=___ccc__0009__Disconnected;// SubItems[5] :=''; // disconnected
_Pozo :=46;// go to delete
end;
18 : begin
//_Pozo :=180;
SubItems[5]:=___ccc__0012__NoAccess; // No access, cause-fw
_Pozo :=46;// go to delete
end;
19 : begin //kk_0_in_dl .. !!!!!!!!! no more repeating
// __Put_SubItem(_iTemIndex,3,'Retry['+inttostr(_ReCont)+']'); // kk
//_Pozo :=6;
// if _ReCont>2 then begin
SubItems[5]:=___ccc__0009__Disconnected;
_Pozo :=190;// go to rzm
// end;
end;
13 : begin
SubItems[5]:=___ccc__0013__Stopped; //
_Pozo :=130;
end;
6 : begin
_Pozo :=7;
end;
7 : if candodo then
begin // new dl , trigg it and exit( 1sec)
cango:=true;
for j:=0 to AA_0516_vTraffic.Items.Count -1 do
begin
QObJ := AA_0516_vTraffic.Items[j];
if (uzr_id=QObJ.uzr_id)and(QObJ._Pozo in [10,11]) then
begin
cango:=false;
_Pozo:=6; // skip, check next time
SubItems[5]:=___ccc__0014__Queued; // attente
break;
end;
end;
if cango then begin
_Pozo:=8;
candodo:=false; // next time fo other items
end;
end;
8 : if cango8 then
begin // starting new dl
_Pozo:=10;
cango8:=false; // next time fo other items
_exo_proc_i_dl_explorer(itm_str1,
itm_str2,
pat_n,
Caption,
uzr_id,
SubItems[4],
sava_f,
_Type,
ITM_F_SIZE,
AA_0516_vTraffic.Items[i]);
end;
11 : begin // downloading
// speed
//if (ITM_READEN<>itm_int1) then
timeLeft :=(ITM_READEN - itm_int1); // kbs 1 sec;
SubItems[2]:=_octos(timeLeft)+'/s';
(*
//timeLeft
if timeLeft>0 then // fix menu bug >> div/0
begin
timeLeft :=(ITM_F_SIZE-ITM_READEN) div timeLeft;
SubItems[5]:=_time_left(timeLeft));
end;
*)
itm_int1 :=ITM_READEN;
itm_int2 :=_percenty(ITM_READEN,ITM_F_SIZE); // %
SubItems[3] :=IntToStr(itm_int2)+'%'; // to update progress
end;
14 : begin
_Pozo :=140;
SubItems[5]:=___ccc__0015__Completed; //
SubItems[2]:=_octos(ITM_READEN); //read
itm_int2 :=_percenty(ITM_READEN,ITM_F_SIZE); // %
//SubItems[5]:=''; // to update progress // % fill
SubItems[3] :=IntToStr(itm_int2)+'%';
s:=ExtractFileName(sava_f_thr);
s:=copy(s,38,length(s)-37);//_$$_01_0_000000000046B800_1CE4C70CB6_Alpha.mp3
_FXOC_MAIN.TheLOGGER.Log(___ccc__0016__DLCompleted+' : '+s,15);
if dl_path='' then begin
j:=0;
z:='';
while FileExists(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+'Completed\'+z+s) do
begin
inc(j);
z:='['+inttostr(j)+'] ';
end;
bb:=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+'Completed\'+z+s;
MoveFile(pchar(sava_f_thr),pchar(bb));
end
else
begin
j:=0;
z:='';
while FileExists(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+dl_path+z+s) do
begin
inc(j);
z:='['+inttostr(j)+'] ';
end;
bb:=_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+dl_path+z+s;
MoveFile(pchar(sava_f_thr),pchar(bb));
end;
_add_2completed(ExtractFileName(bb),bb,SubItems[4],_octos(ITM_F_SIZE));
_Pozo :=46;// go to delete
//_tm_traffic.kwd_id:=uzr_id;
exit; // to do from begining not soon !!!
// this exit is ?? about kbs !!!
end;
12 : begin // queued ! 12 is only real remote queue
SubItems[5]:='.'+___ccc__0014__Queued;//'.';
inc(_ReCont); // inc kuwed
if (_ReCont>=60) then // 1 min or (_tm_traffic.kwd_id=uzr_id)
begin
// if _ReCont<120 then _tm_traffic.kwd_id:='';
_Pozo:=7; // go to check if possible soon or no, the 7 will charge
// will persist on 6 and 7 not in 12 ,
// and if went to dl and re-comeback direct 12 with _ReCont=0
// to re-wait 2 min ...
end;
end;
27 : begin // auto-resume user is on , start as 6
_Pozo:=6;
break;// !!! trying reduce of resume attacks
end;
//--------------Upload_items--------------------
41 : begin
// speed
//if (itm_int1<>itm3) then
timeLeft :=(itm_int1-itm3);
SubItems[2]:=_octos(timeLeft)+'/s'; // kbs up
//UL timeLeft
(*
if timeLeft>0 then // fix menu bug >> div/0
begin
timeLeft :=(ITM_F_SIZE-ITM_SENT) div timeLeft;
__Put_SubItem(_iTemIndex,6,_time_left(timeLeft));
end;
*)
itm_int1 :=itm3;
itm_int2 :=_percenty(ITM_SENT,ITM_F_SIZE); // % ok
SubItems[3] :=IntToStr(itm_int2)+'%'; // to update progress
end;
42 : begin
// UL completed
_FXOC_MAIN.TheLOGGER.Log(format(___ccc__0017__UploadCompletedTo,[AA_0516_vTraffic.Items[i].Caption,SubItems[4]]),1);
//inc(_VV_LOCAL_USER_UPLOADS,ITM_F_SIZE); // inc _V_UPLOAD_LOCAL_RECORD
//eeeUPed.Caption:='Uploaded : '+_octos(_VV_LOCAL_USER_UPLOADS); // show it
// del direct here
Delete; // del item
break; /// a must
end;
43 : begin
SubItems[5]:=___ccc__0009__Disconnected; // , error
_Pozo :=46;// go to delete
end;
44 : begin
SubItems[5]:=___ccc__0018__Aborted; // aborted go show disconnected
_Pozo :=46;// go to delete
end;
45 : begin
SubItems[5]:=___ccc__0019__Canceled; //
_Pozo :=46;// go to delete
end;
46 : begin
Delete;
break; /// a must
end;
end;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.xplorupdateClick(Sender: TObject);
begin
_eExplorerTV.Selected._EXO_NODE_DATA_STOCK :=''; // free
// fix SubFolders update
_eExplorerTV.Selected.DeleteChildren;
Application.ProcessMessages;
_eExplorerTV.Selected._EXO_NODE_IS_FULL :=0; //
_eExplorerTVChange(nil,_eExplorerTV.Selected); // trigger
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0402_OpenMyDlFolderClick(Sender: TObject);
begin
ShellExecute(0,'explore',pchar(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.PPP_TraFFicPopup(Sender: TObject);
var
//i:integer;
VDD : TListItem;
begin
AA_0431_CanZeL.Enabled:=false;
AA_0432_Ztop.Enabled:=false;
AA_0415_reZume.Enabled:=false;
if (AA_0516_vTraffic.Selected=nil) then exit;
AA_0431_CanZeL.Enabled:=true;
VDD:=AA_0516_vTraffic.Selected;
AA_0432_Ztop.Enabled:=VDD._Pozo=11;// only for DLing
AA_0415_reZume.Enabled:=(VDD._Pozo in [130,190]); // allow kkCpu
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0431_CanZeLClick(Sender: TObject);
var
V_OBJ: TListItem;
begin
V_OBJ:=AA_0516_vTraffic.Selected;
// in common to cancel item >>3>> UL / DL / QUeued
if V_OBJ=nil then exit;
case V_OBJ._Pozo of
6 : V_OBJ._Pozo := 45; // 12 = real queued 2 min
33,12,130,190 : begin // +pended + stoped + kk
if DeleteFile(_VV_LOCAL_CONFIG_THE_DOWNLOADS_FOLDER+V_OBJ.sava_f) then V_OBJ._Pozo := 45;
end;
else
V_OBJ.set_cancel:=true;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0432_ZtopClick(Sender: TObject);
var
VBB: TListItem;
begin
VBB:=AA_0516_vTraffic.Selected;
// in common to cancel item >>3>> UL / DL / QUeued
if VBB=nil then exit;
if VBB._Pozo=11 then VBB.set_stop:=true; // pozo will be 130
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0415_reZumeClick(Sender: TObject);
var
VBB: TListItem;
begin
VBB:=AA_0516_vTraffic.Selected;
if VBB=nil then exit;
if (VBB.set_stop)or(VBB._Pozo=190) then // allow kkcpuKK to resume
begin
VBB.set_stop:=false; // alive it
VBB.SubItems[5]:=___ccc__0020__Resume;
VBB._Pozo:=6; //go to resume and wait before !!!
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0517_vCompletedDblClick(Sender: TObject);
var
_NODE_OBJECT : TListItem;
begin
_NODE_OBJECT:=AA_0517_vCompleted.Selected;
if _NODE_OBJECT=nil then exit;
ShellExecute(0,'open',pchar(_NODE_OBJECT.sava_f),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0517_vCompletedInfoTip(Sender: TObject; Item: TListItem; var InfoTip: String);
begin
InfoTip:=Item.sava_f;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.pp_vExplorationPopup(Sender: TObject);
begin
dL1.Caption:='---';
dL1.Enabled:=(AA_0515_LVExpLorer.Selected<>nil)and(AA_0515_LVExpLorer.Selected.ImageIndex<>29); // avoid icon<..>
if dL1.Enabled then begin
case AA_0515_LVExpLorer.Selected.ImageIndex of
27 : begin
if AA_0515_LVExpLorer.Selected._RefferNODA=_TV_NODE_OF_LOCAL_USER then
dL1.Caption:=___ccc__0021__Open+' : '+AA_0515_LVExpLorer.Selected.Caption
else
dL1.Caption:=___ccc__0022__Download+' : '+AA_0515_LVExpLorer.Selected.Caption;
end;
21,23,25 : dL1.Caption:=___ccc__0023__Explore+' : '+AA_0515_LVExpLorer.Selected.Caption;
else begin
dL1.Enabled:=false;
end;
end;
end;
end;
//------------------------------------------------------------------------------
var
_FIRST_WEB_IS_LOADED:boolean = false;
procedure T_FXOC_MAIN.TheExoWebTitleChange(Sender: TObject; const Text: WideString);
var
p1,p2:integer;
begin
(*
<!--
$http://aaa.com/
$http://bbb.com/
$http://ccc.com/
$http://eee.com/
$http://fff.com/
$http://ggg.com/
$http://hhh.com/
-->
*)
if (_FIRST_WEB_IS_LOADED=true) then exit;
//ShowMessage('b');
if (Text='_EXOSEE_V1') then //a must web title in web !!!
begin
_FIRST_WEB_IS_LOADED:=true;
_PublicWebComsList.Text:=TheExoWeb.OleObject.Document.Body.outerhtml;
//ShowMessage(_PublicWebComsList.Text);
p1:=pos('<!--',_PublicWebComsList.Text);
p2:=pos('-->',_PublicWebComsList.Text);
if (p2>p1) then
begin
_PublicWebComsList.Text:=copy(_PublicWebComsList.Text,p1,(p2-p1)+3);
if (_VV_LOCAL_CONFIG_AUTO_ADD_COMS) then GoFillActualWebPublicComs; // auto add pub coms
if (_VV_LOCAL_AUTO_NOTIFY_NEW_VERSION) then GoSeeIfNewVersionDetected; // version notify
end;
// Application.ProcessMessages;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.CoolBar1Resize(Sender: TObject);
begin
if TCoolBar(Sender).HandleAllocated then InvalidateRect(TCoolBar(Sender).Handle, nil, True);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_comPropesClick(Sender: TObject);
begin
_FCOM_PROPS:=T_FCOM_PROPS.Create(Application);
_FCOM_PROPS.vND:=_eExplorerTV.Selected;
_FCOM_PROPS.ShowModal;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0414_Exit1Click(Sender: TObject);
begin
close;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.eComsXOCsPAGESChange(Sender: TObject);
begin
exit;//
if (_THE_EXOSEE_APPLICATION_IS_TERMINATED) then exit; // bug fix :: access violation when closing
if (eComsXOCsPAGES.ActivePage.Tag=0) then
begin
eComsXOCsPAGES.ActivePage.Tag:=1;
T_FrameXOC(eComsXOCsPAGES.ActivePage.Components[0]).AA_0562_BtnHomeBrowserClick(nil);
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.The_PagesDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
//var
// s:string;
// r:TRect;
begin
(*
s :=ThePages.Pages[TabIndex].Caption;
r := Rect;
with Control.Canvas do
begin
if Active then
begin
Brush.Color := clWindow;
Font.Color := clHighlight;
Font.Style:=[fsBold];
end;
//Windows.DRAW(
Windows.FillRect(Handle,Rect,Brush.Handle);
OffsetRect(r, 4, 0);
DrawText(Handle, PChar(s), Length(s), r, DT_CENTER or DT_SINGLELINE or DT_VCENTER);
Draw(4,2,ico_20_xp.Picture.Graphic);
end;
// I had to use "IndexOfTabAt(rect.Left+5,rect.Top+5)" to return the correct pageindex
*)
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.bbbsClick(Sender: TObject);
begin
if (The_Pages.Tag=0) then
The_Pages.ActivePageIndex:=TxocCButton(Sender).Tag;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TabsShow(Sender: TObject);
begin
The_Pages.Tag:=1;
Case TTabSheet(Sender).TabIndex of
0 : AA_0501_bbb0.SetAsSELECTED;
1 : AA_0502_bbb1.SetAsSELECTED;
2 : AA_0503_bbb2.SetAsSELECTED;
3 : bbb3.SetAsSELECTED;
4 : bbb4.SetAsSELECTED;
end;
The_Pages.Tag:=0;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0608_cccExoSeeWEBClick(Sender: TObject);
begin
_pExoseeWeb.BringToFront;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TMcomWebKIKerTimer(Sender: TObject);
begin
TMcomWebKIKer.Enabled:=false;
GoFreeWebTabOfCommunity(TMcomWebKIKer.kwd_id);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0530_CButton5Click(Sender: TObject);
begin
_pExoseeHelp.BringToFront;
if (_pExoseeHelp.Tag=0) then
begin
_pExoseeHelp.Tag:=1;
TheExoHELP.Navigate('http://www.exosee.com/?w=support');
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TheExoTitleChange(Sender: TObject; const Text: WideString);
begin
eExoSeePanelsSTAT.Caption:=Text;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_StopComClick(Sender: TObject);
var
_comNODDD:TTreeNode;
_sTrComNAME:String;
v:TListItem;
begin
(*
set com-stopping > threads, tek-tek_updater.. user ini ..
close web
close xoc-db
delete childrens
re-put com in start window !
delete finally the com node
*)
_comNODDD:=_eExplorerTV.Selected;
if (_comNODDD=nil) then exit;
_sTrComNAME:=_comNODDD.Text;
if (MessageDlg(format(___ccc__0024__SureWantStopCom,[_sTrComNAME]), mtConfirmation,[mbYes,mbNo],0)<>mrYes) then exit;
_comNODDD._EXO_NODE_IS_STOPING:=true; // set stopping
Application.ProcessMessages; // to braodcast if any runing thread ot tekUP... about this com
Application.ProcessMessages;
Application.ProcessMessages;
GoFreeWebTabOfCommunity(_sTrComNAME); // close web
GoFreeXocTabOfCommunity(_sTrComNAME); // close xoc
//-------- re-put Item to StartWindow
v:=_FXOC_START.LvSTART.Items.Add;
v.Caption:=_sTrComNAME; // name
v.ImageIndex:=0;
v.sava_f:=_comNODDD._EXO_NODE_COM_IDX; // sava_f has whole com url
v.uzr_id:=_comNODDD._EXO_NODE_USER_ID; // re-sava pass : Start Box list (uzr_id used as com-pass)
v.pat_n:='100'; // default first
v.pat_n[1]:=_comNODDD._EXO_NODE_20BOOLS[11];
v.pat_n[2]:=_comNODDD._EXO_NODE_20BOOLS[12];
v.pat_n[3]:=_comNODDD._EXO_NODE_20BOOLS[13];
// finally delete node
_comNODDD.Delete;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ppMainPopup(Sender: TObject);
begin
AA_0404_OnLine1.Checked:=(_VV_LOCAL_USER_ONLINE_STATUS='A');
AA_0405_Away1.Checked:=not AA_0404_OnLine1.Checked;
AA_0407_Tools1.Visible:=(_VV_LOCAL_CONFIG_BANNED_USERS_LIST<>'');
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0404_OnLine1Click(Sender: TObject);
begin
TMenuItem(Sender).Checked:=true;
if (AA_0404_OnLine1.Checked) then _VV_LOCAL_USER_ONLINE_STATUS:='A'
else _VV_LOCAL_USER_ONLINE_STATUS:='0';
iko_1.Visible:=AA_0404_OnLine1.Checked;
iko_0.Visible:=not iko_1.Visible;
if (iko_1.Visible) then eeOnStata.Caption:=___ccc__0001__Online else eeOnStata.Caption:=___ccc__0002__Away;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0406_SetAWAYmsgClick(Sender: TObject);
var
s:string;
begin
s:=_VV_LOCAL_USER_NOT_ONLINE_MESSAGE;
if (InputQuery(___ccc__0025__AutoReplyMsg,___ccc__0026__SetPersonalMsq,s)) then
begin
_VV_LOCAL_USER_NOT_ONLINE_MESSAGE:=s;
_FXOC_SETTINGS.eeAwayMsg.Text:=_VV_LOCAL_USER_NOT_ONLINE_MESSAGE;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_add2FavsClick(Sender: TObject);
var
_Str:string;
uZNode,_NewFAVuz:TTreeNode;
begin
// 1C080B2CD3xxA01000000%1Ismail%2F:\_Pc-Set\_Drivers%3
uZNode:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD);
_Str:=uZNode._EXO_NODE_USER_ID+'00'+'A'+'00000000'+'%1'+uZNode.Text+'%2%3';
_NewFAVuz:=_eExplorerTV.Items.AddChild(_TV_NODE_OF_FAVORITES,uZNode.Text);
_NewFAVuz.ImageIndex :=uZNode.ImageIndex;
_NewFAVuz._EXO_NODE_USER_IP :=uZNode._EXO_NODE_USER_IP;
_NewFAVuz._EXO_NODE_COUNTRY :=uZNode._EXO_NODE_COUNTRY;
_NewFAVuz._EXO_NODE_MESSAGE :=uZNode._EXO_NODE_MESSAGE;
_NewFAVuz._EXO_NODE_USER_ID :=uZNode._EXO_NODE_USER_ID;
_NewFAVuz._EXO_NODE_COM_IDX :=_Str; // com idx of user used as FAV-CODE
//_zono._EXO_NODE_POZISIO :=92;
_NewFAVuz._EXO_NODE_UZR_GMT :=uZNode._EXO_NODE_UZR_GMT;
//_zono._EXO_NODE_UZR_ICO :=strtointdef('$'+logo,0);
//if im=2 then v._EXO_NODE_POZISIO:=93;
_NewFAVuz._EXO_NODE_20BOOLS :=uZNode._EXO_NODE_20BOOLS; // add user-boolz
_NewFAVuz._EXO_NODE_X_LEVEL :='M'; // set level as active
_NewFAVuz._EXO_NODE_PATH_NB :='00';// hexa roots
_NewFAVuz._EXO_NODE_PATH_TX :='\';// roots
_NewFAVuz._EXO_NODE_XP_TYPE :='*';// just a fill
_NewFAVuz._EXO_NODE_ROOT_HD :=_NewFAVuz.ItemId; // fixed to self
TExoSeeSettings._add_fav(_Str);
_TV_NODE_OF_FAVORITES.Expand(false);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_delfavClick(Sender: TObject);
var
dd:string;
begin
// grab Fav-Code
dd:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD)._EXO_NODE_COM_IDX;
dd:=copy(dd,1,10);
TExoSeeSettings._del_fav(dd); // del_fav will del also from the favList
_eExplorerTV.Selected.Delete;
//ShowMessage(dd);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_zundFileClick(Sender: TObject);
var
fSNF : T_FZendFile;
begin
if not(_eExplorerTV.Selected._EXO_NODE_X_LEVEL in ['Z','M']) then exit;
if not opn.Execute then exit;
fSNF:=T_FZendFile.Create(Application);
fSNF.__sToNick:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD).Text;
fSNF.__sToIP:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD)._EXO_NODE_USER_IP;
fSNF.__sFullFile:=opn.FileName;
fSNF.Show;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.GoOnlineClick(Sender: TObject);
begin
ShellExecute(0,'open',pchar(TMenuItem(Sender).Hint),nil,nil,SW_SHOWNORMAL);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.OnStatsDblClick(Sender: TObject);
begin
iko_1.Visible:=not iko_1.Visible; // set opposit
iko_0.Visible:=not iko_1.Visible;
if (iko_1.Visible) then eeOnStata.Caption:=___ccc__0001__Online else eeOnStata.Caption:=___ccc__0002__Away;
if (iko_1.Visible) then _VV_LOCAL_USER_ONLINE_STATUS:='A' else _VV_LOCAL_USER_ONLINE_STATUS:='0';
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_zundFolderClick(Sender: TObject);
begin
ShowMessage('"Send-Folder" feature, is not yet enabled in this version');
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.TmVersionNOTIFYTimer(Sender: TObject);
begin
TmVersionNOTIFY.Enabled:=false; //only once !
MessageDlg(format('%s : v%s.%s.%s',[___ccc__0530__NewVersionAvailable,
_NEW_VERSION_STRING[1],
_NEW_VERSION_STRING[2],
_NEW_VERSION_STRING[3]])
,mtInformation,[mbOK],0);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0430_OpnFolderClick(Sender: TObject);
var
NDD:TTreeNode;
begin
NDD:=_eExplorerTV.Selected;
if (NDD=nil) then exit;
//ShowMessage(NDD._EXO_NODE_PATH_NB+ret+ NDD._EXO_NODE_PATH_TX);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_adminBanClick(Sender: TObject);
var
NDD:TTreeNode;
begin
if (_eExplorerTV.Selected=nil) then exit;
NDD:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD); // direct user node
if (NDD=nil) then exit;
if (MessageDlg(format(___ccc__0108__SureWantToBan,[NDD.text]),mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
if (ccBannector.Active) then
begin
ShowMessage(___ccc__0077__ConnexAreadyInUse);
exit;
end;
ccBannector.Host_name :=NDD.Parent._EXO_NODE_USER_IP;
ccBannector.Port :=NDD.Parent._EXO_NODE_eSERIAL; // auto set in login
ccBannector.Socket._ReferNode :=NDD.Parent; // com
ccBannector.Socket._str_ref :='e=_T7&_BN='+NDD._EXO_NODE_USER_ID+'&_SN='+_VV_LOCAL_USER_PC_ID; // params (&_SN=SenderID)future
ccBannector.Socket._StokenStr :=''; // free data if any
ccBannector.Tag :=0; // data length
ccBannector.Active :=true;
end;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorConnect(Sender: TObject; Socket: TCustomWinSocket);
var
ss:string;
begin
ss:='GET '+Socket._ReferNode._EXO_NODE_PATH_TX+'?'+Socket._str_ref+' HTTP/1.0'+ret+
'User-Agent: '+_C_EXOSEE_WEB_TEK_USER_MERDA+ret+
'Host: '+Socket._ReferNode._EXO_NODE_USER_IP+ret+
'Connection: close'+ret+ret;
Socket.SendText(ss);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
Socket.Close; // to trigger OnDisconnect
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorRead(Sender: TObject;Socket: TCustomWinSocket);
begin
Socket._StokenStr:=Socket._StokenStr+Socket.ReceiveText;
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.ccBannectorDisconnect(Sender: TObject; Socket: TCustomWinSocket);
var
_StrDATA:String;
begin
_StrDATA:=Socket._StokenStr;
if pos('_SC_701',_StrDATA)>0 then
begin
if (pos('°°1',_StrDATA)>0)
then ShowMessage(___ccc__0109__BanOkAtCom)
else ShowMessage('ServerScriptError_OnBAN !');
end;
//_DoDebugLOG('BanSyS:'+ret+_StrDATA);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_infoUserClick(Sender: TObject);
var
uzNode:TTreeNode;
begin
if not(_eExplorerTV.Selected._EXO_NODE_X_LEVEL in ['Z','M']) then exit;
uzNode:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD);
MessageDlg(___ccc__0518__UserInfo+' : '+uzNode.Text+ret+
sep+ret+
uzNode._EXO_NODE_MESSAGE+ret+
sep+ret+
___ccc__0007__Country+uzNode._EXO_NODE_COUNTRY+ret+
format('Version : %s.%s.%s',[uzNode._EXO_NODE_20BOOLS[3],
uzNode._EXO_NODE_20BOOLS[4],
uzNode._EXO_NODE_20BOOLS[5]]), mtInformation,[mbOk],0);
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN._mn_RemUserClick(Sender: TObject);
var
NDD:TTreeNode;
begin
if (_eExplorerTV.Selected=nil) then exit;
NDD:=_eExplorerTV.Items.getnode(_eExplorerTV.Selected._EXO_NODE_ROOT_HD); // direct user node
if (NDD=nil) then exit;
if (MessageDlg(format(___ccc__0110__SureWantToBanUser,[NDD.text]),mtConfirmation,[mbYes,mbNo],0)=mrYes) then
begin
_VV_LOCAL_CONFIG_BANNED_USERS_LIST:=_VV_LOCAL_CONFIG_BANNED_USERS_LIST+NDD._EXO_NODE_USER_ID+';';
NDD.Delete;
end;
//register com://
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.clearbannedClick(Sender: TObject);
begin
_VV_LOCAL_CONFIG_BANNED_USERS_LIST:='';
end;
//------------------------------------------------------------------------------
procedure T_FXOC_MAIN.AA_0433_IconsHelpClick(Sender: TObject);
begin
with T_FXOC_ICONS_HELP.Create(Application) do
begin
Caption:=TMenuItem(Sender).Caption;
Caption:=StringReplace(Caption,'&','',[rfReplaceAll]);
Show;
end;
end;
initialization
para:=paramstr(1);
CreateMutex(nil,True,'ExoSeeV1');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
if (para='') then
begin
hawa:=FindWindow('T_FXOC_MAIN','ExoSee');
if (hawa<>0) then _zend_msg('FlashYA',hawa,702); // to flash existing app
end
else
begin
hawa:=FindWindow('T_FXOC_MAIN','ExoSee');
if (hawa<>0)and(para ='xoc') then _zend_msg(paramstr(2),hawa,701);
end;
halt;
end;
end.