compile function log_check(Params) begin condition pre: post: end condition $insert msg_equates $insert logical declare function msg, set_property, send_event, start_window, utility, Get_Property declare subroutine yield Level = field( Params, '*', 1 ) LogLevel = field( Params, '*', 2 ) * * LogLevel will be 1 for morning and 2 for evening CurTime = time() BegTime1 = iconv( '4:00AM', 'MTS' ) BegTime2 = iconv( '8:00PM', 'MTS' ) EndTime1 = iconv( '4:10AM', 'MTS' ) EndTime2 = iconv( '8:10PM', 'MTS' ) Ten = 60 * 10 Five = 60 * 5 If Get_Property('NDW_MAIN', 'VISIBLE') then AppMain = 'NDW_MAIN' end else AppMain = 'LSL_MAIN2' end begin case case Level = 1 SecsInFifteen = 60*15 Warn = false$ if LogLevel = 1 then TimeToWarn = oconv( BegTime1 - Ten, 'MTS' ) if BegTime1 - CurTime >= (SecsInFifteen-59) then Warn = true$ end end else TimeToWarn = oconv( BegTime2 - Ten, 'MTS' ) if (BegTime2 - CurTime) >= (SecsInFifteen-59) then Warn = true$ end end Void = set_property( 'SYSTEM', 'IDLEPROC', 'LOG_CHECK':@fm:2:'*':LogLevel:@fm:TimeToWarn:@fm:'' ) if Warn then Message = 'You have FIFTEEN MINUTES to save your work and log out...' Void = start_window( 'LOG_CHECK_WARN', AppMain, '*CENTER', '', '' ) Void = set_property( 'LOG_CHECK_WARN.MSG', 'TEXT', Message ) Void = utility( 'BEEP' ) end case Level = 2 SecsInTen = 60*10 Warn = false$ if LogLevel = 1 then TimeToWarn = oconv( BegTime1 - Five, 'MTS' ) if (BegTime1 - CurTime) >= (SecsInTen-59) then Warn = true$ end end else TimeToWarn = oconv( BegTime2 - Five, 'MTS' ) if (BegTime2 - CurTime) >= (SecsInTen-59) then Warn = true$ end end Void = set_property( 'SYSTEM', 'IDLEPROC', 'LOG_CHECK':@fm:3:'*':LogLevel:@fm:TimeToWarn:@fm:'' ) if Warn then Message = 'You have TEN MINUTES to save your work and log out...' Void = start_window( 'LOG_CHECK_WARN', AppMain, '*CENTER', '', '' ) Void = set_property( 'LOG_CHECK_WARN.MSG', 'TEXT', Message ) Void = utility( 'BEEP' ) end case Level = 3 SecsInFive = 60*5 Warn = false$ if LogLevel = 1 then TimeToWarn = oconv( BegTime1 - 60, 'MTS' ) if (BegTime1 - CurTime) >= (SecsInFive-59) then Warn = true$ end end else TimeToWarn = oconv( BegTime2 - 60, 'MTS' ) if (BegTime2 - CurTime) >= (SecsInFive-59) then Warn = true$ end end Void = set_property( 'SYSTEM', 'IDLEPROC', 'LOG_CHECK':@fm:4:'*':LogLevel:@fm:TimeToWarn:@fm:'' ) Message = 'You have FIVE MINUTES to save your work and log out...' Void = start_window( 'LOG_CHECK_WARN', AppMain, '*CENTER', '', '' ) Void = set_property( 'LOG_CHECK_WARN.MSG', 'TEXT', Message ) Void = utility( 'BEEP' ) case Level = 4 if LogLevel = 1 then TimeToWarn = oconv( BegTime1, 'MTS' ) end else TimeToWarn = oconv( BegTime2, 'MTS' ) end Void = set_property( 'SYSTEM', 'IDLEPROC', 'LOG_CHECK':@fm:5:'*':LogLevel:@fm:TimeToWarn:@fm:'' ) Message = 'You have ONE MINUTE to save your work and log out...' Void = start_window( 'LOG_CHECK_WARN', AppMain, '*CENTER', '', '' ) Void = set_property( 'LOG_CHECK_WARN.MSG', 'TEXT', Message ) Void = utility( 'BEEP' ) case Level = 5 Void = send_event( AppMain, 'CLOSE' ) case Otherwise$ * bad paramater do zipoid end case return 0