home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 3
/
Meeting_Pearls_III.iso
/
Pearls
/
comm
/
Mail+News
/
UMS11
/
rexx
/
ADM.intui
next >
Wrap
Text File
|
1995-08-28
|
3KB
|
124 lines
/* $VER: ADM.intui 1.0 (29.8.95)
Author:
Jan Geissler <jan@digit.franken.de>
Function:
Verwaltung des IntuiNews-Adreßbuchs durch ADM.
Fügt EMail zu bestehendem Eintrag hinzu, falls vorhanden.
---
ADM handles IntuiNews's address book
Appends EMail if name already present in address file.
History:
0.1 initial version
0.2 path variable had previously not been used for mistake.
1.0 public release for IN1.3
Comments:
- Programmpfad und Adreßdatei muß unten evtl. angepaßt werden
- Vorschläge sind immer willkommen!
---
- program path and address file might have to be adjusted
to fit to your needs.
- Suggestions welcome!
Requires:
UMSServer 11.28 or newer
ums.library 11.18 or newer
ADM 2.0 or newer
Example for "ums.config":
( IntuiNews.Book "!ADM.intui" )
*/
progpath = "AddressMaster" /* Here, AddressMaster must bei in the shell path */
adrfile = "WORK:ADM/Adressen/Adressen.adm" /* Adjust your file to be loaded */
PARSE ARG Command " " Name "," Addr "," Comment
OPTIONS RESULTS
SIGNAL ON ERROR
IF ~EXISTS(adrfile) THEN DO
'REQUEST "Error" "OK" "ADM data file not present. Please check the macro ADM.intui"'
EXIT 10
END
IF ~SHOW('P','ADM.UMS') THEN DO
cmd = "run >NIL:" progpath "CLOSEQUIT PORTNAME ADM.UMS ICONIFY FROM" adrfile
ADDRESS COMMAND cmd
if rc = 5 then do
say 'Unable to load command"' ||progpath|| '", check the macro.'
exit
end
address command "waitforport ADM.UMS"
if rc = 5 then do
say 'Unable to load command "WaitForPort".'
exit
end
wait 10
END
IF Command="QUERY" THEN DO
ADDRESS 'ADM.UMS' ACTIVATEFIRST
ADDRESS 'ADM.UMS' ADDRINMEM
numadr = RESULT
num = 0
DO FOR numadr-1
ADDRESS 'ADM.UMS' GETADDRESS stem
IF stem.fullname ~= "" THEN DO
IF stem.EMAIL1 ~= "" THEN
'ADD "'||stem.FULLNAME||'" "'||stem.EMAIL1||'" "'||remark||'"'
IF stem.EMAIL2 ~= "" THEN
'ADD "'||stem.FULLNAME||'" "'||stem.EMAIL2||'" "'||remark||'"'
END
num = num + 1
IF num < numadr THEN
ADDRESS 'ADM.UMS' ACTIVATENEXT
END
END
IF Command="ADD" THEN DO
P=LASTPOS(" ",Name)
IF P=0 THEN First=""
ELSE DO
First=LEFT(Name,P-1)
Name=SUBSTR(Name,P+1)
END
sd.firstname = STRIP(first)
sd.lastname = STRIP(name)
ADDRESS 'ADM.UMS' SEARCH 1 sd
num = RESULT
IF num<0 THEN DO
stem.firstname = STRIP(first)
stem.lastname = STRIP(name)
stem.email1 = STRIP(Addr)
stem.remark1 = STRIP(Comment)
ADDRESS 'ADM.UMS' NEWADDRESS stem
END; ELSE DO
ADDRESS 'ADM.UMS' ACTIVATE num
ADDRESS 'ADM.UMS' GETADDRESS stem
SELECT
WHEN (stem.email1 = "" | stem.email1 = Addr) THEN stem.email1 = Addr
WHEN (stem.email2 = "" | stem.email2 = Addr) THEN stem.email2 = Addr
OTHERWISE stem.remark1 = stem.remark1 || "0a"X || "EMail:" Addr
END
stem.remark1 = stem.remark1 || "0A"x || STRIP(Comment)
ADDRESS 'ADM.UMS' CHANGEADDRESS stem
ADDRESS 'ADM.UMS' SAVE FORCE
END;
END
ERROR:
EXIT 0