Alaska and the Internet

This forum is for eXpress++ general support.
Message
Author
User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#11 Post by Eugene Lutsenko »

I searched and found the place where the icon should be, but there are no icons. But most importantly, I saw that it was possible and realized how. I'll use it. Many thanks!
Attachments
Без имени-1.jpg
Без имени-1.jpg (39.49 KiB) Viewed 17868 times

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#12 Post by Eugene Lutsenko »

Hi Roger!

Who checked. Unfortunately, when there is an appeal to the site http://j90540lw.beget.tech/index.php in a minimized state on the taskbar, this treatment is not caught indeks.php, located on the site.

This PHP:

Code: Select all

<?php 
  $file = 'test_strings.txt';                                     // файл 
  define("divider", ",");                                         // разделитель
  $logdate = date("d.m.y,G:i:s");                                 // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                                 // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                               // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);      // определяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                              // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);          // пишем содержимое в файл
  echo '<meta http-equiv="refresh" content="0;URL=http://lc.kubagro.ru">';    // Редирект на основной сайт
?>
View a text database, formed this php:
http://j90540lw.beget.tech/test_strings.txt

For comparison, you can refer to the website manually in the browser, and then view the database.

And when the unfold icon from the taskbar, that's when there is an appeal to the site. From this site made with php redirect to my main site.

In addition the execution of the program does not continue after the call to the site in this way. To continue execution has to click on the icon in the taskbar.

User avatar
rdonnay
Site Admin
Posts: 4813
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Alaska and the Internet

#13 Post by rdonnay »

Unfortunately, when there is an appeal to the site http://j90540lw.beget.tech/index.php
I am trying to understand what you are saying.
Can I assume that appeal means error?

I can confirm that there is a Javascript error on that webpage when running in DCHTMLVIEWER.
This is due to an anomoly in the Microsoft Web Browser ActiveX control with some Javascript.

I have seen this problem on other websites that contain Javascript.

I will search the internet for a hopeful solution.
The eXpress train is coming - and it has more cars.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#14 Post by Eugene Lutsenko »

rdonnay wrote:
Unfortunately, when there is an appeal to the site http://j90540lw.beget.tech/index.php
I am trying to understand what you are saying.
Can I assume that appeal means error?

I can confirm that there is a Javascript error on that webpage when running in DCHTMLVIEWER.
This is due to an anomoly in the Microsoft Web Browser ActiveX control with some Javascript.

I have seen this problem on other websites that contain Javascript.

I will search the internet for a hopeful solution.
On this site there is nothing but php code above. In Jawa there my experiments. They run directly if they specify when starting. They actually have a bug. I'm trying to fix it.

When I run this site for performance, it does not display anything, but only adding data base information about the visitor. And then does a redirect to my site.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#15 Post by Eugene Lutsenko »

I see you looked
Attachments
Безымянный.jpg
Безымянный.jpg (306.11 KiB) Viewed 17817 times
Last edited by Eugene Lutsenko on Fri Dec 09, 2016 11:03 pm, edited 1 time in total.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#16 Post by Eugene Lutsenko »

At the beginning of the main program I put the design:

Code: Select all

   ***************************************************************************************************
   // Отметка в базе данных test_strings.txt на сайте http://j90540lw.beget.tech реквизитов посетителя
   // и переход (редирект) на основной сайт: http://lc.kubagro.ru ЕСЛИ ЕСТЬ INTERNET

   IF .NOT. InternetGetConnectedState( @n, 0 ) == 0
*     DC_SpawnURL( 'http://j90540lw.beget.tech/index.php', .T., .F. )
      DC_SpawnURL( 'http://j90540lw.beget.tech/index.php' )
   ENDIF
   ***************************************************************************************************
This site defines the characteristics of the visitor and stores them in a database.

A feature 6.9 downloads the database from this FTP site, converts it to DBF and displays. I also want to make a cartographic visualization.

Code: Select all

*******************************************************************************************************************
******** 6.9. География пользователей системы "Эйдос-Х++"
******** Когда кто-либо в мире запускает систему "Эйдос-Х++" на исполнение на компьютере, подключенном к Internet, 
******** то на она программно обращается к специально созданному сайту, на котором размещен PHP-код, определяющий 
******** дату и время обращения, а также IP-адрес компьютера, с которого произошло это обращение, и по нему опреде-
******** ляет страну, регион и город пользователя
*******************************************************************************************************************
FUNCTION F6_9()

