unit _uc_cs_new1ini;
interface
uses sysutils,ComCtrls;
procedure set_newUser_ini_DataNode(_ip,_data:string;_dada_:TTreeNode);
procedure set_iBuilt_1_DataNode(_ip,_data:string;_dada_:TTreeNode);
procedure SetFavUpdate(ddd:string;zonda:TTreeNode);
implementation
uses unit1,_uc_funcs,_uc_refs_vars,_uc_GuiLanG;
//------------------------------------------------------------------------------
procedure set_newUser_ini_DataNode(_ip,_data:string;_dada_:TTreeNode);
var
_id,_nik,_con,_mes,_gmt:string;
_ico:byte;
_zono:TTreeNode;
_8boolz:string[8];
begin
//TLogger.Log('Built_2');
//_log('ini//'+_data+sep+_ip,0);
//force stopping check
if (_dada_._EXO_NODE_IS_STOPING) then exit;
_ico:=7;
_nik:=copy(_data,pos(':B',_data)+2,(pos('B;',_data)-pos(':B',_data))-2); //nik
_id:=copy(_data,pos(':F',_data)+2,(pos('F;',_data)-pos(':F',_data))-2); // user id
if (_VV_LOCAL_USER_PC_ID=_id) then exit; // avoid self user
_con:=copy(_data,pos(':C',_data)+2,(pos('C;',_data)-pos(':C',_data))-2); // country_code
_mes:=copy(_data,pos(':D',_data)+2,(pos('D;',_data)-pos(':D',_data))-2); // user message
_gmt:=copy(_data,pos(':E',_data)+2,(pos('E;',_data)-pos(':E',_data))-2); // user gmt
_8boolz:=copy(_data,pos(':A',_data)+2,(pos('A;',_data)-pos(':A',_data))-2); // user boolz
if (is_ip_tzz(_ip)<>0) then _ico:=4 // direct detection : tzz ini ===>> from my LAN
// tzz-pc but i'm tzz-pc too = so he connected to me, means he is from my lan >>orange
else begin
case _8boolz[1] of
'W': _ico:=1;
'L': _ico:=2;
end;
end;
_zono:=is_user_in_this_ComNode(_id,_dada_); // if exist > update
if _zono<>nil then //exist >> update him
begin
_zono._EXO_NODE_USER_IP :=_ip; // is good to grap ip even
_zono.Text :=_nik;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//zn._EXO_NODE_UZR_ICO :=strtointdef('$'+x[11]+x[12],0);
_zono._EXO_NODE_20BOOLS :=_8boolz; // update whole boolz
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
//_Trigger_Cut_File(_zono); do like with special ini restarted
end
else // new >> add as NEW and notice
begin
_zono:=_FXOC_MAIN._eExplorerTV.Items.AddChild(_dada_,_nik);
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_USER_IP :=_ip;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono._EXO_NODE_USER_ID :=_id;
////// _zono._EXO_NODE_COM_IDX :=_dada_._EXO_NODE_COM_IDX;
//_zono._EXO_NODE_POZISIO :=92;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//_zono._EXO_NODE_UZR_ICO :=strtointdef('$'+logo,0);
//if im=2 then v._EXO_NODE_POZISIO:=93;
_zono._EXO_NODE_20BOOLS :=_8boolz; // add user-boolz
_zono._EXO_NODE_X_LEVEL :='Z'; // set level
_zono._EXO_NODE_PATH_NB :='00';// hexa roots
_zono._EXO_NODE_PATH_TX :='\';// roots
_zono._EXO_NODE_XP_TYPE :='*';// just a fill
_zono._EXO_NODE_ROOT_HD :=_zono.ItemId; // fixed
_FXOC_MAIN.TheLOGGER.Log(format(___ccc__0100__UserOnlineAtCom,[_nik,_dada_.text]),1); // support Lan
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
// _Trigger_Cut_File(_zono); // new 1 ini , go see if got some resumes from
_dada_.Expand(false);
end;
if pos(_id,_VV_LOCAL_USER_FAVORITES_LIST)>0 then SetFavUpdate(_id,_zono); //check if fav+++
end;
//------------------------------------------------------------------------------
procedure set_iBuilt_1_DataNode(_ip,_data:string;_dada_:TTreeNode);
var
_id,_nik,_con,_mes,_gmt:string;
_ico:byte;
_zono:TTreeNode;
_8boolz:string[8];
begin
//TLogger.Log('Built_1');
_ico:=7;
//AL0000000000000000000A;:Bw.iChagB;:C33C;:DD;:E0E;:F3FE4C70CB6F;:G\\weNET\0CAC0FD4C7:localhostG;
_id:=copy(_data,pos(':F',_data)+2,(pos('F;',_data)-pos(':F',_data))-2); // user id
_nik:=copy(_data,pos(':B',_data)+2,(pos('B;',_data)-pos(':B',_data))-2); //nik
if (_VV_LOCAL_USER_PC_ID=_id) then exit; // avoid self user
// ignore if in black list or ip is my nat
if (pos(_id, _VV_LOCAL_CONFIG_BANNED_USERS_LIST)>0) then
begin
_FXOC_MAIN.TheLOGGER.Log(format(___ccc__0101__BannedRejected,[_nik]),34);
exit;
end;
_con:=copy(_data,pos(':C',_data)+2,(pos('C;',_data)-pos(':C',_data))-2); // country_code
_mes:=copy(_data,pos(':D',_data)+2,(pos('D;',_data)-pos(':D',_data))-2); // user message
_gmt:=copy(_data,pos(':E',_data)+2,(pos('E;',_data)-pos(':E',_data))-2); // user gmt
_8boolz:=copy(_data,pos(':A',_data)+2,(pos('A;',_data)-pos(':A',_data))-2); // user boolz
case _8boolz[1] of
'W': _ico:=1;
'L': _ico:=4;
end;
// i could connect to a lan as he said ( L ) then he's from mylan will orange if i'm not tzz too
// orange notice via wan inet-lan-server
_zono:=is_user_in_this_ComNode(_id,_dada_); // if exist > update
if (_zono<>nil) then //exist >> update him
begin
_zono._EXO_NODE_USER_IP :=_ip; // is good to grap ip even
_zono.Text :=_nik;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//zn._EXO_NODE_UZR_ICO :=strtointdef('$'+x[11]+x[12],0);
_zono._EXO_NODE_20BOOLS :=_8boolz; // update whole boolz
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
// no resume here
end
else // new >> add as NEW and notice
begin
_zono:=_FXOC_MAIN._eExplorerTV.Items.AddChild(_dada_,_nik);
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_USER_IP :=_ip;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono._EXO_NODE_USER_ID :=_id;
/////// _zono._EXO_NODE_COM_IDX :=_dada_._EXO_NODE_COM_IDX;
//_zono._EXO_NODE_POZISIO :=92;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//_zono._EXO_NODE_UZR_ICO :=strtointdef('$'+logo,0);
//if im=2 then v._EXO_NODE_POZISIO:=93;
_zono._EXO_NODE_20BOOLS :=_8boolz; // add user-boolz
_zono._EXO_NODE_X_LEVEL :='Z'; // set level
_zono._EXO_NODE_PATH_NB :='00';// hexa roots
_zono._EXO_NODE_PATH_TX :='\';// roots
_zono._EXO_NODE_XP_TYPE :='*';// just a fill
_zono._EXO_NODE_ROOT_HD :=_zono.ItemId; // fixed
_FXOC_MAIN.TheLOGGER.Log(format('[--:--] '+___ccc__0100__UserOnlineAtCom,[_nik,_dada_.text]));
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
//_Trigger_Cut_File(_zono); // new 1 ini , go see if got some resumes from
_dada_.Expand(false);
end;
if pos(_id,_VV_LOCAL_USER_FAVORITES_LIST)>0 then SetFavUpdate(_id,_zono); //check if fav+++
end;
//------------------------------------------------------------------------------
procedure SetFavUpdate(ddd:string;zonda:TTreeNode);
var
i:integer;
begin
for i:=0 to _TV_NODE_OF_FAVORITES.Count-1 do
begin
if (copy(_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_COM_IDX,1,10)=ddd) then
begin
_TV_NODE_OF_FAVORITES.Item[i].ImageIndex :=zonda.ImageIndex;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_USER_IP :=zonda._EXO_NODE_USER_IP;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_COUNTRY :=zonda._EXO_NODE_COUNTRY;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_MESSAGE :=zonda._EXO_NODE_MESSAGE;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_UZR_GMT :=zonda._EXO_NODE_UZR_GMT;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_20BOOLS :=zonda._EXO_NODE_20BOOLS; // add user-boolz
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_X_LEVEL :='M'; // set level as fav-active
_TV_NODE_OF_FAVORITES.Item[i].SelectedIndex:=_TV_NODE_OF_FAVORITES.Item[i].ImageIndex; // tp update color
//zonda.OverlayIndex:=2; // fav box over corner !!! bugs it removes old overlay if mod or admin
break;
end;
end;
end;
end.
interface
uses sysutils,ComCtrls;
procedure set_newUser_ini_DataNode(_ip,_data:string;_dada_:TTreeNode);
procedure set_iBuilt_1_DataNode(_ip,_data:string;_dada_:TTreeNode);
procedure SetFavUpdate(ddd:string;zonda:TTreeNode);
implementation
uses unit1,_uc_funcs,_uc_refs_vars,_uc_GuiLanG;
//------------------------------------------------------------------------------
procedure set_newUser_ini_DataNode(_ip,_data:string;_dada_:TTreeNode);
var
_id,_nik,_con,_mes,_gmt:string;
_ico:byte;
_zono:TTreeNode;
_8boolz:string[8];
begin
//TLogger.Log('Built_2');
//_log('ini//'+_data+sep+_ip,0);
//force stopping check
if (_dada_._EXO_NODE_IS_STOPING) then exit;
_ico:=7;
_nik:=copy(_data,pos(':B',_data)+2,(pos('B;',_data)-pos(':B',_data))-2); //nik
_id:=copy(_data,pos(':F',_data)+2,(pos('F;',_data)-pos(':F',_data))-2); // user id
if (_VV_LOCAL_USER_PC_ID=_id) then exit; // avoid self user
_con:=copy(_data,pos(':C',_data)+2,(pos('C;',_data)-pos(':C',_data))-2); // country_code
_mes:=copy(_data,pos(':D',_data)+2,(pos('D;',_data)-pos(':D',_data))-2); // user message
_gmt:=copy(_data,pos(':E',_data)+2,(pos('E;',_data)-pos(':E',_data))-2); // user gmt
_8boolz:=copy(_data,pos(':A',_data)+2,(pos('A;',_data)-pos(':A',_data))-2); // user boolz
if (is_ip_tzz(_ip)<>0) then _ico:=4 // direct detection : tzz ini ===>> from my LAN
// tzz-pc but i'm tzz-pc too = so he connected to me, means he is from my lan >>orange
else begin
case _8boolz[1] of
'W': _ico:=1;
'L': _ico:=2;
end;
end;
_zono:=is_user_in_this_ComNode(_id,_dada_); // if exist > update
if _zono<>nil then //exist >> update him
begin
_zono._EXO_NODE_USER_IP :=_ip; // is good to grap ip even
_zono.Text :=_nik;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//zn._EXO_NODE_UZR_ICO :=strtointdef('$'+x[11]+x[12],0);
_zono._EXO_NODE_20BOOLS :=_8boolz; // update whole boolz
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
//_Trigger_Cut_File(_zono); do like with special ini restarted
end
else // new >> add as NEW and notice
begin
_zono:=_FXOC_MAIN._eExplorerTV.Items.AddChild(_dada_,_nik);
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_USER_IP :=_ip;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono._EXO_NODE_USER_ID :=_id;
////// _zono._EXO_NODE_COM_IDX :=_dada_._EXO_NODE_COM_IDX;
//_zono._EXO_NODE_POZISIO :=92;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//_zono._EXO_NODE_UZR_ICO :=strtointdef('$'+logo,0);
//if im=2 then v._EXO_NODE_POZISIO:=93;
_zono._EXO_NODE_20BOOLS :=_8boolz; // add user-boolz
_zono._EXO_NODE_X_LEVEL :='Z'; // set level
_zono._EXO_NODE_PATH_NB :='00';// hexa roots
_zono._EXO_NODE_PATH_TX :='\';// roots
_zono._EXO_NODE_XP_TYPE :='*';// just a fill
_zono._EXO_NODE_ROOT_HD :=_zono.ItemId; // fixed
_FXOC_MAIN.TheLOGGER.Log(format(___ccc__0100__UserOnlineAtCom,[_nik,_dada_.text]),1); // support Lan
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
// _Trigger_Cut_File(_zono); // new 1 ini , go see if got some resumes from
_dada_.Expand(false);
end;
if pos(_id,_VV_LOCAL_USER_FAVORITES_LIST)>0 then SetFavUpdate(_id,_zono); //check if fav+++
end;
//------------------------------------------------------------------------------
procedure set_iBuilt_1_DataNode(_ip,_data:string;_dada_:TTreeNode);
var
_id,_nik,_con,_mes,_gmt:string;
_ico:byte;
_zono:TTreeNode;
_8boolz:string[8];
begin
//TLogger.Log('Built_1');
_ico:=7;
//AL0000000000000000000A;:Bw.iChagB;:C33C;:DD;:E0E;:F3FE4C70CB6F;:G\\weNET\0CAC0FD4C7:localhostG;
_id:=copy(_data,pos(':F',_data)+2,(pos('F;',_data)-pos(':F',_data))-2); // user id
_nik:=copy(_data,pos(':B',_data)+2,(pos('B;',_data)-pos(':B',_data))-2); //nik
if (_VV_LOCAL_USER_PC_ID=_id) then exit; // avoid self user
// ignore if in black list or ip is my nat
if (pos(_id, _VV_LOCAL_CONFIG_BANNED_USERS_LIST)>0) then
begin
_FXOC_MAIN.TheLOGGER.Log(format(___ccc__0101__BannedRejected,[_nik]),34);
exit;
end;
_con:=copy(_data,pos(':C',_data)+2,(pos('C;',_data)-pos(':C',_data))-2); // country_code
_mes:=copy(_data,pos(':D',_data)+2,(pos('D;',_data)-pos(':D',_data))-2); // user message
_gmt:=copy(_data,pos(':E',_data)+2,(pos('E;',_data)-pos(':E',_data))-2); // user gmt
_8boolz:=copy(_data,pos(':A',_data)+2,(pos('A;',_data)-pos(':A',_data))-2); // user boolz
case _8boolz[1] of
'W': _ico:=1;
'L': _ico:=4;
end;
// i could connect to a lan as he said ( L ) then he's from mylan will orange if i'm not tzz too
// orange notice via wan inet-lan-server
_zono:=is_user_in_this_ComNode(_id,_dada_); // if exist > update
if (_zono<>nil) then //exist >> update him
begin
_zono._EXO_NODE_USER_IP :=_ip; // is good to grap ip even
_zono.Text :=_nik;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//zn._EXO_NODE_UZR_ICO :=strtointdef('$'+x[11]+x[12],0);
_zono._EXO_NODE_20BOOLS :=_8boolz; // update whole boolz
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
// no resume here
end
else // new >> add as NEW and notice
begin
_zono:=_FXOC_MAIN._eExplorerTV.Items.AddChild(_dada_,_nik);
_zono.ImageIndex :=_ico;
_zono._EXO_NODE_USER_IP :=_ip;
_zono._EXO_NODE_COUNTRY :=_getCountryByCode(_con);
_zono._EXO_NODE_MESSAGE :=_mes;
_zono._EXO_NODE_USER_ID :=_id;
/////// _zono._EXO_NODE_COM_IDX :=_dada_._EXO_NODE_COM_IDX;
//_zono._EXO_NODE_POZISIO :=92;
_zono._EXO_NODE_UZR_GMT :=_gmt;
//_zono._EXO_NODE_UZR_ICO :=strtointdef('$'+logo,0);
//if im=2 then v._EXO_NODE_POZISIO:=93;
_zono._EXO_NODE_20BOOLS :=_8boolz; // add user-boolz
_zono._EXO_NODE_X_LEVEL :='Z'; // set level
_zono._EXO_NODE_PATH_NB :='00';// hexa roots
_zono._EXO_NODE_PATH_TX :='\';// roots
_zono._EXO_NODE_XP_TYPE :='*';// just a fill
_zono._EXO_NODE_ROOT_HD :=_zono.ItemId; // fixed
_FXOC_MAIN.TheLOGGER.Log(format('[--:--] '+___ccc__0100__UserOnlineAtCom,[_nik,_dada_.text]));
if (pos(_id,_dada_._EXO_NODE_COUNTRY)=1) then _zono.OverlayIndex:=0 // admin detected
else if (pos(_id,_dada_._EXO_NODE_COUNTRY)>0) then _zono.OverlayIndex:=1; // a MODeraTor detected
//_Trigger_Cut_File(_zono); // new 1 ini , go see if got some resumes from
_dada_.Expand(false);
end;
if pos(_id,_VV_LOCAL_USER_FAVORITES_LIST)>0 then SetFavUpdate(_id,_zono); //check if fav+++
end;
//------------------------------------------------------------------------------
procedure SetFavUpdate(ddd:string;zonda:TTreeNode);
var
i:integer;
begin
for i:=0 to _TV_NODE_OF_FAVORITES.Count-1 do
begin
if (copy(_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_COM_IDX,1,10)=ddd) then
begin
_TV_NODE_OF_FAVORITES.Item[i].ImageIndex :=zonda.ImageIndex;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_USER_IP :=zonda._EXO_NODE_USER_IP;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_COUNTRY :=zonda._EXO_NODE_COUNTRY;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_MESSAGE :=zonda._EXO_NODE_MESSAGE;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_UZR_GMT :=zonda._EXO_NODE_UZR_GMT;
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_20BOOLS :=zonda._EXO_NODE_20BOOLS; // add user-boolz
_TV_NODE_OF_FAVORITES.Item[i]._EXO_NODE_X_LEVEL :='M'; // set level as fav-active
_TV_NODE_OF_FAVORITES.Item[i].SelectedIndex:=_TV_NODE_OF_FAVORITES.Item[i].ImageIndex; // tp update color
//zonda.OverlayIndex:=2; // fav box over corner !!! bugs it removes old overlay if mod or admin
break;
end;
end;
end;
end.