/********************** Hydra/3 - Postprocessing Unit ***********************
*									    *
*	  Copyright 1995 by Dreamer/1oo% and Neurodancer/1oo%		    *
*									    *
****************************************************************************/

signal on Syntax

/************************** Multilanguage Config ***************************/

/* language 0 */

yeppo.0		="Y"
asksl.0		="Clear Selectlist now?"
thanx.0		="Thank You for using Hydra!"
fincom.0		="Found incomplete Uploads:"
contUL.0		="Do You want to continue uploading them later? "
deliUL.0		="Deleting incomplete Uploads..."

/* language 1 */

yeppo.1		="J"
asksl.1		="Gemerkte Files vergessen?"
thanx.1		="Vielen Dank!"
fincom.1		="Unvollstaendige Uploads gefunden:"
contUL.1		="Willst Du diese Files apäter weiter uploaden? "
deliUL.1		="Lösche die unvollstaendigen Uploads..."

/**************************** set some stuff *******************************/

version="0.15 beta"

options results
bufferflush

setobject 0 ; putuser 68
getuser 23 ; port=result
getuser 39 ; uucpdir="Mail:Users/"result
getuser 1100452 ; lng=result
getuser 1209644 ; num=result
getuser 1306724 ; UDloc=substr(result,7,1)
getuser 2307346 ; temppath=result

transmit x2c(196631196E32196332197A342048796472612F33202D20506F737470726F63657373696E6720556E6974202D2019633356)version||x2c(20197A30)

/********************** if AO-Bit was set, unset it ************************/

getuser 1100662 ; privs=d2c(result+(result<0)*256)
aopriv=BitTST(privs,5)
if getclip(port'aopriv')='SET!' then do
	privs=c2d(BitCLR(privs,5))
	privs=privs-(privs>127)*256
	setobject privs ; putuser 1100662
	call setclip(port'aopriv')
end

/*************** check, if there where some incomplete Uploads *************/

if (exists(uucpdir'/Hydra.BAD/BAD-XFER.LOG') & getclip(port'resume')~='SET!') then do
	HydDir=showdir(uucpdir'/Hydra.BAD','files')
	if HyDir='' then break
	else do
		transmit "n2c3"fincom.lng"c7"
		open(bad,uucpdir'/Hydra.BAD/BAD-XFER.LOG','R')
			do until ~eof(bad)
				Logline = readln(bad)
				parse var logline fname badname fsize x
				badsize=word(statef(uucpdir"/Hydra.BAD/"badname),2)
				transmit "c6"left(fname,20," ")" c7- c6"right(badsize,8," ")" c7of c6"right(fsize,8," ")" c7Bytes"
			end
		close(bad)
		prompt 1 YESNO "n1c2"contUL.lng"c7[c3"yeppo.lng"c7/c2nc7] "
		if upper(result)="YES" then nop
		else do
			transmit "c3n1"deliUL.lng"n1"
			address command 'delete 'uucpdir'/Hydra.BAD/BAD-XFER.#?'
		end
		drop HyDir; drop Logline
	end
end

call setclip(port'resume')

/*********************** asking for selectlist-reset ***********************
* Man beachte, dass der YESCHAR des Prompts von CNet automatisch richtig   *
* uebersetzt wird -> auf "YES" checken geht daher fuer ALLE Sprachen...    *
***************************************************************************/

if num~=0 then do
	prompt 1 YESNO "n1c2"asksl.lng" c7[c3"yeppo.lng"c7/c2nc7] "
	if upper(result)="YES" then do
		setobject 0 ; putuser 1209644
	end
end

/*************************** Enable Idle-Timer *****************************/

setobject 0 ; putuser 1110341

/*************************** Clean Up temppath *****************************/

address command 'delete 'temppath||port'HydFileLst 'temppath||port'HydraLog'

/********************************* END ! ***********************************/

transmit "n1c6"thanx.lng"n1"

exit

syntax:
sendstring "Error occured! Line: "sigl", "rc" - "errortext(rc)
exit
