home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / comm / zcm_scrp.zip / CISUPL.T < prev    next >
Text File  |  1989-11-21  |  4KB  |  143 lines

  1.     :: cisupl Rev 1-8-89
  2.     set s3 ""
  3.     pattern
  4.     wait -f2        : in case of spurious Function?
  5.     pat 1v "essage ready"
  6.     pat 2 "unction"
  7.     pat 3 " character maximum"
  8.     pat 4l "can't find"
  9.     pat 5 "Enter message."        : Check for new forum s/w
  10.     pat 6c "Message:" "%z1\r"
  11.     pat 7 "Enter reply."
  12.     pat 8 "Forum !"
  13.     open -!tg %item; grab s0
  14.     while "t&&!%s0" grab s0
  15.     set ifs " /"            : split on space or slash
  16.     split s0
  17.     if "!iz0,#:" goto oldf
  18.     echoc "New Format Message"
  19.     put "\025re %z1\r"
  20.     wait -f40
  21.     if 8||2||3 goto foox
  22.     if !1&&!5&&!7 goto notfnd
  23.     set s1 "s"
  24.     if 5||7 set s1 "post"    : New fangled forum commands!
  25.     grab s0            : Either date line of old message or,
  26.     if "!ps0, " sets s1 %s0    : if no leading SP, save action
  27.     grab s0; grab s0;
  28.     goto sendit
  29. notfnd:    sets s1 "%z2\&u"    : Remember the string concatenation rules!
  30.     grab s0
  31.     grab s0
  32.     split s0 " " ""
  33.     sets s2 "%z1"
  34.     ss s2 "(.*[0-9][0-9]*-)(.*)"
  35.     if %z2 sets s2 "%z2"; echoc "Fixed Sb %s2"
  36.     if "%s2>24" goto subbad
  37. subok:    grab s0                    : Get Fm: line
  38.     set ifs ":"
  39.     split s0
  40.     sets s0 "%z1"                : Name and PPN
  41.     if "%s0>24" goto tokbad            : Too long - get PPN only
  42. took:    put "\025l;%s0;%s2\r"
  43.     wait -f20
  44.     if !1 goto foobar
  45. sendit:    if !t echoc "%item Short file! ";  goto foobar
  46.     grab s3                    : Get possible To: line
  47.     if ps3,To: goto unedited
  48.     pat 6 ""
  49.     if !dP ena -p; pq1; pp120; pg10
  50.     if dP ena -r
  51.     wait -f2
  52.     putv s3; putw "\r"
  53.     t -gx!G; wait -f1; ena -tG!p
  54.     if jremote,tel put "(Uploaded via Telenet)\r"
  55.     put "\025/ex\r";
  56.     pat 5 " action"
  57.     pat 6 "Action !"
  58.     wait -f40
  59.     put "\025%s1\r"
  60.     echoc "File %item To: %s0 Cmd: %s1"
  61.     pat 1c Stored
  62.     pat 3 "SUBTOPIC"
  63.     pat 4 "Files busy"
  64.     pat 6 "User ID required"
  65.     wait -f20
  66.     if 5 put "\025%s1\r";  wait -f40
  67.     if n put "\25\r" wait -f9
  68.     while 4 echo "Get on with it already." wait -f30
  69.     if 3||5 put "\25s0\r" wait -f9
  70.     if 3||5 put "\25s0\r" wait -f9
  71.     if !1&&!2&&!8 goto foobar
  72.     obey "!mv %item Z%item.tmp"
  73.     echoc "File Uploaded: %item moved to Z%item.tmp"
  74.     if !2&&!8 wait -f10
  75.     ena -gt
  76.     return
  77. foobar:    echoc "File Not Accpeted"
  78.     nolog closetx
  79.     put \3
  80.     pat 1 "Option:"
  81.     pat 6 "Choice:"
  82.     wait -f10
  83.     put "\0253\r"
  84.     wait -f10
  85.     if 5 put "a\ry\r"; wait -f10
  86.     if !2&&!8 purgek; kbdlock 0;set s5 ""
  87.     echoc "Moving %item to Y%item.tmp"
  88.     obey "!mv %item Y%item.tmp"
  89.     ena -gt
  90.     fail
  91. foox:    echoc "Moving %item to Y%item.tmp"
  92.     obey "!mv %item Y%item.tmp"
  93.     ena -gt
  94.     nolog closetx
  95.     echoc "CISUPL ABEND"
  96.     return
  97. oldf:    grab s1
  98.     echoc "Old Format File"
  99.     if "%s1>5" goto unedited    : too long a command
  100.     if "!%s1" goto unedited        : no save action command
  101.     if "!ps1,s" goto unedited    : command not starting with 's'
  102.     put "\025%s0\r"
  103.     wait -f40
  104.     if 2||4 goto foox
  105.     if !1 goto foobar
  106.     goto sendit
  107. : name/ppn too long, isolate ppn which begins with digit 1 or 7
  108. tokbad:    echoc "Name/PPN Too long %s0"
  109.     ss s0 "(7[0-9][0-9][0-9][0-9],[0-9][0-9]*)"
  110.     if %z1 sets s0 "%z1"; echoc "TO SPLIT OK"; goto took
  111.     set ifs " "
  112.     split s0
  113.     if pz0,7 sets s0 "%z0"; goto took
  114.     if pz0,1 sets s0 "%z0"; goto took
  115.     if pz1,7 sets s0 "%z1"; goto took
  116.     if pz1,1 sets s0 "%z1"; goto took
  117.     if pz2,7 sets s0 "%z2"; goto took
  118.     if pz2,1 sets s0 "%z2"; goto took
  119.     if pz3,7 sets s0 "%z3"; goto took
  120.     if pz3,1 sets s0 "%z3"; goto took
  121.     if pz4,7 sets s0 "%z4"; goto took
  122.     if pz4,1 sets s0 "%z4"; goto took
  123.     if pz5,7 sets s0 "%z5"; goto took
  124.     if pz5,1 sets s0 "%z5"; goto took
  125.     if pz6,7 sets s0 "%z6"; goto took
  126.     if pz6,1 sets s0 "%z6"; goto took
  127.     if pz7,7 sets s0 "%z7"; goto took
  128.     if pz7,1 sets s0 "%z7"; goto took
  129.     echoc "Can't parse Fm: Line to PPN"; goto foobar
  130. subbad:    echoc "Subject <%s2> Too Long"
  131.     if "!ps2,#" echoc "Can't reparse"; goto foobar
  132.     split s2 "-" ""
  133.     sets s2 "%z1"
  134.     echoc "New Subject Line %s2"
  135.     goto subok
  136. unedited:    echoc "cisupl: %item has not been edited!"
  137.     closetx
  138.     pat 5c "Do you wish to cancel" "\025y\r"
  139.     pat 6c "Post action !" "\25cancel\r"
  140.     put "\025/ex\r";
  141.     wait -f20
  142.     return
  143.