home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / t / thrdsub.zip / FIX-THRD.MOD next >
Text File  |  1989-08-02  |  7KB  |  187 lines

  1. This mode will put the message Thread files in the same Subdir
  2. were the MAIN message files are kept. This should solve the
  3. problem if you use seperate Subdirs for each node...
  4. '
  5. If you already have the THREAD mods installed just replace the code here
  6. and you should be all set.
  7.  
  8. all changes are make PE 08/02/89
  9.  
  10.  
  11. Enjoy !!
  12.  
  13. Pete Eibl <Maple Street BBS 414-771-2805 1200-9600 HST>
  14.  
  15. All changes are to RBBSSUB1.BAS
  16. '
  17. '
  18. '
  19. '********************************************************************
  20. '  THREAD1            First message thread routine                  *
  21. '  THREAD2            Second message thread routine                 *
  22. '  THREAD3            Third message thread routine                  *
  23. '********************************************************************
  24. '===========================================================================
  25. '
  26. ' $SUBTITLE: 'THREAD1 - create/update threaded message file'
  27. ' $PAGE
  28. '
  29. '  SUBROUTINE NAME    -- THREAD1
  30. '
  31. '  INPUT PARAMETERS   --    PARAMETER              MEANING
  32. '                           HIGH.MESSAGE.NUMBER    This reply's message number
  33. '                           CURRENT.MESSAGE        Message number being replied
  34. '
  35. '  OUTPUT PARAMETERS  --     <<NONE>>
  36. '
  37. '  SUBROUTINE PURPOSE -- SUBROUTINE TO...
  38. '
  39.       SUB THREAD1 (HIGH.MESSAGE.NUMBER,CURRENT.MESSAGE,GRN$) STATIC
  40. CALL BRKFNAME (MAIN.MESSAGE.FILE$,DRV$,PREFIX$,EXT$,TRUE) 'Pe 08/02/89
  41.    IF INSTR(GRN$," ") = 0 THEN   'PE 08/02/89
  42.          FILE.NAME$ = DRV$+GRN$ + "T"  'PE 08/02/89
  43.         ELSE
  44.         FILE.NAME$ = DRV$+LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE 08/02/89
  45.       END IF
  46.       CURRENT.MESSAGE$ = STR$(CURRENT.MESSAGE)
  47.       HIGH.MESSAGE.NUMBER$ = STR$(HIGH.MESSAGE.NUMBER)
  48.       OPEN "R",9,FILE.NAME$,12
  49.       FIELD 9, 6 AS CM$, 6 AS HMN$
  50.       LSET CM$ = CURRENT.MESSAGE$
  51.       LSET HMN$ = HIGH.MESSAGE.NUMBER$
  52.       PUT #9,INT(LOF(9)/12)+1
  53.       CLOSE (9)
  54. 59670 END SUB       ' THREAD1
  55. '
  56. ' $SUBTITLE: 'THREAD2 - a message was killed - check threaded message file'
  57. ' $PAGE
  58. '
  59. '  SUBROUTINE NAME    -- THREAD2
  60. '
  61. '  INPUT PARAMETERS   --    PARAMETER              MEANING
  62. '                           MESSAGE.TO.KILL        Killed message's number
  63. '
  64. '  OUTPUT PARAMETERS  --     <<NONE>>
  65. '
  66. '  SUBROUTINE PURPOSE -- SUBROUTINE TO ...
  67. '
  68.       SUB THREAD2 (MESSAGE.TO.KILL,ACTIVE.MESSAGES,GRN$) STATIC
  69. CALL BRKFNAME (MAIN.MESSAGE.FILE$,DRV$,PREFIX$,EXT$,TRUE) 'Pe 08/02/89
  70.    IF INSTR(GRN$," ") = 0 THEN   'PE 08/02/89
  71.          FILE.NAME$ = DRV$+GRN$ + "T"  'PE 08/02/89
  72.         ELSE
  73.         FILE.NAME$ = DRV$+LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE 08/02/89
  74.       END IF
  75.       OPEN "R",9,FILE.NAME$,12
  76.       FIELD 9, 6 AS CM$, 6 AS HMN$
  77.        FOR I = 1 TO INT(LOF(9)/12)
  78.           GET 9,I
  79.           IF VAL(CM$) = MESSAGE.TO.KILL THEN     ' MARK THE RECORD
  80.              LSET CM$ = LEFT$(CM$,5) + "K"
  81.              PUT 9,I
  82.           ELSE 
  83.            IF VAL(HMN$) = MESSAGE.TO.KILL THEN     ' MARK THE RECORD
  84.               LSET HMN$ = LEFT$(HMN$,5) + "K"
  85.               LSET CM$ = LEFT$(CM$,5) + "K"
  86.              PUT 9,I
  87.           END IF
  88.        END IF
  89.       NEXT I
  90.       CLOSE (9)
  91. 59680 END SUB      ' THREAD2
  92. '
  93. ' $SUBTITLE: 'THREAD3 - a message was killed - check threaded message file'
  94. ' $PAGE
  95. '
  96. '  SUBROUTINE NAME    -- THREAD3
  97. '
  98. '  INPUT PARAMETERS   --    PARAMETER              MEANING
  99. '                           CURRENT.MESSAGE        Message's number
  100. '
  101. '  OUTPUT PARAMETERS  --     <<NONE>>
  102. '
  103. '  SUBROUTINE PURPOSE -- SUBROUTINE TO ...
  104. '
  105.       SUB THREAD3 (CURRENT.MESSAGE,GRN$) STATIC
  106. IF JUST.SEARCHING THEN _            'PE 01/16/89
  107.  EXIT SUB                           'PE 01/16/89
  108. CALL BRKFNAME (MAIN.MESSAGE.FILE$,DRV$,PREFIX$,EXT$,TRUE) 'Pe 08/02/89
  109.    IF INSTR(GRN$," ") = 0 THEN   'PE 08/02/89
  110.          FILE.NAME$ = DRV$+GRN$ + "T"  'PE 08/02/89
  111.         ELSE
  112.         FILE.NAME$ = DRV$+LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE 08/02/89
  113.       END IF
  114.        OPEN "R",9,FILE.NAME$,12 
  115.        FIELD 9, 6 AS CM$, 6 AS HMN$
  116.       AA$ = ""
  117.       ZZ$ = ""
  118.       FOR I = 1 TO INT(LOF(9)/12)
  119.           GET 9,I
  120.          IF RIGHT$(HMN$,1) = "K" THEN 59690
  121.          IF VAL(CM$) = CURRENT.MESSAGE AND RIGHT$(HMN$,1) <> "K" THEN 
  122.                 AA$ = AA$ + HMN$
  123.          END IF 
  124.           IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) = "K" THEN
  125.                 ZZ$ = LEFT$(CM$,5) + FG.4$+"(deleted) "+EMPHASIZE.OFF$
  126.          END IF
  127.           IF VAL(HMN$) = CURRENT.MESSAGE AND RIGHT$(CM$,1) <> "K" THEN 
  128.                 ZZ$ = CM$
  129.          END IF
  130. 59690 NEXT I
  131.       IF LEN(AA$) > 0 THEN 
  132. CALL QTPUT(FG.3$+"   Reply(ies) in message number(s): "+FG.4$ + AA$+EMPHASIZE.OFF$,1)
  133.       END IF
  134.       IF LEN(ZZ$) > 0 THEN 
  135. CALL QTPUT (FG.2$+"   This message is in reply to message " +FG.1$+ ZZ$+EMPHASIZE.OFF$,1)
  136.       END IF
  137. CALL QTPUT (FG.1$ + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"+EMPHASIZE.OFF$,1)
  138.       CLOSE (9)
  139. 59695 END SUB      ' THREAD3
  140. '
  141. ' $SUBTITLE: 'THREAD4 - UPDATE CONFR.DEF FILE FOR MESSAGE RECOVERY'
  142. ' $PAGE
  143. '
  144. '  SUBROUTINE NAME    -- THREAD4
  145. '
  146. '  INPUT PARAMETERS   --    PARAMETER            MEANING
  147. '
  148. '                           MESSAGE.TO.RECOVER   MESSAGE NUMBER BEING RECOVERED
  149. '                           FIRST.MESSAGE.RECORD NOT USED HERE BUT PASSED IN
  150. '                                                FROM RBBS CALL TO SUB2
  151. '                           ACTION.FLAG          PASSED FROM SUB2 NEEDED TO
  152. '                                                GIVE BACK TO RBBS MAIN CODE
  153. '                           GRN$                 CONFERENCE NAME
  154. '
  155. '  OUTPUT PARAMETERS  --      <<NONE>>
  156. '
  157. '  SUBROUTINE PURPOSE -- SUBROUTINE - UPDATE CONFR.DEF FILE AFTER MSG RECVRY
  158. '
  159.  SUB THREAD4 (MESSAGE.TO.RECOVER,FIRST.MESSAGES.RECORD,ACTION.FLAG,GRN$) STATIC
  160. CALL BRKFNAME (MAIN.MESSAGE.FILE$,DRV$,PREFIX$,EXT$,TRUE) 'Pe 08/02/89
  161.    IF INSTR(GRN$," ") = 0 THEN   'PE 08/02/89
  162.          FILE.NAME$ = DRV$+GRN$ + "T"  'PE 08/02/89
  163.         ELSE
  164.         FILE.NAME$ = DRV$+LEFT$(GRN$,INSTR(GRN$," ")-1)+"T" 'PE 08/02/89
  165.       END IF
  166.       OPEN "R",9,FILE.NAME$,12               'WILL CREATE FILE IF NOT EXIST
  167.       FIELD 9, 6 AS CM$, 6 AS HMN$
  168.       FOR I = 1 TO INT(LOF(9)/12)
  169.           GET 9,I
  170.           IF VAL(CM$) = MESSAGE.TO.RECOVER THEN
  171.              LSET CM$ = LEFT$(CM$,5) + " "
  172.              PUT 9,I
  173.           ELSE
  174.               IF VAL(HMN$) = MESSAGE.TO.RECOVER THEN
  175.                  LSET HMN$ = LEFT$(HMN$,5) + " "
  176.                  LSET CM$ = LEFT$(CM$,5) + " "
  177.                  PUT 9,I
  178.               END IF
  179.           END IF
  180.       NEXT I
  181.       CLOSE (9)
  182. 59698 END SUB    'THREAD4
  183. '
  184.  
  185.  
  186.  
  187. End of MOD............