LOCAL GetList := {}, aPres, oBrowse, oToolBar, aColors, bColor, GetOptions, oEventsKO, bItems, n:=0

Local oHttp, oResponse, cColor

   IF InternetGetConnectedState( @n, 0 ) == 0
      LB_Warning('Нет соединения с Internet, что необходимо для данного режима!', '(C) Система "Эйдос-Х++"' )
      RETURN NIL
   ENDIF

*  Вариант с отображением базы данных 'test_strings.txt' в браузере
*  DC_SpawnURL( 'http://j90540lw.beget.tech/test_strings.txt', .T., .T. )

   * Вариант со скачиванием базы данных: 'test_strings.txt' с сайта: 'http://j90540lw.beget.tech'
   * и отображением ее в окне текстовом виде (как в 2.3.2.2) и в виде базы данных, а также на карте

   ***** Получить файл "test_strings.txt", используя только HTTP (GetWeb.prg, Boris Borzic)
   oHttp := xbHTTPClient():new()
   oHttp:Transport := VIA_WININET
   oResponse := oHttp:Execute( 'http://j90540lw.beget.tech/test_strings.txt' )
   if oResponse == NIL
      MsgBox("Error:" + str(oHttp:ErrorCode) + chr(10) + oHttp:ErrorMessage + chr(10) + oHttp:ErrorSource)
      Return .f.
   endif
   mABC = oResponse:Content
   StrFile(mABC,'test_strings.txt')
   ****************************************************************************************

*  Отображение базы данных: "test_strings.txt" как текстового файла как в режиме адаптивных интервалов в 2.3.2.2.
*  mABC = FileStr('test_strings.txt')    // Загрузка текстового файла параметров визитов с локального компьтера
*  @ 1,1 DCMULTILINE mABC FONT '12.Courier New' SIZE 180.0,27.0 EDITPROTECT {||.T.}
*        DCREAD GUI ;
*        TITLE '6.9. География пользователей системы "Эйдос-Х++"' ;
*        FIT

CrLf = CHR(13)+CHR(10)     // Конец строки (записи)

**** Замена неименованных неизвестных параметров вида: 06.12.16,20:41:32,93.91.80.6,US,United States,,,,,,37.75,-97.82,0
**** на поименованные неизвестные параметры: 06.12.16,20:41:32,93.91.80.6,US,United States,Unknown,Unknown,Unknown,Unknown,Unknown,37.75,-97.82,0

mABC = FileStr('test_strings.txt')    // Загрузка текстового файла параметров визитов
FOR j=1 TO 12
    mABC = STRTRAN(mABC,',,',',Unknown,')
NEXT
StrFile(mABC,'test_strings.txt')      // Запись текстового файла параметров визитов

***** Преобразование базы данных: "test_strings.txt" в DBF-базу данных и отображение, 
***** с возможностями фильтрации и сортировки по полям и HELPом
***** в т.ч. картографическое (сделать в перспективе)

***** 06.12.16,10:30:37,37.146.34.226,RU,Russia,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.03,38.98,0

 ******* Определение максимальных длин полей для БД Visitors.dbf

 PRIVATE aLenF[13]
 AFILL(aLenF, -99999)

 nHandle := DC_txtOpen( 'test_strings.txt' )
 DO WHILE !DC_TxtEOF( nHandle )              // Начало цикла по строкам
    mLine = DC_TxtLine( nHandle )            // Выделить строку из текстового файла
    FOR j=1 TO NUMTOKEN(mLine,",")           // Разделитель между пказателями - запятая
        aLenF[j] = MAX(aLenF[j], LEN(ALLTRIM(TOKEN(mLine, ",", j))))
    NEXT
    DC_TxtSkip( nHandle, 1 )
 ENDDO
 DC_TxtClose( nHandle )

*DC_DebugQout( aLenF )

