home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / SCRIPTS.ZIP / CISUPL.T < prev    next >
Text File  |  1995-01-26  |  4KB  |  149 lines

  1.     echoc "cisupl.t Rev 10-27-91  File: %item"
  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 "an't find that"
  9.     pat 5l "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 " /S"            : split on space or slash
  16.     split s0
  17.     if "!iz0,#:" goto orig
  18.     echoc "Reply Format Message"
  19.     put "\025re %z1\r"
  20.      wait -f40
  21.     if 8||2||3 goto foox
  22.     sets s4 "%z2"        : save section #
  23.     set s1 "post"        : Default post command
  24.     grab s0            : Either date line of old message or,
  25.     if "!ps0, " sets s1 %s0        : if no leading SP, post action
  26.     if !1&&!5&&!7 goto notfnd
  27.     grab s0            : discard subject
  28.     grab s0            : discard from
  29.     goto sendit
  30. notfnd:    grab s0            : get subject line for real
  31.     split s0 " " ""
  32.     sets s2 "%z1"
  33.     ss s2 "(.*[0-9][0-9]*-)(.*)"
  34.     if %z2 sets s2 "%z2"; echoc "Fixed Sb %s2"
  35.     if "%s2>24" goto subbad
  36. subok:    grab s0                    : Get Fm: line
  37.     set ifs ":"
  38.     split s0
  39.     sets s0 "%z1"                : Name and PPN
  40.     if "%s0>44" goto tokbad            : Too long - get PPN only
  41. took:    put "\025l\r"
  42.     wait -f20
  43.     if "!1&&!5&&!7" goto foobar
  44. sendit:    if !t echoc "%item Short file! ";  goto foobar
  45.     grab s3                    : Get possible To: line
  46.     if ps3,To: goto unedited
  47.     pat 6 ""
  48.     if !dP ena -p; pq1; pp120; pg10
  49.     if dP ena -r
  50.     wait -f2
  51.     putv s3; put "\r"
  52.     t -gx!G; wait -f1; ena -tG!p
  53.     put "\025/exit\r";
  54.     pat 5 " action"
  55.     wait -f40
  56.     put "\025%s1\r"
  57.     echoc "File %item To: %s0 Cmd: %s1"
  58.     pat 1 "posted"
  59.     pat 3c "Section # Required" "\025%s4\r"
  60.     pat 4 "Files busy"
  61.     pat 5c "Subject:" "\025%s2\r"
  62.     pat 6c "Post for (Name and/or User ID" "\025%s0\r"
  63.     pat 7c "Is this correct (Y or N)?" "y\r"
  64.     wait -f20
  65.     if n put "\025%s1\r";  wait -f40
  66.     while 4 echo "Get on with it already." wait -f30
  67.     if !1&&!2&&!8 goto foobar
  68.     if !dv "!%mv %item Z%item.tmp"
  69.     if dv  "!%rename %item Z%item.tmp"
  70.     echoc "File Uploaded: %item moved to Z%item.tmp"
  71.     if !2&&!8 wait -f10
  72.     ena -gt
  73.     return
  74. foobar:    echoc "File Not Accpeted"
  75.     nolog closetx
  76.     put \3
  77.     pat 1 "Option:"
  78.     pat 6 "Choice:"
  79.     wait -f10
  80.     put "\0253\r"
  81.     wait -f10
  82.     if 5 put "a\ry\r"; wait -f10
  83.     if !2&&!8 purgek; kbdlock 0;set s5 ""
  84.     echoc "Moving %item to Y%item.tmp"
  85.     if !dv "!%mv %item Y%item.tmp"
  86.     if dv "!%rename %item Y%item.tmp"
  87.     ena -gt
  88.     fail
  89. foox:    echoc "Moving %item to Y%item.tmp"
  90.     if !dv "!%mv %item Y%item.tmp"
  91.     if dv "!%rename %item Y%item.tmp"
  92.     ena -gt
  93.     nolog closetx
  94.     echoc "CISUPL ABEND"
  95.     return
  96. orig:    set ifs ";"            : split on ; or slash
  97.     echoc "Originating Format"
  98.     :: Originiating format is:     to ; subject; sect #; post command
  99.     :: post command is optional field
  100.     split s0
  101.     sets s0 "%z1"
  102.     sets s2 "%z2"
  103.     sets s4 "%z3"
  104.     if "!%s4" set s4 "1"        :: guess if no sect # field
  105.     sets s1 "%z4"
  106.     if "!%s1" set s1 "post"
  107.     echoc "File %item To: %s0 Cmd: %s1"
  108.     put "\025l\r"
  109.     wait -f40
  110.     if 2||4 goto foox
  111.     if "!1&&!5&&!7" goto foobar
  112.     goto sendit
  113. : name/ppn too long, isolate ppn which begins with digit 1 or 7
  114. tokbad:    echoc "Name/PPN Too long %s0"
  115.     ss s0 "(7[0-9][0-9][0-9][0-9],[0-9][0-9]*)"
  116.     if %z1 sets s0 "%z1"; echoc "TO SPLIT OK"; goto took
  117.     set ifs " "
  118.     split s0
  119.     if pz0,7 sets s0 "%z0"; goto took
  120.     if pz0,1 sets s0 "%z0"; goto took
  121.     if pz1,7 sets s0 "%z1"; goto took
  122.     if pz1,1 sets s0 "%z1"; goto took
  123.     if pz2,7 sets s0 "%z2"; goto took
  124.     if pz2,1 sets s0 "%z2"; goto took
  125.     if pz3,7 sets s0 "%z3"; goto took
  126.     if pz3,1 sets s0 "%z3"; goto took
  127.     if pz4,7 sets s0 "%z4"; goto took
  128.     if pz4,1 sets s0 "%z4"; goto took
  129.     if pz5,7 sets s0 "%z5"; goto took
  130.     if pz5,1 sets s0 "%z5"; goto took
  131.     if pz6,7 sets s0 "%z6"; goto took
  132.     if pz6,1 sets s0 "%z6"; goto took
  133.     if pz7,7 sets s0 "%z7"; goto took
  134.     if pz7,1 sets s0 "%z7"; goto took
  135.     echoc "Can't parse Fm: Line to PPN"; goto foobar
  136. subbad:    echoc "Subject <%s2> Too Long"
  137.     if "!ps2,#" echoc "Can't reparse"; goto foobar
  138.     split s2 "-" ""
  139.     sets s2 "%z1"
  140.     echoc "New Subject Line %s2"
  141.     goto subok
  142. unedited:    echoc "cisupl: %item has not been edited!"
  143.     closetx
  144.     pat 5c "Do you wish to cancel" "\025y\r"
  145.     pat 6c "Post action !" "\25cancel\r"
  146.     put "\025/exit\r";
  147.     wait -f20
  148.     return
  149.