/*
    $VER: zmime.zprx 1.1 (21.7.96) Copyright (c) Jan Ritzerfeld

    Dies ist ein ARexx-Skript für Zodiac's Point und  zmime,  mit  dem
    man  auf  bequeme Weise MIME-Nachrichten von Zodiac's Point aus in
    zmime laden und damit bearbeiten kann.

    DISCLAIMER

    THIS MATERIAL IS PROVIDED "AS IS" WITHOUT WARRANTY  OF  ANY  KIND,
    EITHER  EXPRESS  OR  IMPLIED,  STATUTORY  OR  OTHERWISE, INCLUDING
    WITHOUT LIMITATION  ANY  IMPLIED  WARRANTIES  OF  NONINFRINGEMENT,
    MERCHANTABILITY  AND  FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
    RISK AS TO THE USE, RESULTS, AND PERFORMANCE OF THIS  MATERIAL  IS
    ASSUMED  BY  YOU  AND IF THE PRODUCT SHOULD PROVE TO BE DEFECTIVE,
    YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR,  OR
    OTHER REMEDIATION.

    Sie erreichen den Autor wie folgt:

       Jan Ritzerfeld         Tel. : +49-2421-65177
       Dornheckweg 9          EMail: johnny@indigo.tng.oche.de
       52355 Düren-Birgel

    Nutzungsbedingungen:

    Die Urheberrechte  dieses  Skriptes  verbleiben  vollständig  beim
    Autor.    Sie    dürfen   das   Skript   beliebig   kopieren   und
    weiterverteilen,  solange  Sie  für  die  Weitergabe   kein   Geld
    verlangen und das Skript vollständig und unverändert weitergeben!

    Hinweise zur Installation:

    Kopieren Sie dieses Skript in  das  Rexx-Verzeichnis  von  ZP  und
    fügen  Sie  danach  der  Datei  'fkeys.zp'  auf Wunsch den Eintrag
    "F1:SYS:Rexxc/RX ZPOINT:Rexx/zmime.zprx %s" hinzu.

    History:

    1.0 (18.4.96)              Erste Version von Ralph Seichter
				nur für CygnusED
    1.1 (21.7.96)              Editorunabhängigkeit
*/

zmime    = "ZPOINT:tools/zmime"
zmimecfg = "ZPOINT:tools/zmime.config"

/* Das eigentliche Programm: Änderungen sind nicht mehr gestattet! */

options failat 10
signal on syntax

call addlib('rexxsupport.library',0,-30,0)

parse arg zpPort
if(zpPort == '') then
  zpPort = 'ZPoint'
address value zpPort
options results
'GUILOCK TEXT="Einen Moment bitte..."'

temp = 'T:zm'pragma('I')
call delete(temp)

WHICHLEVEL
if(result ~= 'BOARD') then
  do
  REQUESTNOTIFY 'Dieses Skript macht nur im Nachrichtenmenü Sinn'
  GUILOCK OFF
  exit
  end

SAVEMESSAGEBODY temp
if(~rc) then
  do
  REQUESTNOTIFY 'Konnte Nachricht nicht abspeichern'
  GUILOCK OFF
  exit
  end
'GUILOCK TEXT="Einen Moment bitte..."'

linenr = 0
if(open('Msg',temp,'R')) then
  do
    do while(linenr < 15)
    line = readln('Msg')
    if(left(line,2) == '--') then
      do
      linenr = 99
      boundary = substr(line,3)
      end
    else
      linenr = linenr + 1
    end
  call close('Msg')
  end

call delete(temp)

if(linenr ~= 99) then
  do
  REQUESTNOTIFY 'Konnte kein "boundary" finden'
  GUILOCK OFF
  exit
  end

if(open('Msg',temp,'W')) then
  do
  call writeln('Msg','MIME-Version: 1.0')
  call writeln('Msg','Content-Type: multipart/mixed; boundary="'boundary'"')
  call writeln('Msg','')
  call close('Msg')
  end

SAVEMESSAGEBODY temp
if(~rc) then
  do
  REQUESTNOTIFY 'Konnte Nachricht nicht abspeichern'
  GUILOCK OFF
  exit
  end
'GUILOCK TEXT="Einen Moment bitte..."'

address command zmime 'FILE' temp 'PUBSCREEN' zpPort 'CONFIG' zmimecfg

call delete(temp)

GUILOCK OFF

exit


syntax: /* Ein Fehler ist aufgetreten ! */

REQUESTNOTIFY 'Schade auch, Fehler in Zeile' sigl ':' errortext(rc) ':-('
GUILOCK OFF

exit
