#!/usr/local/bin/rexx

sat_kosta=6
marka=5

TRACE OFF

'/bin/cat /etc/passwd >FIFO'

users=QUEUED()

ukupno=0; i=0;
DO j=1 TO users
   PARSE PULL user':' . ':' uid ':' gid ':' Ime ',' .
   PARSE VAR Ime Ime ':' .
   IF gid<100 & uid<1000 THEN ITERATE

   i=i+1;
   us.i=user
   im.i=ime
   us.0=i
   im.0=i
END 

uu=0
DO j=1 TO us.0
   user=us.j

   '/usr/bin/last 'user' | grep ttyC >FIFO'
   '/usr/bin/last 'user' | grep ttyS >FIFO'
   max=QUEUED()

Ukupno=0
DO i=1 TO max
   PARSE PULL line
   IF word(line, 1)="wtmp" THEN ITERATE
   IF strip(line)="" THEN ITERATE
   PARSE VAR line . 40 day mon dat tim .
   PARSE VAR line . '(' time ')' .
   IF time="" THEN time=0
   ELSE DO
      PARSE VAR time sat':'min
      PARSE VAR sat d'+'s
      IF s<>"" THEN DO
         sat=s*24+s
         END
      time=sat*60+min
      END
   Ukupno=Ukupno+time 
END

IF ukupno>0 THEN DO
   CALL Lig copies('-', 79)
   CALL Lig LEFT(user, 9) '-' im.j

   dd=''
   dana=0
   x=TRUNC(ukupno/60)
   y=RIGHT('00'ukupno-(x*60), 2)
   CALL LineOut 'idioti', LEFT(x, 10) user
   IF x>24 THEN DO
      dana=TRUNC(x/24)
      z=x-(dana*24)
      x=z
      dd=dana' dana '
   END

   CALL Lig '            Ukupno' ukupno 'minuta, sto je' dd x':'y 'sati.'
   CALL Lig '            Ovo vreme se racuna od:' day mon dat tim
/*
   dinara=(dana*24+x)*sat_kosta+y*(sat_kosta/60)
   CALL Lig '            A u parama je to:' dinara' dinara.'
*/
   END

uu=uu+ukupno

END 

ukupno=uu


CALL Lig copies('-', 79)

CALL Lig 'Da se ne lazemo, ovo iznosi tacno: 'ukupno 'minuta.'
x=TRUNC(ukupno/60)
y=ukupno-x*60
CALL Lig 'Sto dodje negde oko' x':'y 'sati.'

/*
dinara=x*sat_kosta+y*(sat_kosta/60)
CALL Lig 'A u parama je to:  ' dinara' dinara.'
CALL Lig 'A u markama:       ' dinara/marka' Dm.'
*/

EXIT 0

Lig: Parse Arg Sta
SAY Sta'<BR>'
RETURN
