_uc_cs_new1ini.pas

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.





../delphi71code/exosee-code-source/uc_cs_new1ini-pas..