CDCHKOFF
IF (UPPER(GETTOKEN())="LOGIN") THEN
FCREATE 1,PPEPATH()+PPENAME()+"."+STRING(PCBNODE()),O_WR,S_DW
FPUTLN 1,U_NAME()
FPUTLN 1,U_BUL()
FPUTLN 1,U_FUL()
FCLOSE 1
END
CDCHKON
ENDIF
INTEGER NUMBER
STRING RUNSUNDAY
STRING CITY
STRING TEMPDATA
STRING CURUSERNAME
DREAL CURUSERBYTES
INTEGER CURUSERFILES
STRING DATAFILE
STRING LASTNAME
STRING USERNAME(100)
DREAL USERBYTES(100)
DREAL USERFILES(100)
INTEGER TOTALUSER
INTEGER UPTOUSER
INTEGER SORTARRAY(100)
STRING FILES1
STRING FILES2
STRING BYTES1
STRING BYTES2
STRING BYTES3
STRING BYTES4
STRING CONFIG
INTEGER USERNUMBERS
BOOLEAN EXISTUSER
STRING COLOR1
STRING COLOR2
STRING COLOR3
STRING COLOR4
STRING COLOR5
STRING COLOR6
STRING COLOR7
STRING COLOR8
STRING COLOR9
STRING COLOR10
LET USERNUMBERS=FILEINF(READLINE(PCBDAT(),29),4)/400
REDIM USERNAME,USERNUMBERS
REDIM USERBYTES,USERNUMBERS
REDIM USERFILES,USERNUMBERS
REDIM SORTARRAY,USERNUMBERS
LET CONFIG=PPEPATH()+PPENAME()+".CFG"
IF (!EXIST(CONFIG)) THEN
LOG "GNX-WTU Weekly Top Config File Missing!",FALSE
END
CDCHKON
ENDIF
FOPEN 1,CONFIG,O_RD,S_DN
FGET 1,COLOR1
FGET 1,COLOR2
FGET 1,COLOR3
FGET 1,COLOR4
FGET 1,COLOR5
FGET 1,COLOR6
FGET 1,COLOR7
FGET 1,COLOR8
FGET 1,COLOR9
FGET 1,COLOR10
FCLOSE 1
LET RUNSUNDAY=PPEPATH()+"SUNDAY.RUN"
LET TEMPDATA=PPEPATH()+PPENAME()+"."+STRING(PCBNODE())
LET DATAFILE=PPEPATH()+PPENAME()+".DAT"
LET EXISTUSER=FALSE
IF (!EXIST(TEMPDATA)) THEN
CDCHKON
END
ENDIF
FOPEN 1,TEMPDATA,O_RD,S_DN
FGET 1,CURUSERNAME
FGET 1,CURUSERBYTES
FGET 1,CURUSERFILES
FCLOSE 1
DELETE TEMPDATA
IF (U_BUL()-CURUSERBYTES<=0) THEN
CDCHKON
END
ENDIF
LET CURUSERBYTES=U_BUL()-CURUSERBYTES
LET CURUSERFILES=U_FUL()-CURUSERFILES
LET UPTOUSER=0
LET TOTALUSER=0
IF (!EXIST(DATAFILE)) GOTO NODATA
FOPEN 1,DATAFILE,O_RD,S_DN
FGET 1,LASTNAME
:LOOP
IF (FERR(1)) GOTO ENDLOOP
FGET 1,USERNAME(UPTOUSER)
FGET 1,USERBYTES(UPTOUSER)
FGET 1,USERFILES(UPTOUSER)
IF ((DOW(DATE())=0)&(EXIST(RUNSUNDAY))|DOW(DATE())<>0) THEN
IF (USERNAME(UPTOUSER)=CURUSERNAME) THEN
LET USERBYTES(UPTOUSER)=USERBYTES(UPTOUSER)+CURUSERBYTES
LET USERFILES(UPTOUSER)=USERFILES(UPTOUSER)+CURUSERFILES
LET EXISTUSER=TRUE
ENDIF
ENDIF
INC UPTOUSER
INC TOTALUSER
GOTO LOOP
:ENDLOOP
FCLOSE 1
DEC TOTALUSER
IF ((DOW(DATE())=0)&(EXIST(RUNSUNDAY))|DOW(DATE())<>0) THEN
IF (!EXISTUSER) THEN
LET USERNAME(USERNUMBERS)=CURUSERNAME
LET USERBYTES(USERNUMBERS)=CURUSERBYTES
LET USERFILES(USERNUMBERS)=CURUSERFILES
LET EXISTUSER=TRUE
INC TOTALUSER
ENDIF
ENDIF
LET UPTOUSER=0
:ENDLOOP1
SORT USERBYTES,SORTARRAY
IF ((DOW(DATE())=0)&(!EXIST(RUNSUNDAY))) GOTO SUNDAY
IF ((!DOW(DATE())=0)&(EXIST(RUNSUNDAY))) DELETE RUNSUNDAY
LET NUMBER=1
LET UPTOUSER=0
FCREATE 2,PPEPATH()+"WEEKTOP.PCB",O_WR,S_DW
FPUTLN 2,COLOR1+"@CLS@@POFF@ .---------------------------------------------------------------------------."
FPUTLN 2,COLOR1+" |"+COLOR3+" GNX-WTU Weekly Top By BitStream/Crypt Keeper (Last "+STRING(DOW(DATE())+1)+" days) Top 10 "+COLOR1+"|"
FPUTLN 2,COLOR1+" |---------------------------------------------------------------------------|"
FPUTLN 2,COLOR1+" |"+COLOR2+" # Alias/Handle Group/Location Bytes Files "+COLOR1+"|"
FPUTLN 2,COLOR1+" |-===-=========================-=========================-===========-=====-|"
GOTO PROCESS
:PROCESS
LET BYTES1=RIGHT(USERBYTES(SORTARRAY(USERNUMBERS-UPTOUSER)),9)
LET BYTES2=RIGHT(BYTES1,3)
LET BYTES3=MID(BYTES1,4,3)
LET BYTES1=LEFT(BYTES1,3)
IF (BYTES2<>" ") LET BYTES4=BYTES2
IF (BYTES3<>" ") LET BYTES4=BYTES3+","+BYTES4
IF (BYTES1<>" ") LET BYTES4=BYTES1+","+BYTES4
LET FILES1=RIGHT(USERFILES(SORTARRAY(USERNUMBERS-UPTOUSER)),4)
LET FILES2=RIGHT(FILES1,3)
LET FILES1=LEFT(FILES1,1)
IF (FILES1<>" ") LET FILES1=FILES1+","+FILES2
IF (FILES1=" ") LET FILES1=FILES2
GETALTUSER U_RECNUM(USERNAME(SORTARRAY(USERNUMBERS-UPTOUSER)))
LET CITY=U_CITY
FREALTUSER
FPUTLN 2,COLOR1+" | "+COLOR4+SPACE(2-LEN(NUMBER))+STRING(NUMBER)+" "+COLOR5+MIXED(LEFT(USERNAME(SORTARRAY(USERNUMBERS-UPTOUSER)),25))+" "+COLOR6+LEFT(CITY,25)+" "+COLOR7+RIGHT(BYTES4,11)+" "+COLOR8+RIGHT(FILES1,5)+COLOR1+" |"
INC UPTOUSER
INC NUMBER
IF (UPTOUSER=TOTALUSER) GOTO DONEPROCESS
IF (UPTOUSER=10) GOTO DONEPROCESS
GOTO PROCESS
:DONEPROCESS
FPUTLN 2,COLOR1+" |---------------------------------------------------------------------------|"
FPUTLN 2,COLOR1+" |"+COLOR9+" Last Week's Top Uploader: "+COLOR10+MIXED(LEFT(LASTNAME,30))+" "+COLOR1+"|"
FPUTLN 2,COLOR1+" `---------------------------------------------------------------------------'@PON@"
FPUTLN 2,"@WAIT@"
FCLOSE 2
LET UPTOUSER=0
FCREATE 1,DATAFILE,O_WR,S_DW
FPUTLN 1,LASTNAME
:LOOP2
FPUTLN 1,STRING(USERNAME(SORTARRAY(USERNUMBERS-UPTOUSER)))
FPUTLN 1,STRING(USERBYTES(SORTARRAY(USERNUMBERS-UPTOUSER)))
FPUTLN 1,STRING(USERFILES(SORTARRAY(USERNUMBERS-UPTOUSER)))
INC UPTOUSER
IF (UPTOUSER=TOTALUSER) GOTO ENDLOOP2
GOTO LOOP2
:ENDLOOP2
FCLOSE 1
CDCHKON
END
:NODATA
LET LASTNAME="Nobody"
FCREATE 1,DATAFILE,O_WR,S_DW
FPUTLN 1,LASTNAME
FPUTLN 1,CURUSERNAME
FPUTLN 1,CURUSERBYTES
FPUTLN 1,CURUSERFILES
FCLOSE 1
GETALTUSER U_RECNUM(CURUSERNAME)
LET CITY=U_CITY
FREALTUSER
LET BYTES1=RIGHT(CURUSERBYTES,9)
LET BYTES2=RIGHT(BYTES1,3)
LET BYTES3=MID(BYTES1,4,3)
LET BYTES1=LEFT(BYTES1,3)
IF (BYTES2<>" ") LET BYTES4=BYTES2
IF (BYTES3<>" ") LET BYTES4=BYTES3+","+BYTES4
IF (BYTES1<>" ") LET BYTES4=BYTES1+","+BYTES4
LET FILES1=RIGHT(CURUSERFILES,4)
LET FILES2=RIGHT(FILES1,3)
LET FILES1=LEFT(FILES1,1)
IF (FILES1<>" ") LET FILES1=FILES1+","+FILES2
IF (FILES1=" ") LET FILES1=FILES2
FCREATE 2,PPEPATH()+"WEEKTOP.PCB",O_WR,S_DW
FPUTLN 2,COLOR1+"@CLS@@POFF@ .---------------------------------------------------------------------------."
FPUTLN 2,COLOR1+" |"+COLOR3+" GNX-WTU Weekly Top By BitStream/Crypt Keeper (Last "+STRING(DOW(DATE())+1)+" days) Top 10 "+COLOR1+"|"
FPUTLN 2,COLOR1+" |---------------------------------------------------------------------------|"
FPUTLN 2,COLOR1+" |"+COLOR2+" # Alias/Handle Group/Location Bytes Files "+COLOR1+"|"
FPUTLN 2,COLOR1+" |-===-=========================-=========================-===========-=====-|"
FPUTLN 2,COLOR1+" |"+COLOR4+" 1 "+COLOR5+MIXED(LEFT(CURUSERNAME,25))+" "+COLOR6+LEFT(CITY,25)+" "+COLOR7+RIGHT(BYTES4,11)+" "+COLOR8+RIGHT(FILES1,5)+COLOR1+" |"
FPUTLN 2,COLOR1+" |---------------------------------------------------------------------------|"
FPUTLN 2,COLOR1+" |"+COLOR9+" Last Week's Top Uploader: "+COLOR10+MIXED(LEFT(LASTNAME,30))+" "+COLOR1+"|"
FPUTLN 2,COLOR1+" `---------------------------------------------------------------------------'@PON@"
FPUTLN 2,"@WAIT@"
FCLOSE 2
IF (DOW(DATE())=0) THEN
FCREATE 1,RUNSUNDAY,O_WR,S_DW
FPUTLN 1," "
FCLOSE 1
ENDIF
CDCHKON
END
:SUNDAY
LET LASTNAME=STRING(USERNAME(SORTARRAY(USERNUMBERS)))
FCREATE 1,DATAFILE,O_WR,S_DW
FPUTLN 1,LASTNAME
FPUTLN 1,CURUSERNAME
FPUTLN 1,CURUSERBYTES
FPUTLN 1,CURUSERFILES
FCLOSE 1
FCREATE 1,RUNSUNDAY,O_WR,S_DW
FPUTLN 1," "
FCLOSE 1
GETALTUSER U_RECNUM(CURUSERNAME)
LET CITY=U_CITY
FREALTUSER
LET BYTES1=RIGHT(CURUSERBYTES,9)
LET BYTES2=RIGHT(BYTES1,3)
LET BYTES3=MID(BYTES1,4,3)
LET BYTES1=LEFT(BYTES1,3)
IF (BYTES2<>" ") LET BYTES4=BYTES2
IF (BYTES3<>" ") LET BYTES4=BYTES3+","+BYTES4
IF (BYTES1<>" ") LET BYTES4=BYTES1+","+BYTES4
LET FILES1=RIGHT(CURUSERFILES,4)
LET FILES2=RIGHT(FILES1,3)
LET FILES1=LEFT(FILES1,1)
IF (FILES1<>" ") LET FILES1=FILES1+","+FILES2
IF (FILES1=" ") LET FILES1=FILES2
FCREATE 2,PPEPATH()+"WEEKTOP.PCB",O_WR,S_DW
FPUTLN 2,COLOR1+"@CLS@@POFF@ .---------------------------------------------------------------------------."
FPUTLN 2,COLOR1+" |"+COLOR3+" GNX-WTU Weekly Top By BitStream/Crypt Keeper (Last "+STRING(DOW(DATE())+1)+" days) Top 10 "+COLOR1+"|"
FPUTLN 2,COLOR1+" |---------------------------------------------------------------------------|"
FPUTLN 2,COLOR1+" |"+COLOR2+" # Alias/Handle Group/Location Bytes Files "+COLOR1+"|"
FPUTLN 2,COLOR1+" |-===-=========================-=========================-===========-=====-|"
FPUTLN 2,COLOR1+" |"+COLOR4+" 1 "+COLOR5+MIXED(LEFT(CURUSERNAME,25))+" "+COLOR6+LEFT(CITY,25)+" "+COLOR7+RIGHT(BYTES4,11)+" "+COLOR8+RIGHT(FILES1,5)+COLOR1+" |"
FPUTLN 2,COLOR1+" |---------------------------------------------------------------------------|"
FPUTLN 2,COLOR1+" |"+COLOR9+" Last Week's Top Uploader: "+COLOR10+LEFT(LASTNAME,30)+" "+COLOR1+"|"
FPUTLN 2,COLOR1+" `---------------------------------------------------------------------------'@PON@"
FPUTLN 2,"@WAIT@"
FCLOSE 2
CDCHKON
END