aStructure := { { "Date"      , "C", aLenF[ 1], 0 }, ;   //  1
                { "Time"      , "C", aLenF[ 2], 0 }, ;   //  2
                { "IP_address", "C", aLenF[ 3], 0 }, ;   //  3
                { "Domain"    , "C", aLenF[ 4], 0 }, ;   //  4
                { "Country"   , "C", aLenF[ 5], 0 }, ;   //  5
                { "Okrug"     , "C", aLenF[ 6], 0 }, ;   //  6
                { "Region"    , "C", aLenF[ 7], 0 }, ;   //  7
                { "City"      , "C", aLenF[ 8], 0 }, ;   //  8
                { "Postcode"  , "C", aLenF[ 9], 0 }, ;   //  9
                { "Timezone"  , "C", aLenF[10], 0 }, ;   // 10
                { "Latitude"  , "N", aLenF[11], 2 }, ;   // 11
                { "Longitude" , "N", aLenF[12], 2 }, ;   // 12
                { "UnKnown"   , "N", aLenF[13], 0 }  }   // 13

DbCreate( 'Visitors', aStructure )

CLOSE ALL
USE Visitors EXCLUSIVE NEW

 nHandle := DC_txtOpen( 'test_strings.txt' )

 DO WHILE !DC_TxtEOF( nHandle )              // Начало цикла по строкам

    mLine = DC_TxtLine( nHandle )            // Выделить строку из текстового файла

    ** Начало цикла по показателям посетителя

    aR := {}
    FOR w=1 TO NUMTOKEN(mLine,",")           // Разделитель между показателями - запятая
        AADD(aR, TOKEN(mLine, ",", w))       // Преобразовать тип данных
    NEXT

    SELECT Visitors
    APPEND BLANK
    FOR j=1 TO LEN(aR)
        IF j <= 10
           FIELDPUT(j, aR[j])
        ELSE
           FIELDPUT(j, VAL(aR[j]))
        ENDIF
    NEXT

    IF SUBSTR(Time,2,1)=':'
       REPLACE Time WITH ' '+Time
    ENDIF

    DC_TxtSkip( nHandle, 1 )

 ENDDO
 DC_TxtClose( nHandle )

 ******* Отображение БД *******

 PUBLIC mDate1, mDate2
 DBGOTOP()   ;mDate1 = Date
 DBGOBOTTOM();mDate2 = Date
 SET FILTER TO CTOD(mDate1) <= CTOD(Date) .AND. CTOD(Date) <= CTOD(mDate2)

 sLenF = 33
 FOR j=1 TO 12
     sLenF = sLenF + aLenF[j]
 NEXT
*MsgBox(STR(sLenF))

/* ----- Create ToolBar ----- */

@28.3,0           DCGROUP oGroup1 CAPTION ''                                 SIZE sLenF+0, 4.0              
@ 0.5, 2          DCGROUP oGroup2 CAPTION ''                                 SIZE LEN('Помощь')            +5, 3.0                                                 PARENT oGroup1
@ 1  , 1          DCPUSHBUTTON    CAPTION 'Помощь'                           SIZE LEN('Помощь')            +2, 1.5 ACTION {||Help69(), DC_GetRefresh(GetList)}     PARENT oGroup2
                                                                                                           
d = 10                                                                                                     
@ 0.5, 15         DCGROUP oGroup3 CAPTION 'СОРТИРОВКА:'                      SIZE 62, 3.0                                                                          PARENT oGroup1
@ 1  ,  1         DCPUSHBUTTON    CAPTION 'По дате и времени'                SIZE LEN('По дате и времени') +2, 1.5 ACTION {||Sorting69(1), DC_GetRefresh(GetList)} PARENT oGroup3
@ 1  ,DCGUI_COL+d DCPUSHBUTTON    CAPTION 'По IP-адресу'                     SIZE LEN('По IP-адресу')      +2, 1.5 ACTION {||Sorting69(2), DC_GetRefresh(GetList)} PARENT oGroup3
@ 1  ,DCGUI_COL+d DCPUSHBUTTON    CAPTION 'По стране'                        SIZE LEN('По стране')         +2, 1.5 ACTION {||Sorting69(3), DC_GetRefresh(GetList)} PARENT oGroup3
@ 1  ,DCGUI_COL+d DCPUSHBUTTON    CAPTION 'По городу'                        SIZE LEN('По городу')         +2, 1.5 ACTION {||Sorting69(4), DC_GetRefresh(GetList)} PARENT oGroup3
                                                                                                           
