/*
 * IP_ExportMessages.ip
 *
 * USAGE: IP_ExportMessages.ip
 *
 * IP_ExportMessages.ip let's group various massages under the same
 * subject and export them into a file...
 *
 * REQUIREMENTS:
 *	rexxreqtools.library
 *
 * $(C): (1995, Rocco Coluccelli, Bologna)
 * $VER: IP_ExportMessages.ip 1.01 (06.Jun.1995)
 */

OPTIONS RESULTS

lib = 'rexxreqtools.library'
IF ~SHOW('l',lib) THEN CALL ADDLIB(lib,0,-30)

/*
 *	Tags for reqtools requesters
 */
rt.PUBSCR = 'rt_pubscrname=INTUIPOINT'
rt.SELDST = 'rtfi_flags=freqf_save'

str.1 = 'Choose a group name'

nl = '0a'x
cr = '0d'x
un = '01'x

opt.PATH = 'MAIL:'


/*
 *	Extract the subject for using it as output file name...
 */
'GetMessage Subject'
IF RC = 5 THEN EXIT

outputmsg = rtFileRequest(opt.PATH,TRANSLATE(result,'___',':/ '),str.1,,rt.PUBSCR rt.SELDST)
IF outputmsg = '' THEN EXIT

IF ~OPEN('out',outputmsg,'a') THEN
	IF ~OPEN('out',outputmsg,'w') THEN EXIT


/*
 *	Extract Area informations
 */
'GetArea name'
IF RC = 5 THEN EXIT
area = result

'GetArea Domain'
domain = result


/*
 *	Do all selected messages
 */
'MoveTo firstsel'
'GetArea MsgSelNum'
IF RC = 5 THEN EXIT
DO FOR result

	CALL WRITELN('out','- Area:' area '['domain']' COPIES('-',67 - LENGTH(area domain)))

	'GetMessage Date'
	CALL WRITELN('out','  Date:' result)

	'GetMessage Sender'
	CALL WRITELN('out','  From:' result)

	'GetMessage Receiver'
	CALL WRITELN('out','    To:' result)

	'GetMessage Subject'
	CALL WRITELN('out','  Subj:' result)

	'GetMessage Text'
	CALL WRITECH('out',COPIES('-',78) || nl || GetText(result) || COPIES('-',78) || COPIES(nl,5))

	'MoveTo nextsel'
END
CALL CLOSE('out')

EXIT


GetText:

    msg = TRANSLATE(COMPRESS(ARG(1),nl),nl,cr)
	DO UNTIL text ~= '' | msg = ''
		PARSE VAR msg text (un) . (nl) msg
	END

RETURN text
