* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*
*    zaznamena verzi modulu, spoustenych na pocitaci, a datum posledniho spusteni
*    jmeno souboru je stejne jako hom_path, aby se daly vsechny sehravat na jedno misto 
*    procedura writeprivstr() musi byt deklarovana takto:
*            DECLARE INTEGER WritePrivateProfileString IN Win32API AS WritePrivStr ;
*                    STRING cSection, STRING cKey, STRING cValue, STRING cINIFile
*
*    2016-01-26 - prvni verze
*    2016-01-27 - predelano pro autoexecovac
*               - zaznamenava se vice informaci
*               - zapis zarovnan/formatovan podle delky klice (jmena pocitace)
*    2016-06-16 - uprava formatu, aby se nepletlo datum spusteni s verzi
*    2020-05-11 - zapisuje se i do adresare food600 pro potreby updateru
*    2022-05-27 - snad maze prebytecne mezery
*    2022-09-01 - promazava stare radky do 2022-06
*    2023-07-26 - promazani starych radku si samo pocita textove hranice mazani
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

#DEFINE JMENO_MODULU  "Food"
#DEFINE ODDELOVAC     " | "
#DEFINE MAX_DELKA_MACHINE 22
#DEFINE CRLF        CHR(13)+CHR(10)

IF m.issql
    jmeno_logovaciho_souboru = m.gchom_path + m.sqldatabaza + ".ver"
    kousek_textu = m.sqldatabaza
ELSE
    jmeno_logovaciho_souboru = m.gchom_path + JUSTFNAME(LEFT(m.gchom_path, LEN(m.gchom_path)-1)) + ".ver"
    kousek_textu = m.gchom_path
ENDIF 

jmeno_pocitace = m.machine
IF AT("@", jmeno_pocitace) > 1
    jmeno_pocitace = LEFT(m.jmeno_pocitace, AT("@", m.jmeno_pocitace)-1)
ENDIF 

log_value = SPACE(MAX(MAX_DELKA_MACHINE - LEN(m.jmeno_pocitace), 0)) ;
          + LEFT(TTOC(DATE(), 3), 10) + ODDELOVAC ;
          + LEFT(_SCREEN.CAPTION, 19) + ODDELOVAC ;
          + m.gcini_path              + ODDELOVAC ;
          + m.kousek_textu            + ODDELOVAC ;
          + m.gcini_file              + ODDELOVAC ;
          + m.postgres_verze          + ODDELOVAC ;
          + "Fox" + VERSION(4)
writeprivstr( JMENO_MODULU, m.jmeno_pocitace, m.log_value, m.jmeno_logovaciho_souboru )
writeprivstr( JMENO_MODULU, m.jmeno_pocitace, m.log_value, m.gcini_path + "food.ver" )

promaz_stare_radky()

*!*****************************************************************************
PROCEDURE promaz_stare_radky
txt = ""
fh = FOPEN(m.jmeno_logovaciho_souboru)
IF m.fh > 0
    DO WHILE ! FEOF(m.fh)
        radek = ALLTRIM(fgets(m.fh,555))
        FOR mesicek = -7 TO -20 STEP -1
            IF LEFT(TTOC(GOMONTH(DATE(), mesicek), 3), 8) $ LEFT(m.radek, 33)  && "2023-02-"
                radek = ""
                EXIT 
            ENDIF 
        ENDFOR 
        
        DO CASE 
        CASE EMPTY(m.radek)
        CASE TRANSFORM(YEAR(DATE())-3, "9999-") $ LEFT(m.radek, 33)
        CASE TRANSFORM(YEAR(DATE())-2, "9999-") $ LEFT(m.radek, 33)    && "2022-"
        OTHERWISE 
            txt = m.txt + m.radek + CRLF
        ENDCASE 
    ENDDO 
    FCLOSE(m.fh)
    txt = STRTRAN(m.txt, CRLF+CRLF+CRLF, CRLF)
    txt = STRTRAN(m.txt, CRLF+CRLF     , CRLF)

    txt = STRTRAN(m.txt, "[", CRLF + "[")
    STRTOFILE(m.txt, m.jmeno_logovaciho_souboru)
ENDIF 