@ 0.5, 79         DCGROUP oGroup4 CAPTION 'КАРТА (необходим FTP-доступ):'    SIZE 32, 3.0                                                                          PARENT oGroup1
@ 1  ,  1         DCPUSHBUTTON    CAPTION 'Показать ВСЕ'                     SIZE LEN('Показать ВСЕ')      +2, 1.5 ACTION {||Visual69(1),  DC_GetRefresh(GetList)} PARENT oGroup4
@ 1  ,DCGUI_COL+d DCPUSHBUTTON    CAPTION 'Диапазон дат'                     SIZE LEN('Диапазон дат')      +2, 1.5 ACTION {||Visual69(2),  DC_GetRefresh(GetList)} PARENT oGroup4

@ 0.5,113         DCGROUP oGroup5 CAPTION 'КАРТА (достаточно HTTP-доступа):' SIZE 47, 3.0                                                                          PARENT oGroup1
@ 1  ,  1         DCPUSHBUTTON    CAPTION 'Метки без надписей'               SIZE LEN('Метки без надписей')+2, 1.5 ACTION {||Visual69(3),  DC_GetRefresh(GetList)} PARENT oGroup5
@ 1  ,DCGUI_COL+d DCPUSHBUTTON    CAPTION 'Метки с надписями'                SIZE LEN('Метки с надписями') +2, 1.5 ACTION {||Visual69(4),  DC_GetRefresh(GetList)} PARENT oGroup5

****** Отображение таблицы ***************

SELECT Visitors
DBGOTOP()

DCSETPARENT TO

@ 5, 0 DCBROWSE Visitors ALIAS 'Visitors' SIZE sLenF,23 ;
       PRESENTATION DC_BrowPres() ;       // Только просмотр БД
       NOSOFTTRACK ;
       HEADLINES 2 ;                      // Кол-во строк в заголовке (перенос строки - ";")
       SCOPE ;
       ITEMMARKED bItems

DCSETPARENT Visitors

*** Подарок от Роджера

DCBROWSECOL FIELD Visitors->Date       HEADER "Дата;ДД.ММ.ГГ"   PARENT Visitors WIDTH aLenF[ 1]+1 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->Time       HEADER "Время;ЧЧ:ММ:СС"  PARENT Visitors WIDTH aLenF[ 2]+1 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->IP_address HEADER "IP-адрес"        PARENT Visitors WIDTH aLenF[ 3]+1 FONT "9.Courier" COLOR {||{nil,aColor[100]}}
DCBROWSECOL FIELD Visitors->Domain     HEADER "Домен"           PARENT Visitors WIDTH aLenF[ 4]+4 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->Country    HEADER "Страна"          PARENT Visitors WIDTH aLenF[ 5]+1 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->Okrug      HEADER "Округ"           PARENT Visitors WIDTH aLenF[ 6]+1 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->Region     HEADER "Регион"          PARENT Visitors WIDTH aLenF[ 7]+1 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->City       HEADER "Город"           PARENT Visitors WIDTH aLenF[ 8]+1 FONT "9.Courier"                            
DCBROWSECOL FIELD Visitors->Postcode   HEADER "Почтовый;индекс" PARENT Visitors WIDTH aLenF[ 9]+1 FONT "9.Courier"
DCBROWSECOL FIELD Visitors->Timezone   HEADER "Временной;пояс"  PARENT Visitors WIDTH aLenF[10]+1 FONT "9.Courier"
DCBROWSECOL FIELD Visitors->Latitude   HEADER "Широта"          PARENT Visitors WIDTH aLenF[11]+1 FONT "9.Courier"
DCBROWSECOL FIELD Visitors->Longitude  HEADER "Долгота"         PARENT Visitors WIDTH aLenF[12]+1 FONT "9.Courier"
*DCBROWSECOL FIELD Visitors->UnKnown   HEADER "UnKnown"         PARENT Visitors WIDTH aLenF[13]+1 FONT "9.Courier"

DCGETOPTIONS SAYFONT '10.Helv Bold' TABSTOP AUTORESIZE

DCREAD GUI ;
   FIT ;
   OPTIONS GetOptions ;
   MODAL ;
   TITLE '6.9. География пользователей системы "Эйдос-Х++"' ;
   EVAL {|o|SetAppFocus(Visitors:GetColumn(1))}

   **************************************************************
   ***** БД, открытые перед запуском главного меню
   ***** Восстанавливать их после выхода из функций главного меню
   **************************************************************
   CLOSE ALL
   DIRCHANGE(Disk_dir)                          // Перейти в папку с исполнимым модулем системы
   USE PathGrAp EXCLUSIVE NEW
   USE Appls    EXCLUSIVE NEW
   USE Users    EXCLUSIVE NEW
   ** Если в папке с исполнимым модулем системы есть файл: _CloseFunct.txt, то удалить его
   IF FILE('_CloseFunct.txt')
      ERASE('_CloseFunct.txt')
   ENDIF
   **************************************************************

