home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / tools / internet-tools / connect-line / cl / rexx / cl-createboards.clrexx < prev    next >
Encoding:
Text File  |  1996-02-05  |  4.1 KB  |  147 lines

  1. /*
  2. **  $VER: CL-CreateBoards.clrexx 1.2 (05 Feb 1996)
  3. **
  4. **        © 1995 Ralf Ramge
  5. **
  6. **  PROGRAMNAME:
  7. **      CL-CreateBoards.clrexx
  8. **
  9. **  FUNCTION:
  10. **      Demonstrationsskript zur cl_rexx.library, Connectline 5.0
  11. **
  12. **      Connectline © 1986-1995 Oliver Wagner, Mathias Mischler
  13. **      cl_rexx.library © 1995 Mathias Mischler
  14. **
  15. **      Dieses Skript legt neue Bretter anhand einer Brettliste an.
  16. **      Hier werden sämtliche Bretter angelegt, die in der Liste stehen
  17. **      und welche im System noch nicht existieren. Autoeintrag-Einstellung-
  18. **      en werden nicht berücksichtigt.
  19. **
  20. **      Nehmen Sie eine beliebige Brettliste; es spielt keine Rolle, ob die
  21. **      Brettnamen in ZConnect- oder RFC-Schreibweise angegeben sind. Ent-
  22. **      fernen Sie aus der Liste alle nicht erwünschten Bretter (bereits
  23. **      existierende können drinbleiben), entfernen Sie auch eventuelle Reste
  24. **      eines Headers. Das Skript setzt das erste zusammenhängende Wort in
  25. **      jeder Zeile als Brettname voraus.
  26. **
  27. **      Als Brettpfad wird der Standardpfad mit dem Brettpfad ergänzt.
  28. **      Als FTS-Name werden alle '/'es durch '.'e ersetzt, als Newsgroupname
  29. **      zusätzlich noch in Kleinschreibung gewandelt.
  30. **      Lese- und Schreibpriorität stehen auf Level 99.
  31. **      Defaultmäßig wird keinerlei Routgrenze eingetragen.
  32. **      Folgende Flags stehen auf TRUE (sind also 'eingeschaltet'):
  33. **          - Binär erlaubt
  34. **          - Text erlaubt
  35. **          - Mapszugriff erlaubt
  36. **          - Autoeintrag gesetzt
  37. **      Alle anderen Flags sind deaktiviert.
  38. **      Es wird keinerlei Gruppenzuweisung vorgenommen und auch keine Server
  39. **      eingetragen.
  40. **      Die neu angelegten Bretter werden im File 'T:NeueBretter' protokolliert.
  41. **      Dieses File kann CL-BretterOn.clrexx vorgelegt werden, falls (UND NUR
  42. **      DANN!!!!) sämtliche neuangelegten Bretter von einem Server bezogen
  43. **      werden. Ein ADD wird ebenfalls an den Server geschickt.
  44. **
  45. **  $HISTORY:
  46. **
  47. **      1.2 (05 Feb 1996) : Auf clrexxmods umgestellt
  48. **
  49. */
  50.  
  51. miscmod='CONNECTLINE:Rexx/Modules/misc.clrexxmod'
  52. mapsmod='CONNECTLINE:Rexx/Modules/maps.clrexxmod'
  53.  
  54. /* rexxsupport.library öffnen */
  55.  
  56. if ~show('L','rexxsupport.library') then do
  57.     if ~addlib('rexxsupport.library',0,-30,0) then exit 10
  58.     end
  59.  
  60. /* cl_rexx.library öffnen */
  61.  
  62. if ~show('L','cl_rexx.library') then do
  63.     if ~addlib('cl_rexx.library',0,-30,0) then exit 10
  64.     end
  65.  
  66.  
  67. /* Fontsize ermitteln */
  68.  
  69. gfxbase=showlist(l,'graphics.library',0,a)
  70. call forbid
  71. FontAddress=next(gfxbase,154)
  72. Fontsize=c2d(IMPORT(offset(FontAddress,20),2))
  73. call permit
  74. windowwidth=Fontsize*50
  75. windowheight=Fontsize*15
  76. windowY=Fontsize+1
  77. WindowX=Fontsize
  78.  
  79. /* Standard-IO umleiten */
  80.  
  81. screen=CLGET_FrontScreenName()
  82.  
  83. call close STDOUT
  84. if ~open(STDOUT,'CON:'windowX'/'windowY'/'windowwidth'/'windowheight'/CL-CreateBoards/SCREEN'screen,'W') then
  85.     exit 20
  86. else do
  87.     call close STDIN
  88.     call open STDIN,'*',R
  89.     call pragma '*'
  90.     end
  91.  
  92.  
  93. /* Hauptprogramm */
  94.  
  95. address command
  96.  
  97. blist=arg(1)
  98. if blist='' then do
  99.     say "Name und Pfad der Quell-Brettliste:"
  100.     blist=CLGET_FileRequest()
  101.     end
  102. if ~open('in',blist,'R') then do
  103.     say 'Quell-Brettliste konnte nicht geöffnet werden!'
  104.     call ende
  105.     end
  106.  
  107. if ~open('out','T:NeueBretter','W') then do
  108.     say 'Ausgabedatei konnte nicht geöffnet werden!'
  109.     call ende
  110.     end
  111.  
  112. do until eof('in')
  113.     brett=readln('in')
  114.     if brett~='' then do
  115.         if ~CLIS_BoardExists(brett) then do
  116.             call writeln 'out',brett
  117.             'rx 'miscmod' CREATEBOARD,'brett
  118.             end
  119.         end
  120.     end
  121.  
  122. call close 'in'
  123. call close 'out'
  124.  
  125. say 'Speichere Brettliste.'
  126. call CL_SaveBoardList()
  127.  
  128. options prompt "Soll EIN System gleich in die Verteiler der neuen Bretter (J/N)? "
  129. pull dummy
  130. if dummy='J' then do
  131.     options prompt "Name des Servers: "
  132.     pull server
  133.     'copy T:NeueBretter CONNECTLINE:Rexx/data/boards.'||server
  134.     'rx 'mapsmod' HOLDOFF 'server
  135.     call CL_SendMailFull('sysop','maps@'||server'.'CLGET_SystemDomain(server),'T:NeueBretter',,,'ADD','TEXT','A')
  136.     'delete >NIL: T:NeueBretter'
  137.     end
  138.  
  139. ende:
  140.  
  141. options prompt "<Bitte drücken Sie RETURN>"
  142. pull dummy
  143.  
  144. call close STDOUT
  145. call close STDIN
  146. exit
  147.