RETURN NIL

******** Помощь по режиму 6.9
FUNCTION Help69()
LOCAL GetList[0], cText

TEXT INTO cText WRAP "\n" TRIMMED
   Режим: 6.9. География пользователей системы "Эйдос-Х++".

Когда кто-либо в мире запускает систему "Эйдос-Х++" на исполнение на компьютере, подключенном к Internet, то на она программно
обращается к специально созданному сайту: 'http://j90540lw.beget.tech', на котором как index.php размещен следующий PHP-код:

<?php 
  $file = 'test_strings.txt';                                 // файл 
  define("divider", ",");                                     // разделитель
  $logdate = date("d.m.y,G:i:s");                             // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                             // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                           // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);  // определяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                          // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);      // пишем содержимое в файл
  echo '<meta http-equiv="refresh" content="0;URL=http://lc.kubagro.ru">';    // Редирект на основной сайт
?>

Этот код определяет дату и время обращения, а также IP-адрес компьютера, с которого произошло это обращение, а затем по нему 
определяет страну, регион и город пользователя. Всю эту информацию данный срипт заносит в базу данных: 'test_strings.txt',
расположенную на сайте, а затем выполняет переход (редирект) на основной сайт разработчика: http://lc.kubagro.ru. 

Режим 6.9. считывает по FTP базу данных 'test_strings.txt' с сайта: http://j90540lw.beget.tech и преобразует ее в DBF-файл: 
'Visitors.DBF', которая и отображается в данном режиме в виде таблицы с различными сортировками или просто текста. 

Если на компьютере есть FTP-доступ, то пользователь может может получить картографическу визуализацию на масштабируемой карте
мира как всех посещений, так и только тех, которые были в заданный диапазон дат.

Если на компьютере нет FTP-доступа (обычно это бывает в случаях, когда он заблокирован политиками безопасности), то можно
воспользоваться упрощенным вариантом демонстрации карты посетителей, доступным, когда есть только HTTP-доступ. В этом случае
пользователь лишен возможности сделать выборку по диапазону дат. В остальном возможности те же самые. PHP-скрипт картографи-
ческой визуализации БД: 'test_strings.txt' приведен в файле: ../Aidos-X/Sheet_changes.doc за 11.12.2016.
ENDTEXT

@ 0,0 DCSTATIC TYPE XBPSTATIC_TYPE_TEXT SIZE 0 ;
     CAPTION cText FORMATTED ;
     FONT '10.Lucida Console' ;
     COLOR GRA_CLR_BLACK, GRA_CLR_WHITE

DCREAD GUI FIT TITLE 'Помощь по режиму: 6.9. География пользователей системы "Эйдос-Х++"'

ReTURN nil
*****************************************************************************************

FUNCTION Sorting69(Par)

DO CASE
   CASE Par = 1             
        INDEX ON Date+Time+IP_address TO Sort69        // По дате и времени
   CASE Par = 2                                                  
        INDEX ON IP_address+Date+Time TO Sort69        // По IP-адресу     
   CASE Par = 3                                                  
        INDEX ON Country+Date+Time    TO Sort69        // По стране        
   CASE Par = 4                                                  
        INDEX ON City+Date+Time       TO Sort69        // По городу        
ENDCASE

DBGOTOP()

ReTURN nil

*****************************************************************************************

FUNCTION Visual69(Par)

******* Из 'Visitors.DBF' сформировать базу данных: 'map_strings.txt' для отображения,
******* записать ее по FTP на сайт и запустить само картографическое отображение http://j90540lw.beget.tech/map2.php

IF Par = 2
   *** Задать диапазон дат ********************************************
   DBGOTOP()   ;mDate1 = Date                                          
   DBGOBOTTOM();mDate2 = Date                                          
   @0,0 DCGROUP oGroup1 CAPTION 'Задайте диапазон дат:' SIZE 37.0, 3.5 
   @1,2 DCSAY "Начальная дата:" GET mDate1 PARENT oGroup1              
   @2,2 DCSAY "Конечная  дата:" GET mDate2 PARENT oGroup1              
   DCREAD GUI;                                                         
         TO lExit ;                                                    
         FIT;                                                          
         ADDBUTTONS;                                                   
         MODAL;                                                              
         TITLE '(c) Система ЭЙДОС-X++'                                           
         IF lExit                                                           
            ** Button Ok                                                    
         ELSE                                                               
            QUIT                                                            
         ENDIF                                                              
   ********************************************************************     
ENDIF

** Из 'Visitors.DBF' сформировать базу данных: 'map_strings.txt' для отображения и записать ее на сайт по FTP

IF Par <= 2
        SET FILTER TO CTOD(mDate1) <= CTOD(Date) .AND. CTOD(Date) <= CTOD(mDate2)

        mABC = ''
        DBGOTOP()
        DO WHILE .NOT. EOF()
           FOR j=1 TO 13
               mVal = FIELDGET(j)
               DO CASE
                  CASE VALTYPE(mVal) = 'C'
                       mABC = mABC + mVal + IF(j<13,',','')
                  CASE VALTYPE(mVal) = 'N'
                       mABC = mABC + STR(mVal,8,IF(j<13,2,0)) + IF(j<13,',','')
               ENDCASE
           NEXT
           mABC = mABC + CrLf
           DBSKIP(1)
        ENDDO
        StrFile(mABC, 'map_strings.txt')       // Запись текстового файла для картографической визуализации в папку с системой

        ******* Записать БД 'map_strings.txt' по FTP на сайт: http://j90540lw.beget.tech

        cGDServer:="ftp://j90540lw.beget.tech"                                                                                      
                                                                                                                                    
        oFtp := XbFTPClient():new()                                                                                                 
                                                                                                                                    
        IF oFtp:Connect(cGDServer)                          // Соединение                                                           
           IF oFtp:Login(Ftp_User, Ftp_Passw)               // Авторизация                                                          
                                                                                                                                    
              **** Сделать текущей папку: ftp://j90540lw.beget.tech/aidos/public_html/                                              
                                                                                                                                    
              if ! oFtp:SetCurrentDirectory("aidos/public_html/")                                                                   
                 LB_Warning('Не удалось сделать текущей директорию: "aidos/public_html/"', '(C) Система "Эйдос-Х++"' )              
                 RETURN NIL                                                                                                         
              endif                                                                                                                 
                                                                                                                                    
              oFtp:PassiveMode:=.T.                         // Пассивный режим                                                      
                                                                                                                                    
              oScrn   := DC_WaitOn( 'Запись на FTP-сервера БД: "map_strings.txt" с информацией о запусках системы "Эйдос-Х++"' )
              IF oFtp:PutFile("map_strings.txt", "map_strings.txt")                                                                                   
                 DC_Impl(oScrn)                                                                                                     
        *        LB_Warning('Запись базы данных: "map_strings.txt" на FTP-сервер завершена успешно', '(C) Система "Эйдос-Х++"' )             
              ENDIF                                                                                                                 
                                                                                                          
           ELSE                                                                                                                     
              LB_Warning('Нет авторизации на FTP-сервере', '(C) Система "Эйдос-Х++"')                                               
              RETURN NIL                                                                                                            
           ENDIF                                                                                                                    
        ELSE                                                                                                                        
           LB_Warning('Нет соединения с FTP-сервером', '(C) Система "Эйдос-Х++"')                                                   
           RETURN NIL                                                                                                               
        ENDIF                                                                                                                       
ENDIF

******* Запустить само картографическое отображение http://j90540lw.beget.tech/map#.php

DO CASE
   CASE Par = 1   // Показать все без текстовых меток
        DC_SpawnURL( 'http://j90540lw.beget.tech/map1.php' )
   CASE Par = 2   // Диапазон дат с текстовыми метками
        DC_SpawnURL( 'http://j90540lw.beget.tech/map2.php' )
   CASE Par = 3   // Если нет FTP, а есть только HTTP, Метки без надписей
        DC_SpawnURL( 'http://j90540lw.beget.tech/map3.php' )
   CASE Par = 4   // Если нет FTP, а есть только HTTP, Метки с надписями
        DC_SpawnURL( 'http://j90540lw.beget.tech/map4.php' )
ENDCASE

DBGOTOP()

ReTURN nil
******************************************************************************************
******************************************************************************************
DLLFUNCTION InternetGetConnectedState( @nFlags, nReserved ) USING STDCALL FROM WinInet.Dll
******************************************************************************************
[/size]

The whole system here (always a new version):
http://lc.kubagro.ru/aidos/_Aidos-X.htm

There you have it, and full source code (_AIDOS-X.prg)
Last edited by Eugene Lutsenko on Wed Dec 14, 2016 10:19 am, edited 1 time in total.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#17 Post by Eugene Lutsenko »

on an interim basis to watch:

// Displayed is the base, which is formed by reference to the website: http://90540lw.beget.tech
http://j90540lw.beget.tech/map.php

// Displayed is the base, which is formed by reference to the system of "Eidos"
http://j90540lw.beget.tech/map2.php

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#18 Post by Eugene Lutsenko »

I decided not to translate into English because I still translate using avtomatiirovannogo translator: https://translate.google.com/ turns on gibberish. You can do this with the assistance of an better interpreter.

04.12.2016 Сделал сайт: http://j90540lw.beget.tech на котором размещен PHP-скрипт:

Code: Select all

<?php 
  $file = 'test_strings.txt';                                     // файл 
  define("divider", ",");                                         // разделитель
  $logdate = date("d.m.y,G:i:s");                                 // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                                 // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                               // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);      // определяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                              // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);          // пишем содержимое в файл
  echo '<meta http-equiv="refresh" content="0;URL=http://lc.kubagro.ru">';    // Редирект на основной сайт
?>
который определяет дату, время и IP-адрес компьютера посетителя, а также по IP-адресу определяет страну, регион и город, и всю эту информацию заносит в базу данных: 'test_strings.txt' на сайте, а затем выполняет переход (редирект) на основной сайт: http://lc.kubagro.ru.
Планируется сделать режим, который будет скачивать по FTP эту базу и визуализировать ее на карте.

05.12.2016 Разработан режим: «6.9. География пользователей системы "Эйдос-Х++"». Когда кто-либо в мире запускает систему "Эйдос-Х++" на исполнение на компьютере, подключенном к Internet, то на она программно обращается к специально созданному сайту, на котором размещен PHP-код, определяющий дату и время обращения, а также IP-адрес компьютера, с которого произошло это обращение, и по нему определяет страну, регион и город пользователя. В будущем этот режим планируется усовершенствовать, обеспечив возможность фильтрации и сортировки запусков системы «Эйдос» по различным полям, а также их картографической визуализации.

07.12.2016 Режим: 6.9. География пользователей системы "Эйдос-Х++".
Когда кто-либо в мире запускает систему "Эйдос-Х++" на исполнение на компьютере, подключенном к Internet, то на она программно
обращается к специально созданному сайту: http://j90540lw.beget.tech, на котором как index.php размещен следующий PHP-код:

Code: Select all

<?php 
  $file = 'test_strings.txt';                                 // файл 
  define("divider", ",");                                     // разделитель
  $logdate = date("d.m.y,G:i:s");                             // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                             // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                           // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);  // определяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                          // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);      // пишем содержимое в файл
  echo '<meta http-equiv="refresh" content="0;URL=http://lc.kubagro.ru">';    // Редирект на основной сайт
?>
Этот код определяет дату и время обращения, а также IP-адрес компьютера, с которого произошло это обращение, а
затем по нему
определяет страну, регион и город пользователя. Всю эту информацию данный срипт заносит в базу данных: 'test_strings.txt',
расположенную на сайте, а затем выполняет переход (редирект) на основной сайт разработчика: http://lc.kubagro.ru.
Режим 6.9. считывает по FTP базу данных 'test_strings.txt' с сайта: http://j90540lw.beget.tech и преобразует ее в DBF-файл:
'Visitors.DBF', которая и отображается в данном режиме в виде таблицы с различными сортировками или просто текста.
Планируется сделать режим, для визуализации этой базы данных на масштабируемой карте мира. PHP-код разработан Креймером Алексеем Семеновичем: http://kubsau.ru/education/chairs/comp- ... taff/3395/

11.12.2016 В режиме 6.9. География пользователей системы "Эйдос-Х++" разработан режим визуализации базы данных посетителей на масштабируемой карте мира. В режиме 6.9 пользователь задает отображать ли все посещения или за диапазон дат. Если за диапазон дат, то в диалоге задается начальная и конечная даты диапазона. Затем делается выборка из базы посетителей за заданный диапазон дат и на основе этой информации формируется текстовая база данных: 'map_strings.txt', аналогичная по структуре базе: 'test_strings.txt'. После этого база база данных: 'map_strings.txt' по FTP копируется системой «Эйдос» на сайт: http://j90540lw.beget.tech, посоле чего запускается на исполнение PHP-код:

Code: Select all

<!DOCTYPE html>
<html>
<head>
<?php
$content = file_get_contents("map_strings.txt");
$content = explode("\r\n",$content);
foreach ($content as $key=>$record) {
	$content[$key] = explode(",", $record);
}

?>
<meta charset="utf-8">
<title>AIDOS map</title>
<link href="styles.css" rel="stylesheet" type="text/css">

<meta name="viewport" content="width=device-width, initial-scale = 1.0, user-scalable = no">
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<script type="text/javascript">
    var aMap;
        
    ymaps.ready(function(){
        aMap = new ymaps.Map("main", {
            center: [29.00, 7.00],
            zoom: 3.3
        });
        aMap.container.fitToViewport();
		
		// Создаем геообъект с типом геометрии "Точка".
        gObj = new ymaps.GeoObject({
            // Описание геометрии.
            geometry: {
                type: "Point",
                coordinates: [<?=$content[0][10];?>, <?=$content[0][11];?>]
            },
            // Свойства.
            properties: {
                // Контент метки.
                iconContent: '<?=$content[0][0].", ".$content[0][1];?>',
                hintContent: '<?=$content[0][2];?>'
            }
        }, {
            // Опции.
            // Иконка метки будет растягиваться под размер ее содержимого.
            preset: 'islands#blackStretchyIcon',
            
        });
		aMap.geoObjects
        .add(gObj)
		<?php
			for ($i = 1; $i<count($content);$i++){
				echo ".add(new ymaps.Placemark([" . $content[$i][10].",".$content[$i][11]."], {";
				echo " iconContent: '".$content[$i][0].", ".$content[$i][1]."',";
				echo " hintContent: '".$content[$i][2]."'}, {  preset: 'islands#blackStretchyIcon' }))";
			
			}
		
		?>
	
	});
	
</script>
</head>
<body>
<div id="wrapper">
	<div id="main">
		
	
	</div>

</div>


<script>
 
</script>
</body>
</html>
PHP-код разработан Креймером Алексеем Семеновичем: http://kubsau.ru/education/chairs/comp- ... taff/3395/

In the attached file feature to users of cartographic visualization of the location of Eidos system and the whole system of the Eidos

I thank everyone who helped me! Many thanks! There were little things "bring beauty"
Attachments
1.zip
(714.56 KiB) Downloaded 624 times
Last edited by Eugene Lutsenko on Mon Jan 02, 2017 10:10 pm, edited 2 times in total.

User avatar
rdonnay
Site Admin
Posts: 4813
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Alaska and the Internet (Russian Translation)

#19 Post by rdonnay »

You can do this with the assistance of an better interpreter.
I translated the below phrase (from your posting) using 6 different translators via the front-end website:
http://www.lexilogos.com/english/russia ... ation.htm#

Which of those below are, in your opinion, the best translation?
It looks to me that Yandex does the best translation.

Планируется сделать режим, который будет скачивать по FTP эту базу и визуализировать ее на карте. - Russian phrase

It is planned to make the mode which will download this base on FTP and to visualize it on the card. - Reverso

It is planned to make the mode which will be скачивать on FTP this base and визуализировать her on the card. - promt

It is planned to make the mode to be downloaded via FTP this database and visualize it on a map. - Google

It is planned to make a mode that will download FTP this database and to visualize it on the map. - Yandex

It is planned to make the regime, which will draw off this base on FTP and visualize it on the map. - Systran

It is planned to make the mode which will download by FTP it and visualize it on the map. - Bing
The eXpress train is coming - and it has more cars.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: Alaska and the Internet

#20 Post by Eugene Lutsenko »

1. Reverso (excellent). I will now use probably this translator.
2. Promt (satisfactorily)
.......
badly

Post Reply