Removed timebank and nextuser doors, added signature editor
This commit is contained in:
parent
daf359577b
commit
f27c25d012
13
ChangeLog
13
ChangeLog
@ -5,6 +5,7 @@ v0.37.01 14-Jan-2003.
|
|||||||
|
|
||||||
upgrade:
|
upgrade:
|
||||||
After upgrade you may remove ~/etc/maptabs and it's contents.
|
After upgrade you may remove ~/etc/maptabs and it's contents.
|
||||||
|
After upgrade you may remove ~/etc/bank.data.
|
||||||
|
|
||||||
general:
|
general:
|
||||||
This version may be used on production systems, but be
|
This version may be used on production systems, but be
|
||||||
@ -15,6 +16,12 @@ v0.37.01 14-Jan-2003.
|
|||||||
will be replaced by standard library functions. Right now the
|
will be replaced by standard library functions. Right now the
|
||||||
messages are 8 bit clean and there is no translation on the
|
messages are 8 bit clean and there is no translation on the
|
||||||
gateway. The maptabs are removed.
|
gateway. The maptabs are removed.
|
||||||
|
Menu items 22 and 23 are removed, menu 319 is added. You may
|
||||||
|
want to replace the default txtfiles and menus, upgraded
|
||||||
|
versions are in the distribution but are not automatic
|
||||||
|
installed.
|
||||||
|
Documented menu 318, was present for a long time, just not in
|
||||||
|
the html docs.
|
||||||
|
|
||||||
nodelist.a:
|
nodelist.a:
|
||||||
Added experimental support for IP nodes lookup using a default
|
Added experimental support for IP nodes lookup using a default
|
||||||
@ -48,6 +55,7 @@ v0.37.01 14-Jan-2003.
|
|||||||
global settings.
|
global settings.
|
||||||
When moving a message area to area zero mbsetup doesn't crash
|
When moving a message area to area zero mbsetup doesn't crash
|
||||||
anymore.
|
anymore.
|
||||||
|
Added new menu item 319, remove menu items 22 and 23.
|
||||||
|
|
||||||
mbsebbs:
|
mbsebbs:
|
||||||
It will now refuse to up/download OLR packets when the system
|
It will now refuse to up/download OLR packets when the system
|
||||||
@ -57,11 +65,16 @@ v0.37.01 14-Jan-2003.
|
|||||||
When a reply is made on a message in a newsgroup and your
|
When a reply is made on a message in a newsgroup and your
|
||||||
systems has a permanent mail domain the email address is used
|
systems has a permanent mail domain the email address is used
|
||||||
as from name.
|
as from name.
|
||||||
|
Removed timebank and nextuser doors.
|
||||||
|
Added editing of user's signature file. New menu item 319.
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
The English and Dutch templates are updated to show the new
|
The English and Dutch templates are updated to show the new
|
||||||
nodes flow counters (html.nodes).
|
nodes flow counters (html.nodes).
|
||||||
|
|
||||||
|
lang:
|
||||||
|
Changed english and dutch language prompts 107.
|
||||||
|
|
||||||
|
|
||||||
v0.37.00 26-Dec-2002 - 14-Jan-2003
|
v0.37.00 26-Dec-2002 - 14-Jan-2003
|
||||||
|
|
||||||
|
2
TODO
2
TODO
@ -58,8 +58,6 @@ mbfido:
|
|||||||
|
|
||||||
N: Process To: and Cc: lines in messages gated from Fido to Internet.
|
N: Process To: and Cc: lines in messages gated from Fido to Internet.
|
||||||
|
|
||||||
N: Add traffic to html.nodes
|
|
||||||
|
|
||||||
N: Add macro's for stats of all months.
|
N: Add macro's for stats of all months.
|
||||||
|
|
||||||
L: Implement netmail K/S flag to mark netmail Deleted.
|
L: Implement netmail K/S flag to mark netmail Deleted.
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -12,10 +12,9 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY>
|
<BODY>
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<h5>Last update 26-Jun-2002</h5>
|
<DIV align=right><h5>Last update 02-Feb-2003</h5></DIV>
|
||||||
<P> <P>
|
|
||||||
|
|
||||||
<h1>MBSE BBS Global Menus</h1>
|
<DIV align=center><h1>MBSE BBS Global Menus</h1></DIV>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
@ -162,15 +161,6 @@
|
|||||||
<strong>Optional data:</strong> None.<br>
|
<strong>Optional data:</strong> None.<br>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<LI value="22"><strong>Nextuser door:</strong> This runs the message to next
|
|
||||||
user door.<br>
|
|
||||||
<strong>Optional data:</strong> None.<br>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<LI value="23"><strong>Timebank door:</strong> This runs the time bank door.<br>
|
|
||||||
<strong>Optional data:</strong> None.<br>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<LI value="25"><strong>Safe cracker door:</strong> This runs the Safe Cracker
|
<LI value="25"><strong>Safe cracker door:</strong> This runs the Safe Cracker
|
||||||
door.<br>
|
door.<br>
|
||||||
<strong>Optional data:</strong> None.<br>
|
<strong>Optional data:</strong> None.<br>
|
||||||
|
@ -12,10 +12,9 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY>
|
<BODY>
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<h5>Last update 26-Oct-2001</h5>
|
<DIV align=right><h5>Last update 02-Feb-2003</h5></DIV>
|
||||||
<P> <P>
|
|
||||||
|
|
||||||
<h1>MBSE BBS User Settings Menus</h1>
|
<DIV align=center><h1>MBSE BBS User Settings Menus</h1></DIV>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<OL>
|
<OL>
|
||||||
@ -102,6 +101,17 @@
|
|||||||
<strong>Optional data:</strong> None.<Br>
|
<strong>Optional data:</strong> None.<Br>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
|
<LI value="318"><strong>Change Address:</strong> Let the user change his
|
||||||
|
three lines home address.<br>
|
||||||
|
<strong>Optional data:</strong> None.<Br>
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<LI value="319"><strong>Change signature:</strong> Let the user change
|
||||||
|
his mail signature file (.signature in his home directory). He is allowed
|
||||||
|
to edit at most 4 lines of 74 characters.<br>
|
||||||
|
<strong>Optional data:</strong> None.<Br>
|
||||||
|
<P>
|
||||||
|
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY>
|
<BODY>
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<div align="right"><h5>Last update 06-Jan-2003</h5></div>
|
<div align="right"><h5>Last update 02-Feb-2003</h5></div>
|
||||||
|
|
||||||
<div align="center"><H1>MBSE BBS Setup - Global Setup</H1></div>
|
<div align="center"><H1>MBSE BBS Setup - Global Setup</H1></div>
|
||||||
<P>
|
<P>
|
||||||
@ -159,17 +159,7 @@ menu.
|
|||||||
<IMG SRC="../images/mbsetup1.6.S.gif" width="589" height="343">
|
<IMG SRC="../images/mbsetup1.6.S.gif" width="589" height="343">
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>1.9. Next User Door.</h3>
|
<h3>1.9. Safe cracker door.</h3>
|
||||||
<p>
|
|
||||||
This is a "message to nextuser" door I found in RapidBBS. It allows a user
|
|
||||||
to write a message to the next BBS user.
|
|
||||||
<pre>
|
|
||||||
<strong>Text file </strong>The textfile to display
|
|
||||||
<strong>Quote </strong>The prompt to show
|
|
||||||
</pre>
|
|
||||||
<p>
|
|
||||||
|
|
||||||
<h3>1.10. Safe cracker door.</h3>
|
|
||||||
<p>
|
<p>
|
||||||
This is a door I found in RapidBBS, it is a simple number guessing game.
|
This is a door I found in RapidBBS, it is a simple number guessing game.
|
||||||
<pre>
|
<pre>
|
||||||
@ -185,26 +175,7 @@ This is a door I found in RapidBBS, it is a simple number guessing game.
|
|||||||
</pre>
|
</pre>
|
||||||
<p>
|
<p>
|
||||||
|
|
||||||
<h3>1.11. Time Bank Door.</h3>
|
<h3>1.10. Sysop paging</h3>
|
||||||
<p>
|
|
||||||
This is the timebank door I found in RapidBBS. It allows a user to deposit
|
|
||||||
time or download kilobytes on his bank account so when he needs it for
|
|
||||||
big downloads he can use his savings for extra large downloads. Anyway,
|
|
||||||
I haven't figured this one out completly for myself, so the meaning of all
|
|
||||||
these settings are not well explained right now.
|
|
||||||
<pre>
|
|
||||||
<strong>Time balance </strong>Maximum time balance
|
|
||||||
<strong>Max time withdraw </strong>Maximum time to withdraw
|
|
||||||
<strong>Max time deposit </strong>Maximum time to deposit
|
|
||||||
<strong>Kb. balance </strong>Maximum Kilobytes balance
|
|
||||||
<strong>Max Kb. withdraw </strong>Maximum Kilobytes to withdraw
|
|
||||||
<strong>Max Kb. deposit </strong>Maximum Kilobytes to deposit
|
|
||||||
<strong>Users time ratio </strong>Time ratio
|
|
||||||
<strong>Users Kb. ratio </strong>Kilobytes ratio
|
|
||||||
</pre>
|
|
||||||
<p>
|
|
||||||
|
|
||||||
<h3>1.12. Sysop paging</h3>
|
|
||||||
<p>
|
<p>
|
||||||
For sysop chat we use a program that will connect to the users tty. This is
|
For sysop chat we use a program that will connect to the users tty. This is
|
||||||
not a nice solution because it will not work over a network, but at least
|
not a nice solution because it will not work over a network, but at least
|
||||||
@ -224,7 +195,7 @@ it works.
|
|||||||
<strong>Sunday..Saturday </strong>The times the Sysop is normal available
|
<strong>Sunday..Saturday </strong>The times the Sysop is normal available
|
||||||
</pre><p>
|
</pre><p>
|
||||||
|
|
||||||
<h3>1.13. Fileecho Processing.</h3>
|
<h3>1.11. Fileecho Processing.</h3>
|
||||||
<p>
|
<p>
|
||||||
A note, when you change the number of Systems or Groups, the databases affected
|
A note, when you change the number of Systems or Groups, the databases affected
|
||||||
will be updated automatic.
|
will be updated automatic.
|
||||||
@ -250,7 +221,7 @@ the file /opt/mbse/english/macro/filemgr.help to reflect the new settings.
|
|||||||
Default all these switches are set to Yes.
|
Default all these switches are set to Yes.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h3>1.14. Edit Fidonet mail and echomail processing.</h3>
|
<h3>1.12. Edit Fidonet mail and echomail processing.</h3>
|
||||||
<p>
|
<p>
|
||||||
Note that the first 2 mailboards must also exist in the normal mail areas if
|
Note that the first 2 mailboards must also exist in the normal mail areas if
|
||||||
you want to see what is in them. Here they are defined for quick access of the
|
you want to see what is in them. Here they are defined for quick access of the
|
||||||
@ -307,7 +278,7 @@ if they are larger then 32 KBytes. Splitting is used for newfiles reports
|
|||||||
and gated news articles to Fidonet.
|
and gated news articles to Fidonet.
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>1.15. Edit Internet mail and news processing.</h3>
|
<h3>1.13. Edit Internet mail and news processing.</h3>
|
||||||
<p>
|
<p>
|
||||||
Email and news is setup here. There are three possible configurations which you
|
Email and news is setup here. There are three possible configurations which you
|
||||||
can set with 1.15.11:
|
can set with 1.15.11:
|
||||||
@ -376,7 +347,7 @@ In UUCP mode the NNTP entries are replaced by:
|
|||||||
|
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<h3>1.16. Allfiles and Newfiles lists.</h3>
|
<h3>1.14. Allfiles and Newfiles lists.</h3>
|
||||||
<p>
|
<p>
|
||||||
These are the settings that affect the generation of newfiles and allfiles reports.
|
These are the settings that affect the generation of newfiles and allfiles reports.
|
||||||
<pre>
|
<pre>
|
||||||
@ -385,7 +356,7 @@ These are the settings that affect the generation of newfiles and allfiles repor
|
|||||||
<strong>Groups </strong>The number of newfile groups the newfiles database can hold
|
<strong>Groups </strong>The number of newfile groups the newfiles database can hold
|
||||||
</pre><p>
|
</pre><p>
|
||||||
|
|
||||||
<h3>1.17. Mailer Setup.</h3>
|
<h3>1.15. Mailer Setup.</h3>
|
||||||
<p>
|
<p>
|
||||||
Note that you can't disable FTS-0001 sessions as that is a mandatory session
|
Note that you can't disable FTS-0001 sessions as that is a mandatory session
|
||||||
protocol in Fidonet. There are 40 phonenumber translations present, this is for
|
protocol in Fidonet. There are 40 phonenumber translations present, this is for
|
||||||
@ -414,7 +385,7 @@ XX,CM and TCP/IP systems (internet) should use the XX,CM,IBN,IFC flags.
|
|||||||
<strong>Max. MBytes </strong>Maximum MBytes to request, 0 is unlimited
|
<strong>Max. MBytes </strong>Maximum MBytes to request, 0 is unlimited
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<h3>1.18. FTPD Settings.</h3>
|
<h3>1.16. FTPD Settings.</h3>
|
||||||
<p>
|
<p>
|
||||||
A new program is <strong>mbftpd</strong>. This is a replacement for the normal
|
A new program is <strong>mbftpd</strong>. This is a replacement for the normal
|
||||||
ftp server for Linux with special futures for MBSE BBS. This is not working
|
ftp server for Linux with special futures for MBSE BBS. This is not working
|
||||||
@ -440,7 +411,7 @@ yet and is not included in the distribution. Setting it up is adviced.
|
|||||||
<strong>User mbse </strong>If user <strong>mbse</strong> is allowed. Dangerous!
|
<strong>User mbse </strong>If user <strong>mbse</strong> is allowed. Dangerous!
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
<h3>1.19. Edit HTML pages setup.</h3>
|
<h3>1.17. Edit HTML pages setup.</h3>
|
||||||
<p>
|
<p>
|
||||||
Here you setup the HTML pages that can be created with the <strong>
|
Here you setup the HTML pages that can be created with the <strong>
|
||||||
mbfile web</strong> command. These are HTML pages of your download
|
mbfile web</strong> command. These are HTML pages of your download
|
||||||
@ -473,7 +444,7 @@ there is no user authentication yet available.
|
|||||||
</pre>
|
</pre>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>1.20. Manager flag Descriptions.</h3>
|
<h3>1.18. Manager flag Descriptions.</h3>
|
||||||
<p>
|
<p>
|
||||||
In this menu you can give the 32 area-/filemgr flags a meaningfull description.
|
In this menu you can give the 32 area-/filemgr flags a meaningfull description.
|
||||||
<p>
|
<p>
|
||||||
|
@ -9,32 +9,32 @@
|
|||||||
8 user.c filesub.c |Password:
|
8 user.c filesub.c |Password:
|
||||||
9 user.c |Maximum login attempts have been exceeded ...
|
9 user.c |Maximum login attempts have been exceeded ...
|
||||||
10 user.c |Either your NAME or PASSWORD is incorrect
|
10 user.c |Either your NAME or PASSWORD is incorrect
|
||||||
11 bank.c | MBSE BBS System Bank
|
11 .c |
|
||||||
12 bank.c |Bank Account:
|
12 .c |
|
||||||
13 bank.c |Time in account
|
13 .c |
|
||||||
14 bank.c |Bytes in account
|
14 .c |
|
||||||
15 bank.c |Time deposited today
|
15 .c |
|
||||||
16 bank.c |Bytes deposited today
|
16 .c |
|
||||||
17 bank.c |Time withdrawn today
|
17 .c |
|
||||||
18 bank.c |Bytes withdrawn today
|
18 .c |
|
||||||
19 bank.c DWQ|(D)eposit, (W)ithdraw, (Q)uit:
|
19 .c |
|
||||||
20 bank.c |Bank >
|
20 .c |
|
||||||
21 bank.c TBQ|(T)ime, (B)ytes, (Q)uit :
|
21 .c |
|
||||||
22 bank.c |You must have at least 5 minutes remaining to deposit
|
22 .c |
|
||||||
23 bank.c |How much time. Minutes available to you is
|
23 .c |
|
||||||
24 bank.c |You have tried to deposit more than the maximum limit today.
|
24 .c |
|
||||||
25 bank.c |Maximum allowed minutes to deposit per day:
|
25 .c |
|
||||||
26 bank.c |You have exeeded your account balance.
|
26 .c |
|
||||||
27 bank.c |Maximum allowable minutes in bank account is:
|
27 .c |
|
||||||
28 bank.c |You are allowed to deposit:
|
28 .c |
|
||||||
29 bank.c |You have tried to withdraw more than the maximum limit today.
|
29 .c |
|
||||||
30 bank.c |Maximum allowed to withdraw per day:
|
30 .c |
|
||||||
31 bank.c |You have tried to withdraw more time than is in your bank account.
|
31 .c |
|
||||||
32 bank.c |Current bank balance:
|
32 .c |
|
||||||
33 bank.c |Maximum allowed kilobytes to deposit per day:
|
33 .c |
|
||||||
34 bank.c |You have exeeded your account balance.
|
34 .c |
|
||||||
35 bank.c |Maximum allowable kilobytes in bank account is:
|
35 .c |
|
||||||
36 bank.c |How many kilobytes. KBytes available to you is
|
36 .c |
|
||||||
37 newuser.c |MBSE Bulletin Board System - NEW USER REGISTRATION
|
37 newuser.c |MBSE Bulletin Board System - NEW USER REGISTRATION
|
||||||
38 newuser.c |Use this name:
|
38 newuser.c |Use this name:
|
||||||
39 newuser.c |Please enter new password :
|
39 newuser.c |Please enter new password :
|
||||||
@ -105,19 +105,19 @@
|
|||||||
104 safe.c |has cracked the safe.
|
104 safe.c |has cracked the safe.
|
||||||
105 safe.c |The safe will remain locked until the sysop rewards the user.
|
105 safe.c |The safe will remain locked until the sysop rewards the user.
|
||||||
106 safe.c |Maximum trys per day Exceeded!
|
106 safe.c |Maximum trys per day Exceeded!
|
||||||
107 nextuser.c |Message to Nextuser Door
|
107 signature.c |Edit message signature
|
||||||
108 nextuser.c |The FROM, TO and SUBJECT fields are optional.
|
108 .c |The FROM, TO and SUBJECT fields are optional.
|
||||||
109 nextuser.c | From:
|
109 .c | From:
|
||||||
110 nextuser.c | To:
|
110 .c | To:
|
||||||
111 nextuser.c |Subject:
|
111 .c |Subject:
|
||||||
112 nextuser.c | Type up to 10 lines 74 Characters per line
|
112 .c | Type up to 4 lines 74 Characters per line
|
||||||
113 nextuser.c |Functions available:
|
113 signature.c |Functions available:
|
||||||
114 nextuser.c LREAS|(L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave
|
114 signature.c LREAS|(L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave
|
||||||
115 nextuser.c |Select:
|
115 signature.c |Select:
|
||||||
116 nextuser.c file.c |Aborting...
|
116 signature.c file.c |Aborting...
|
||||||
117 nextuser.c |Returning to
|
117 signature.c |Returning to
|
||||||
118 nextuser.c |Edit which line:
|
118 signature.c |Edit which line:
|
||||||
119 nextuser.c |Line does not exist.
|
119 signature.c |Line does not exist.
|
||||||
120 change.c |Old Password:
|
120 change.c |Old Password:
|
||||||
121 change.c |New password:
|
121 change.c |New password:
|
||||||
122 change.c |Confirm new password:
|
122 change.c |Confirm new password:
|
||||||
@ -184,7 +184,7 @@
|
|||||||
183 lineedit.c |Enter line # to insert text before
|
183 lineedit.c |Enter line # to insert text before
|
||||||
184 lineedit.c |List
|
184 lineedit.c |List
|
||||||
185 lineedit.c |Enter line # to replace
|
185 lineedit.c |Enter line # to replace
|
||||||
186 lineedit.c nextuser.c |Line reads:
|
186 lineedit.c signature.c |Line reads:
|
||||||
187 lineedit.c |Unchanged.
|
187 lineedit.c |Unchanged.
|
||||||
188 lineedit.c |Line now reads:
|
188 lineedit.c |Line now reads:
|
||||||
189 lineedit.c mail.c |Quit
|
189 lineedit.c mail.c |Quit
|
||||||
@ -193,8 +193,8 @@
|
|||||||
192 lineedit.c |No
|
192 lineedit.c |No
|
||||||
193 lineedit.c |Text Edit
|
193 lineedit.c |Text Edit
|
||||||
194 lineedit.c |Enter line # to edit
|
194 lineedit.c |Enter line # to edit
|
||||||
195 lineedit.c nextuser.c |Text to replace :
|
195 lineedit.c signature.c |Text to replace :
|
||||||
196 lineedit.c nextuser.c |Replacement text :
|
196 lineedit.c signature.c |Replacement text :
|
||||||
197 lineedit.c |Line now reads:
|
197 lineedit.c |Line now reads:
|
||||||
198 lineedit.c |Save
|
198 lineedit.c |Save
|
||||||
199 filesub.c |Possible VIRUS found!
|
199 filesub.c |Possible VIRUS found!
|
||||||
@ -338,7 +338,7 @@
|
|||||||
337 bbslist.c |seen you have marked a record for deletion.
|
337 bbslist.c |seen you have marked a record for deletion.
|
||||||
338 offline.c |Total messages found:
|
338 offline.c |Total messages found:
|
||||||
339 menu.c |Unknown Menu Command!
|
339 menu.c |Unknown Menu Command!
|
||||||
340 nextuser.c |Saving...
|
340 signature.c |Saving...
|
||||||
341 oneline.c |MBSE BBS Oneliners will randomly appear on the main menu.
|
341 oneline.c |MBSE BBS Oneliners will randomly appear on the main menu.
|
||||||
342 oneline.c |Obscene or libellous oneliners will be deleted!!
|
342 oneline.c |Obscene or libellous oneliners will be deleted!!
|
||||||
343 oneline.c |Please enter your oneliner below. You have 75 characters.
|
343 oneline.c |Please enter your oneliner below. You have 75 characters.
|
||||||
|
@ -105,7 +105,7 @@ JN|Wilt U de kluis openenen ? [J/n]:
|
|||||||
|heeft de kluis grkraakt.
|
|heeft de kluis grkraakt.
|
||||||
|De kluis blijft op slot tot de sysop de gebruiker beloond heeft.
|
|De kluis blijft op slot tot de sysop de gebruiker beloond heeft.
|
||||||
|Maximaal aantal pogingen perdag bereikt!
|
|Maximaal aantal pogingen perdag bereikt!
|
||||||
|Bericht naar volgende gebruiker
|
|Wijzig berichten handtekening
|
||||||
|De VAN, AAN en ONDERWERP velden zijn opties.
|
|De VAN, AAN en ONDERWERP velden zijn opties.
|
||||||
| Van:
|
| Van:
|
||||||
| Aan:
|
| Aan:
|
||||||
|
@ -105,7 +105,7 @@ YN|Do you want to open the safe ? [Y/n]:
|
|||||||
|has cracked the safe.
|
|has cracked the safe.
|
||||||
|The safe will remain locked until the sysop rewards the user.
|
|The safe will remain locked until the sysop rewards the user.
|
||||||
|Maximum trys per day Exceeded!
|
|Maximum trys per day Exceeded!
|
||||||
|Message to Nextuser Door
|
|Edit message signature
|
||||||
|The FROM, TO and SUBJECT fields are optional.
|
|The FROM, TO and SUBJECT fields are optional.
|
||||||
| From:
|
| From:
|
||||||
| To:
|
| To:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: MBSE BBS Global records structure
|
* Purpose ...............: MBSE BBS Global records structure
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2002
|
* Copyright (C) 1997-2003
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -74,9 +74,6 @@ struct msgareas msgs;
|
|||||||
struct _mgrouphdr mgrouphdr; /* Message groups */
|
struct _mgrouphdr mgrouphdr; /* Message groups */
|
||||||
struct _mgroup mgroup;
|
struct _mgroup mgroup;
|
||||||
|
|
||||||
struct timebankhdr bankhdr; /* Timebank structure */
|
|
||||||
struct timebank bank;
|
|
||||||
|
|
||||||
struct languagehdr langhdr; /* Language data */
|
struct languagehdr langhdr; /* Language data */
|
||||||
struct language lang;
|
struct language lang;
|
||||||
struct langdata ldata;
|
struct langdata ldata;
|
||||||
|
@ -615,9 +615,8 @@ struct sysconfig {
|
|||||||
int MsgInputColourF; /* MsgInput Filename Colour */
|
int MsgInputColourF; /* MsgInput Filename Colour */
|
||||||
int MsgInputColourB; /* MsgInput Filename Colour */
|
int MsgInputColourB; /* MsgInput Filename Colour */
|
||||||
|
|
||||||
/* Next User Door */
|
char xNuScreen[50]; /* Obsolete Next User Door */
|
||||||
char sNuScreen[50]; /* Next user txtfile */
|
char xNuQuote[81];
|
||||||
char sNuQuote[81]; /* next user quote */
|
|
||||||
|
|
||||||
/* Safe Cracker Door */
|
/* Safe Cracker Door */
|
||||||
int iSafeFirstDigit; /* Safe Door First Digit */
|
int iSafeFirstDigit; /* Safe Door First Digit */
|
||||||
@ -648,16 +647,15 @@ struct sysconfig {
|
|||||||
/* Mail Options */
|
/* Mail Options */
|
||||||
char xquotestr[11]; /* Quote String */
|
char xquotestr[11]; /* Quote String */
|
||||||
|
|
||||||
/* Time Bank Door */
|
int xMaxTimeBalance; /* Obsolete Time Bank Door */
|
||||||
int iMaxTimeBalance; /* Users Time Balance */
|
int xMaxTimeWithdraw;
|
||||||
int iMaxTimeWithdraw; /* Max Time WithDrawel */
|
int xMaxTimeDeposit;
|
||||||
int iMaxTimeDeposit; /* Max Time Deposit Per day */
|
int xMaxByteBalance;
|
||||||
int iMaxByteBalance; /* Users Time Balance */
|
int xMaxByteWithdraw;
|
||||||
int iMaxByteWithdraw; /* Max Time WithDrawel */
|
int xMaxByteDeposit;
|
||||||
int iMaxByteDeposit; /* Max Time Deposit Per dat */
|
|
||||||
unsigned xNewBytes : 1;
|
unsigned xNewBytes : 1;
|
||||||
char sTimeRatio[7]; /* User Time Ratio,Returned */
|
char xTimeRatio[7];
|
||||||
char sByteRatio[7]; /* User Time Ratio,Returned */
|
char xByteRatio[7];
|
||||||
|
|
||||||
long new_groups; /* Maximum newfiles groups */
|
long new_groups; /* Maximum newfiles groups */
|
||||||
int new_split; /* Split reports at KB. */
|
int new_split; /* Split reports at KB. */
|
||||||
@ -805,6 +803,8 @@ struct sysconfig {
|
|||||||
unsigned ca_Passwd : 1; /* Areamgr: Passwd change */
|
unsigned ca_Passwd : 1; /* Areamgr: Passwd change */
|
||||||
unsigned ca_Pause : 1; /* Areamgr: Allow Pause */
|
unsigned ca_Pause : 1; /* Areamgr: Allow Pause */
|
||||||
unsigned ca_Check : 1; /* Flag for upgrade check */
|
unsigned ca_Check : 1; /* Flag for upgrade check */
|
||||||
|
|
||||||
|
char rulesdir[65]; /* Area rules directory */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -930,27 +930,6 @@ struct msgareas {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* System Bank Control Structure (bank.data)
|
|
||||||
*/
|
|
||||||
struct timebankhdr {
|
|
||||||
long hdrsize; /* Size of header */
|
|
||||||
long recsize; /* Size of records */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct timebank {
|
|
||||||
char Name[36]; /* Account Name */
|
|
||||||
char Date[12]; /* Current Date */
|
|
||||||
int TimeDeposit; /* Time deposited today */
|
|
||||||
int KByteDeposit; /* Bytes deposited today */
|
|
||||||
int TimeWithdraw; /* Time withdrawn today */
|
|
||||||
int KByteWithdraw; /* Bytes withdrawn today */
|
|
||||||
int TimeBalance; /* Current Time Balance */
|
|
||||||
int KByteBalance; /* Current Byte Balance */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Structure for Language file (language.data)
|
* Structure for Language file (language.data)
|
||||||
*/
|
*/
|
||||||
|
@ -4,25 +4,25 @@
|
|||||||
|
|
||||||
include ../Makefile.global
|
include ../Makefile.global
|
||||||
|
|
||||||
SRCS = bank.c filesub.c language.c mbtoberep.c \
|
SRCS = signature.c filesub.c language.c mbtoberep.c \
|
||||||
msgutil.c oneline.c bbslist.c morefile.c \
|
msgutil.c oneline.c bbslist.c morefile.c \
|
||||||
email.c fsedit.c lineedit.c mblang.c mbuser.c page.c \
|
email.c fsedit.c lineedit.c mblang.c mbuser.c page.c \
|
||||||
bye.c funcs.c mail.c \
|
bye.c funcs.c mail.c \
|
||||||
newuser.c pinfo.c timecheck.c change.c \
|
newuser.c pinfo.c timecheck.c change.c \
|
||||||
exitinfo.c mball.c mbsebbs.c menu.c nextuser.c pop3.c lastcallers.c \
|
exitinfo.c mball.c mbsebbs.c menu.c pop3.c lastcallers.c \
|
||||||
safe.c timeout.c chat.c file.c mbchat.c mbstat.c misc.c \
|
safe.c timeout.c chat.c file.c mbchat.c mbstat.c misc.c \
|
||||||
offline.c user.c mbnewusr.c input.c whoson.c \
|
offline.c user.c mbnewusr.c input.c whoson.c \
|
||||||
door.c dispfile.c userlist.c timestats.c logentry.c
|
door.c dispfile.c userlist.c timestats.c logentry.c
|
||||||
HDRS = bank.h filesub.h language.h mbsebbs.h misc.h offline.h \
|
HDRS = signature.h filesub.h language.h mbsebbs.h misc.h offline.h \
|
||||||
timeout.h bbslist.h email.h fsedit.h lineedit.h \
|
timeout.h bbslist.h email.h fsedit.h lineedit.h \
|
||||||
mbstat.h msgutil.h oneline.h user.h bye.h morefile.h \
|
mbstat.h msgutil.h oneline.h user.h bye.h morefile.h \
|
||||||
funcs.h mail.h mbuser.h page.h \
|
funcs.h mail.h mbuser.h page.h \
|
||||||
change.h exitinfo.h mball.h newuser.h \
|
change.h exitinfo.h mball.h newuser.h \
|
||||||
pinfo.h chat.h file.h menu.h \
|
pinfo.h chat.h file.h menu.h \
|
||||||
nextuser.h pop3.h safe.h timecheck.h mbnewusr.h input.h whoson.h \
|
pop3.h safe.h timecheck.h mbnewusr.h input.h whoson.h \
|
||||||
door.h dispfile.h userlist.h timestats.h logentry.h lastcallers.h
|
door.h dispfile.h userlist.h timestats.h logentry.h lastcallers.h
|
||||||
MBSEBBS_OBJS = bank.o bbslist.o chat.o file.o funcs.o mail.o menu.o \
|
MBSEBBS_OBJS = signature.o bbslist.o chat.o file.o funcs.o mail.o menu.o \
|
||||||
misc.o pinfo.o nextuser.o oneline.o page.o fsedit.o \
|
misc.o pinfo.o oneline.o page.o fsedit.o \
|
||||||
bye.o change.o mbsebbs.o safe.o timeout.o user.o timecheck.o \
|
bye.o change.o mbsebbs.o safe.o timeout.o user.o timecheck.o \
|
||||||
exitinfo.o filesub.o lineedit.o offline.o language.o msgutil.o \
|
exitinfo.o filesub.o lineedit.o offline.o language.o msgutil.o \
|
||||||
pop3.o email.o input.o whoson.o door.o dispfile.o userlist.o timestats.o \
|
pop3.o email.o input.o whoson.o door.o dispfile.o userlist.o timestats.o \
|
||||||
@ -134,7 +134,7 @@ depend:
|
|||||||
|
|
||||||
# DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT
|
# DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT
|
||||||
# Dependencies generated by make depend
|
# Dependencies generated by make depend
|
||||||
bank.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h bank.h input.h language.h dispfile.h timeout.h timecheck.h whoson.h exitinfo.h
|
signature.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/ansi.h ../lib/clcomm.h ../lib/common.h signature.h funcs.h input.h language.h timeout.h
|
||||||
filesub.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h filesub.h funcs.h language.h input.h misc.h timeout.h exitinfo.h change.h
|
filesub.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h filesub.h funcs.h language.h input.h misc.h timeout.h exitinfo.h change.h
|
||||||
language.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h input.h language.h
|
language.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h input.h language.h
|
||||||
mbtoberep.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/mberrors.h
|
mbtoberep.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/mberrors.h
|
||||||
@ -158,8 +158,7 @@ change.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/struc
|
|||||||
exitinfo.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h funcs.h input.h language.h oneline.h misc.h bye.h timeout.h timecheck.h exitinfo.h
|
exitinfo.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h funcs.h input.h language.h oneline.h misc.h bye.h timeout.h timecheck.h exitinfo.h
|
||||||
mball.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/mbse.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/dbcfg.h ../lib/clcomm.h ../lib/mberrors.h mball.h
|
mball.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/structs.h ../lib/mbse.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/dbcfg.h ../lib/clcomm.h ../lib/mberrors.h mball.h
|
||||||
mbsebbs.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/msg.h ../lib/mberrors.h mbsebbs.h user.h dispfile.h language.h menu.h misc.h bye.h timeout.h funcs.h
|
mbsebbs.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/msg.h ../lib/mberrors.h mbsebbs.h user.h dispfile.h language.h menu.h misc.h bye.h timeout.h funcs.h
|
||||||
menu.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h oneline.h mail.h bbslist.h change.h bank.h chat.h file.h funcs.h input.h misc.h nextuser.h safe.h timeout.h menu.h page.h pinfo.h bye.h timecheck.h whoson.h language.h offline.h email.h door.h dispfile.h userlist.h timestats.h logentry.h morefile.h lastcallers.h
|
menu.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mberrors.h oneline.h mail.h bbslist.h change.h chat.h file.h funcs.h input.h misc.h safe.h timeout.h menu.h page.h pinfo.h bye.h timecheck.h whoson.h language.h offline.h email.h door.h dispfile.h userlist.h timestats.h logentry.h morefile.h lastcallers.h signature.h
|
||||||
nextuser.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/ansi.h ../lib/clcomm.h ../lib/common.h nextuser.h funcs.h input.h language.h timeout.h
|
|
||||||
pop3.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mbinet.h ../lib/msgtext.h ../lib/msg.h msgutil.h pop3.h
|
pop3.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/mbinet.h ../lib/msgtext.h ../lib/msg.h msgutil.h pop3.h
|
||||||
lastcallers.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h input.h language.h lastcallers.h
|
lastcallers.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h input.h language.h lastcallers.h
|
||||||
safe.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h whoson.h dispfile.h input.h misc.h safe.h timeout.h language.h
|
safe.o: ../config.h ../lib/libs.h ../lib/memwatch.h ../lib/mbse.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h whoson.h dispfile.h input.h misc.h safe.h timeout.h language.h
|
||||||
|
580
mbsebbs/bank.c
580
mbsebbs/bank.c
@ -1,580 +0,0 @@
|
|||||||
/*****************************************************************************
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
* Purpose ...............: Time/Bytes Bank
|
|
||||||
*
|
|
||||||
*****************************************************************************
|
|
||||||
* Copyright (C) 1997-2002
|
|
||||||
*
|
|
||||||
* Michiel Broek FIDO: 2:2801/16
|
|
||||||
* Beekmansbos 10 Internet: mbroek@ux123.pttnwb.nl
|
|
||||||
* 1971 BV IJmuiden
|
|
||||||
* the Netherlands
|
|
||||||
*
|
|
||||||
* This file is part of MBSE BBS.
|
|
||||||
*
|
|
||||||
* This BBS is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2, or (at your option) any
|
|
||||||
* later version.
|
|
||||||
*
|
|
||||||
* MBSE BBS is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with MBSE BBS; see the file COPYING. If not, write to the Free
|
|
||||||
* Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#include "../config.h"
|
|
||||||
#include "../lib/libs.h"
|
|
||||||
#include "../lib/memwatch.h"
|
|
||||||
#include "../lib/mbse.h"
|
|
||||||
#include "../lib/structs.h"
|
|
||||||
#include "../lib/users.h"
|
|
||||||
#include "../lib/records.h"
|
|
||||||
#include "../lib/clcomm.h"
|
|
||||||
#include "../lib/common.h"
|
|
||||||
#include "bank.h"
|
|
||||||
#include "input.h"
|
|
||||||
#include "language.h"
|
|
||||||
#include "dispfile.h"
|
|
||||||
#include "timeout.h"
|
|
||||||
#include "timecheck.h"
|
|
||||||
#include "whoson.h"
|
|
||||||
#include "exitinfo.h"
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* internal function prototypes
|
|
||||||
*/
|
|
||||||
int BankMenu(void);
|
|
||||||
void AddAccount(void);
|
|
||||||
void Deposit(void);
|
|
||||||
void Withdraw(void);
|
|
||||||
void DepositTime(void);
|
|
||||||
void WithdrawTime(void);
|
|
||||||
|
|
||||||
void DepositBytes(void);
|
|
||||||
void WithdrawBytes(void);
|
|
||||||
|
|
||||||
FILE *pBank;
|
|
||||||
int usernum = 0;
|
|
||||||
long bankset;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Timebank, called from the menu system.
|
|
||||||
*/
|
|
||||||
void Bank()
|
|
||||||
{
|
|
||||||
int FoundName = FALSE;
|
|
||||||
int Loop = TRUE;
|
|
||||||
char *temp, temp1[81];
|
|
||||||
|
|
||||||
DisplayFile((char *)"bank");
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
while(Loop) {
|
|
||||||
FoundName = FALSE;
|
|
||||||
usernum = 0;
|
|
||||||
WhosDoingWhat(TIMEBANK);
|
|
||||||
|
|
||||||
sprintf(temp, "%s/etc/bank.data", getenv("MBSE_ROOT"));
|
|
||||||
if ((pBank = fopen(temp, "r+")) == NULL) {
|
|
||||||
/* Create a new database */
|
|
||||||
pBank = fopen(temp, "a+");
|
|
||||||
bankhdr.hdrsize = sizeof(bankhdr);
|
|
||||||
bankhdr.recsize = sizeof(bank);
|
|
||||||
fwrite(&bankhdr, sizeof(bankhdr), 1, pBank);
|
|
||||||
fclose(pBank);
|
|
||||||
chmod(temp, 0660);
|
|
||||||
Syslog('-', "Created %s", temp);
|
|
||||||
AddAccount();
|
|
||||||
if ((pBank = fopen(temp, "r+")) == NULL) {
|
|
||||||
WriteError("Unable to open %s", temp);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fread(&bankhdr, sizeof(bankhdr), 1, pBank);
|
|
||||||
fseek(pBank, bankhdr.hdrsize, 0);
|
|
||||||
while (fread(&bank, bankhdr.recsize, 1, pBank) == 1) {
|
|
||||||
if((strcmp(bank.Name, exitinfo.sUserName)) == 0) {
|
|
||||||
FoundName = TRUE;
|
|
||||||
break;
|
|
||||||
} else
|
|
||||||
usernum++;
|
|
||||||
} /* End of while */
|
|
||||||
|
|
||||||
fclose(pBank);
|
|
||||||
|
|
||||||
if(!FoundName)
|
|
||||||
AddAccount();
|
|
||||||
|
|
||||||
if ((pBank = fopen(temp, "r+")) == NULL)
|
|
||||||
AddAccount();
|
|
||||||
|
|
||||||
bankset = bankhdr.hdrsize + (usernum * bankhdr.recsize);
|
|
||||||
if (fseek(pBank, bankset, 0) != 0)
|
|
||||||
WriteError("Can't move pointer there.");
|
|
||||||
|
|
||||||
fread(&bank, bankhdr.recsize, 1, pBank);
|
|
||||||
|
|
||||||
sprintf(temp1, "%s", (char *) GetDateDMY());
|
|
||||||
if ((strcmp(temp1, bank.Date)) != 0) {
|
|
||||||
bank.TimeWithdraw = 0;
|
|
||||||
bank.KByteWithdraw = 0;
|
|
||||||
bank.TimeDeposit = 0;
|
|
||||||
bank.KByteDeposit = 0;
|
|
||||||
sprintf(bank.Date, "%s", (char *) GetDateDMY());
|
|
||||||
}
|
|
||||||
|
|
||||||
Loop = BankMenu();
|
|
||||||
}
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int BankMenu()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
clear();
|
|
||||||
/* MBSE BBS System Bank */
|
|
||||||
language(4, 7, 11);
|
|
||||||
colour(15, 0);
|
|
||||||
sLine();
|
|
||||||
/* Bank Account: */
|
|
||||||
language(3, 0, 12);
|
|
||||||
poutCR(15, 0, bank.Name);
|
|
||||||
colour(15, 0);
|
|
||||||
sLine();
|
|
||||||
|
|
||||||
/* Time in account */
|
|
||||||
language(10, 0, 13);
|
|
||||||
colour(15, 0);
|
|
||||||
printf("%d\n", bank.TimeBalance);
|
|
||||||
|
|
||||||
/* Bytes in account */
|
|
||||||
language(10, 0, 14);
|
|
||||||
colour(15, 0);
|
|
||||||
printf("%d\n", bank.KByteBalance);
|
|
||||||
|
|
||||||
/* Time deposited today */
|
|
||||||
language(10, 0, 15);
|
|
||||||
colour(15, 0);
|
|
||||||
printf("%d\n", bank.TimeDeposit);
|
|
||||||
|
|
||||||
/* Bytes deposited today */
|
|
||||||
language(10, 0, 16);
|
|
||||||
colour(15, 0);
|
|
||||||
printf("%d\n", bank.KByteDeposit);
|
|
||||||
|
|
||||||
/* Time withdrawn today */
|
|
||||||
language(10, 0, 17);
|
|
||||||
colour(15, 0);
|
|
||||||
printf("%d\n", bank.TimeWithdraw);
|
|
||||||
|
|
||||||
/* Bytes withdrawn today */
|
|
||||||
language(10, 0, 18);
|
|
||||||
colour(15, 0);
|
|
||||||
printf("%d\n", bank.KByteWithdraw);
|
|
||||||
|
|
||||||
colour(15, 0);
|
|
||||||
sLine();
|
|
||||||
TimeCheck();
|
|
||||||
/* (D)eposit, (W)ithdraw, (Q)uit */
|
|
||||||
language(12, 0, 19);
|
|
||||||
Enter(2);
|
|
||||||
|
|
||||||
/* Bank > */
|
|
||||||
language(15, 0, 20);
|
|
||||||
fflush(stdout);
|
|
||||||
|
|
||||||
alarm_on();
|
|
||||||
i = toupper(Getone());
|
|
||||||
|
|
||||||
if (i == Keystroke(19, 0))
|
|
||||||
Deposit();
|
|
||||||
else
|
|
||||||
if (i == Keystroke(19, 1))
|
|
||||||
Withdraw();
|
|
||||||
else
|
|
||||||
if (i == Keystroke(19, 2))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void AddAccount()
|
|
||||||
{
|
|
||||||
char *temp;
|
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
sprintf(temp, "%s/etc/bank.data", getenv("MBSE_ROOT"));
|
|
||||||
|
|
||||||
if ((pBank = fopen(temp, "a+")) == NULL)
|
|
||||||
WriteError("Can't open %s for updating", temp);
|
|
||||||
else {
|
|
||||||
memset(&bank, 0, sizeof(bank));
|
|
||||||
strcpy(bank.Name, exitinfo.sUserName);
|
|
||||||
sprintf(bank.Date, "%s", (char *) GetDateDMY());
|
|
||||||
fwrite(&bank, sizeof(bank), 1, pBank);
|
|
||||||
fclose(pBank);
|
|
||||||
}
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Deposit()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/* (T)ime, (B)ytes, (Q)uit : */
|
|
||||||
language(3, 0, 21);
|
|
||||||
fflush(stdout);
|
|
||||||
|
|
||||||
alarm_on();
|
|
||||||
i = toupper(Getone());
|
|
||||||
|
|
||||||
if (i == Keystroke(21, 0))
|
|
||||||
DepositTime();
|
|
||||||
else
|
|
||||||
if (i == Keystroke(21, 1))
|
|
||||||
DepositBytes();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Withdraw()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/* (T)ime, (B)ytes, (Q)uit : */
|
|
||||||
language(3, 0, 21);
|
|
||||||
fflush(stdout);
|
|
||||||
|
|
||||||
alarm_on();
|
|
||||||
i = toupper(Getone());
|
|
||||||
|
|
||||||
if (i == Keystroke(21, 0))
|
|
||||||
WithdrawTime();
|
|
||||||
else
|
|
||||||
if (i == Keystroke(21, 1))
|
|
||||||
WithdrawBytes();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void DepositTime()
|
|
||||||
{
|
|
||||||
int x;
|
|
||||||
char *temp;
|
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
ReadExitinfo();
|
|
||||||
fflush(stdin);
|
|
||||||
|
|
||||||
if(exitinfo.iTimeLeft <= 5) {
|
|
||||||
Enter(2);
|
|
||||||
/* You must have at least 5 minutes remaining to deposit */
|
|
||||||
language(12, 0, 22);
|
|
||||||
Enter(2);
|
|
||||||
Pause();
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Enter(1);
|
|
||||||
/* How much time. Minutes available to you is */
|
|
||||||
language(15, 0, 23);
|
|
||||||
printf("%d: ", exitinfo.iTimeLeft - 5);
|
|
||||||
colour(CFG.InputColourF, CFG.InputColourB);
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0) {
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
x = atoi(temp);
|
|
||||||
bank.TimeDeposit += x;
|
|
||||||
bank.TimeBalance += x;
|
|
||||||
|
|
||||||
if(bank.TimeDeposit > CFG.iMaxTimeDeposit) {
|
|
||||||
colour(10, 0);
|
|
||||||
Enter(1);
|
|
||||||
/* You have tried to deposit more than the maximum limit today. */
|
|
||||||
language(10, 0, 24);
|
|
||||||
Enter(1);
|
|
||||||
|
|
||||||
/* Maximum allowed minutes to deposit per day: */
|
|
||||||
language(12, 0, 25);
|
|
||||||
printf("%d.\n\n", CFG.iMaxTimeDeposit);
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(bank.TimeBalance > CFG.iMaxTimeBalance) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have exeeded your account balance. */
|
|
||||||
language(10, 0, 26);
|
|
||||||
/* Maximum allowable minutes in bank account is: */
|
|
||||||
language(12, 0, 27);
|
|
||||||
printf("%d\n", CFG.iMaxTimeBalance);
|
|
||||||
/* You are allowed to deposit: */
|
|
||||||
language(14, 0, 28);
|
|
||||||
printf("%d\n\n", CFG.iMaxTimeBalance - (bank.TimeBalance - x) );
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Time2Go -= (x * 60);
|
|
||||||
TimeCheck();
|
|
||||||
|
|
||||||
bankset = bankhdr.hdrsize + (usernum * bankhdr.recsize);
|
|
||||||
if(fseek(pBank, bankset, 0) != 0)
|
|
||||||
WriteError("Can't move pointer there.");
|
|
||||||
|
|
||||||
fwrite(&bank, sizeof(bank), 1, pBank);
|
|
||||||
fclose(pBank);
|
|
||||||
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void WithdrawTime()
|
|
||||||
{
|
|
||||||
char *temp;
|
|
||||||
int x;
|
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
ReadExitinfo();
|
|
||||||
|
|
||||||
/* How much time. Minutes available to you is */
|
|
||||||
Enter(1);
|
|
||||||
language(15, 0, 23);
|
|
||||||
printf("%d: ", bank.TimeBalance);
|
|
||||||
colour(CFG.InputColourF, CFG.InputColourB);
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0) {
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
x = atoi(temp);
|
|
||||||
|
|
||||||
bank.TimeWithdraw += x;
|
|
||||||
bank.TimeBalance -= x;
|
|
||||||
|
|
||||||
if(bank.TimeWithdraw > CFG.iMaxTimeWithdraw) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have tried to withdraw more than the maximum limit today. */
|
|
||||||
language(10, 0, 29);
|
|
||||||
/* Maximum allowed to withdraw per day: */
|
|
||||||
language(12, 0, 30);
|
|
||||||
printf("%d.\n\n", CFG.iMaxTimeWithdraw);
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(x > bank.TimeBalance + x) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have tried to withdraw more time than is in your bank account. */
|
|
||||||
language(10, 0, 31);
|
|
||||||
/* Current bank balance: */
|
|
||||||
language(10, 0, 32);
|
|
||||||
printf("%d.\n\n", bank.TimeBalance + x);
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Time2Go += (x * 60);
|
|
||||||
TimeCheck();
|
|
||||||
|
|
||||||
bankset = bankhdr.hdrsize + (usernum * bankhdr.recsize);
|
|
||||||
|
|
||||||
if(fseek(pBank, bankset, 0) != 0)
|
|
||||||
WriteError("Can't move pointer there.");
|
|
||||||
|
|
||||||
fwrite(&bank, sizeof(bank), 1, pBank);
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void DepositBytes()
|
|
||||||
{
|
|
||||||
char *temp;
|
|
||||||
int x;
|
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
ReadExitinfo();
|
|
||||||
|
|
||||||
if(exitinfo.DownloadKToday <= 5) {
|
|
||||||
Enter(2);
|
|
||||||
/* You must have at least 5 bytes remaining to deposit */
|
|
||||||
language(12, 0, 22);
|
|
||||||
Enter(2);
|
|
||||||
Pause();
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Enter(1);
|
|
||||||
/* Bytes available: */
|
|
||||||
language(15, 0, 36);
|
|
||||||
printf("%lu: ", exitinfo.DownloadKToday);
|
|
||||||
colour(CFG.InputColourF, CFG.InputColourB);
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0) {
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
x = atoi(temp);
|
|
||||||
bank.KByteDeposit += x;
|
|
||||||
bank.KByteBalance += x;
|
|
||||||
|
|
||||||
if(bank.KByteDeposit > CFG.iMaxByteDeposit * 1000) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have tried to deposit more than the maximum limit today. */
|
|
||||||
language(10, 0, 25);
|
|
||||||
Enter(1);
|
|
||||||
colour(12, 0);
|
|
||||||
/* Maximum allowed kilobytes to deposit per day: */
|
|
||||||
language(12, 0, 33);
|
|
||||||
printf("%d.\n\n", CFG.iMaxByteDeposit);
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(bank.KByteBalance > CFG.iMaxByteBalance * 1000) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have exeeded your account balance. */
|
|
||||||
language(10, 0, 34);
|
|
||||||
Enter(1);
|
|
||||||
/* Maximum allowable kilobytes in bank account is: */
|
|
||||||
language(12, 0, 35);
|
|
||||||
printf("%d\n", CFG.iMaxByteBalance);
|
|
||||||
colour(14, 0);
|
|
||||||
/* You are allowed to deposit: */
|
|
||||||
language(14, 0, 28);
|
|
||||||
printf("%d\n\n", CFG.iMaxByteBalance - (bank.KByteBalance - x) );
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
exitinfo.DownloadKToday -= x;
|
|
||||||
WriteExitinfo();
|
|
||||||
|
|
||||||
bankset = bankhdr.hdrsize + (usernum * bankhdr.recsize);
|
|
||||||
|
|
||||||
if(fseek(pBank, bankset, 0) != 0)
|
|
||||||
WriteError("Can't move pointer there.");
|
|
||||||
|
|
||||||
fwrite(&bank, sizeof(bank), 1, pBank);
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void WithdrawBytes()
|
|
||||||
{
|
|
||||||
char *temp;
|
|
||||||
int x;
|
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
ReadExitinfo();
|
|
||||||
|
|
||||||
Enter(1);
|
|
||||||
/* How many bytes. Bytes available to you is */
|
|
||||||
language(15, 0, 36);
|
|
||||||
printf("%d: ", bank.KByteBalance);
|
|
||||||
colour(CFG.InputColourF, CFG.InputColourB);
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0) {
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
x = atoi(temp);
|
|
||||||
bank.KByteWithdraw += x;
|
|
||||||
bank.KByteBalance -= x;
|
|
||||||
|
|
||||||
if(bank.KByteWithdraw > CFG.iMaxByteWithdraw * 1000) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have tried to withdraw more than the maximum limit today. */
|
|
||||||
language(10, 0, 29);
|
|
||||||
Enter(1);
|
|
||||||
colour(12, 0);
|
|
||||||
/* Maximum allowed to withdraw per day: */
|
|
||||||
language(12, 0, 30);
|
|
||||||
printf("%d bytes.\n\n", CFG.iMaxByteWithdraw);
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(x > bank.KByteBalance + x) {
|
|
||||||
Enter(1);
|
|
||||||
/* You have tried to withdraw more time than is in your bank account. */
|
|
||||||
language(10, 0, 31);
|
|
||||||
Enter(1);
|
|
||||||
colour(12, 0);
|
|
||||||
/* Current bank balance: */
|
|
||||||
language(12, 0, 32);
|
|
||||||
printf("%d.\n\n", bank.KByteBalance + x);
|
|
||||||
Pause();
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
exitinfo.DownloadKToday += x;
|
|
||||||
WriteExitinfo();
|
|
||||||
|
|
||||||
bankset = bankhdr.hdrsize + (usernum * bankhdr.recsize);
|
|
||||||
|
|
||||||
if(fseek(pBank, bankset, 0) != 0)
|
|
||||||
WriteError("Can't move pointer there.");
|
|
||||||
|
|
||||||
fwrite(&bank, sizeof(bank), 1, pBank);
|
|
||||||
fclose(pBank);
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
#ifndef _BANK_H
|
|
||||||
#define _BANK_H
|
|
||||||
|
|
||||||
void Bank(void);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -763,8 +763,8 @@ char *GetFileType(char *fn)
|
|||||||
int ImportFile(char *fn, int Area, int fileid, time_t iTime, off_t Size)
|
int ImportFile(char *fn, int Area, int fileid, time_t iTime, off_t Size)
|
||||||
{
|
{
|
||||||
char *temp, *temp1;
|
char *temp, *temp1;
|
||||||
int i, x;
|
// int i, x;
|
||||||
char *token;
|
// char *token;
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
temp = calloc(PATH_MAX, sizeof(char));
|
||||||
temp1 = calloc(PATH_MAX, sizeof(char));
|
temp1 = calloc(PATH_MAX, sizeof(char));
|
||||||
@ -794,12 +794,12 @@ int ImportFile(char *fn, int Area, int fileid, time_t iTime, off_t Size)
|
|||||||
* Give back the user his bytes from the upload
|
* Give back the user his bytes from the upload
|
||||||
* Work out byte ratio, then give time back to user
|
* Work out byte ratio, then give time back to user
|
||||||
*/
|
*/
|
||||||
strcpy(temp, CFG.sByteRatio);
|
// strcpy(temp, CFG.sByteRatio);
|
||||||
token = strtok(temp, ":");
|
// token = strtok(temp, ":");
|
||||||
i = atoi(token);
|
// i = atoi(token);
|
||||||
token = strtok(NULL, "\0");
|
// token = strtok(NULL, "\0");
|
||||||
x = atoi(token);
|
// x = atoi(token);
|
||||||
Size *= i / x;
|
// Size *= i / x;
|
||||||
/* You have */ /* extra download KBytes. */
|
/* You have */ /* extra download KBytes. */
|
||||||
printf("%s %ld %s\n", (char *) Language(249), (long)(Size / 1024), (char *) Language(250));
|
printf("%s %ld %s\n", (char *) Language(249), (long)(Size / 1024), (char *) Language(250));
|
||||||
|
|
||||||
@ -812,13 +812,13 @@ int ImportFile(char *fn, int Area, int fileid, time_t iTime, off_t Size)
|
|||||||
* Work out time ratio, then give time back to user
|
* Work out time ratio, then give time back to user
|
||||||
* Ratio 3:1, Upload time: times by 3 / 1
|
* Ratio 3:1, Upload time: times by 3 / 1
|
||||||
*/
|
*/
|
||||||
strcpy(temp, CFG.sTimeRatio);
|
// strcpy(temp, CFG.sTimeRatio);
|
||||||
token = strtok(temp, ":");
|
// token = strtok(temp, ":");
|
||||||
i = atoi(token);
|
// i = atoi(token);
|
||||||
token = strtok(NULL, "\0");
|
// token = strtok(NULL, "\0");
|
||||||
x = atoi(token);
|
// x = atoi(token);
|
||||||
|
|
||||||
iTime *= i / x;
|
// iTime *= i / x;
|
||||||
iTime /= 60; /* Divide Seconds by 60 to give minutes */
|
iTime /= 60; /* Divide Seconds by 60 to give minutes */
|
||||||
/* You have */ /* extra minutes. */
|
/* You have */ /* extra minutes. */
|
||||||
printf("%s %ld %s\n", (char *) Language(249), iTime, (char *) Language(259));
|
printf("%s %ld %s\n", (char *) Language(249), iTime, (char *) Language(259));
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Display and handle the menus.
|
* Purpose ...............: Display and handle the menus.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2002
|
* Copyright (C) 1997-2003
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -42,13 +42,11 @@
|
|||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
#include "bbslist.h"
|
#include "bbslist.h"
|
||||||
#include "change.h"
|
#include "change.h"
|
||||||
#include "bank.h"
|
|
||||||
#include "chat.h"
|
#include "chat.h"
|
||||||
#include "file.h"
|
#include "file.h"
|
||||||
#include "funcs.h"
|
#include "funcs.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "nextuser.h"
|
|
||||||
#include "safe.h"
|
#include "safe.h"
|
||||||
#include "timeout.h"
|
#include "timeout.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -67,6 +65,7 @@
|
|||||||
#include "logentry.h"
|
#include "logentry.h"
|
||||||
#include "morefile.h"
|
#include "morefile.h"
|
||||||
#include "lastcallers.h"
|
#include "lastcallers.h"
|
||||||
|
#include "signature.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -419,19 +418,7 @@ void DoMenu(int Type)
|
|||||||
/* display menuline only */
|
/* display menuline only */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 22:
|
/* Menus 22, 23 and 24 were obsolete doors */
|
||||||
/* nextuser door */
|
|
||||||
nextuser();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 23:
|
|
||||||
/* timebank door */
|
|
||||||
Bank();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 24:
|
|
||||||
/* voting door Not anymore */
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 25:
|
case 25:
|
||||||
/* safe cracker door */
|
/* safe cracker door */
|
||||||
@ -661,6 +648,10 @@ void DoMenu(int Type)
|
|||||||
Chg_Address();
|
Chg_Address();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 319:
|
||||||
|
signature();
|
||||||
|
break;
|
||||||
|
|
||||||
case 401:
|
case 401:
|
||||||
Oneliner_Add();
|
Oneliner_Add();
|
||||||
break;
|
break;
|
||||||
|
@ -1,362 +0,0 @@
|
|||||||
/*****************************************************************************
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
* Purpose ...............: Message to next User door
|
|
||||||
*
|
|
||||||
*****************************************************************************
|
|
||||||
* Copyright (C) 1997-2002
|
|
||||||
*
|
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
|
||||||
* Beekmansbos 10
|
|
||||||
* 1971 BV IJmuiden
|
|
||||||
* the Netherlands
|
|
||||||
*
|
|
||||||
* This file is part of MBSE BBS.
|
|
||||||
*
|
|
||||||
* This BBS is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the
|
|
||||||
* Free Software Foundation; either version 2, or (at your option) any
|
|
||||||
* later version.
|
|
||||||
*
|
|
||||||
* MBSE BBS is distributed in the hope that it will be useful, but
|
|
||||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with MBSE BBS; see the file COPYING. If not, write to the Free
|
|
||||||
* Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#include "../config.h"
|
|
||||||
#include "../lib/libs.h"
|
|
||||||
#include "../lib/memwatch.h"
|
|
||||||
#include "../lib/mbse.h"
|
|
||||||
#include "../lib/structs.h"
|
|
||||||
#include "../lib/users.h"
|
|
||||||
#include "../lib/records.h"
|
|
||||||
#include "../lib/ansi.h"
|
|
||||||
#include "../lib/clcomm.h"
|
|
||||||
#include "../lib/common.h"
|
|
||||||
#include "nextuser.h"
|
|
||||||
#include "funcs.h"
|
|
||||||
#include "input.h"
|
|
||||||
#include "language.h"
|
|
||||||
#include "timeout.h"
|
|
||||||
|
|
||||||
|
|
||||||
int iLoop, iLine = 1;
|
|
||||||
|
|
||||||
char sFrom[81];
|
|
||||||
char To[81];
|
|
||||||
char Subject[81];
|
|
||||||
|
|
||||||
int finish(void);
|
|
||||||
void addlines(void);
|
|
||||||
|
|
||||||
char *sLiNE[11];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void nextuser(void)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < 11; i++)
|
|
||||||
*(sLiNE + i) = (char *) calloc(81, sizeof(char));
|
|
||||||
|
|
||||||
addlines();
|
|
||||||
while (TRUE) {
|
|
||||||
if (finish() == TRUE)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < 11; i++)
|
|
||||||
free(*(sLiNE + i));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void addlines(void)
|
|
||||||
{
|
|
||||||
iLine = 1;
|
|
||||||
clear();
|
|
||||||
|
|
||||||
/* Message to Nextuser Door */
|
|
||||||
pout(15, 0, (char *) Language(107));
|
|
||||||
Enter(2);
|
|
||||||
|
|
||||||
Syslog('+', "%s ran Nextuser Door", exitinfo.sUserName);
|
|
||||||
|
|
||||||
/* The FROM, TO and SUBJECT fields are optional. */
|
|
||||||
pout(14, 0, (char *) Language(108));
|
|
||||||
Enter(1);
|
|
||||||
|
|
||||||
Enter(1);
|
|
||||||
/* From: */
|
|
||||||
pout(12, 0, (char *) Language(109));
|
|
||||||
colour(9, 0);
|
|
||||||
fflush(stdout);
|
|
||||||
Getname(sFrom, 50);
|
|
||||||
|
|
||||||
/* To: */
|
|
||||||
pout(12, 0, (char *) Language(110));
|
|
||||||
colour(9, 0);
|
|
||||||
fflush(stdout);
|
|
||||||
Getname(To, 50);
|
|
||||||
|
|
||||||
/* Subject: */
|
|
||||||
pout(12, 0, (char *) Language(111));
|
|
||||||
colour(9, 0);
|
|
||||||
fflush(stdout);
|
|
||||||
GetstrC(Subject, 80);
|
|
||||||
|
|
||||||
Enter(2);
|
|
||||||
/* Type up to 10 lines 74 Characters per line */
|
|
||||||
pout(10 , 0, (char *) Language(112));
|
|
||||||
Enter(1);
|
|
||||||
|
|
||||||
colour(14, 0);
|
|
||||||
printf(" Õ");
|
|
||||||
for(iLoop = 0; iLoop <= 75; iLoop++)
|
|
||||||
printf("Í");
|
|
||||||
printf("¸");
|
|
||||||
|
|
||||||
while (1) {
|
|
||||||
colour(12, 0);
|
|
||||||
printf("%d: ", iLine);
|
|
||||||
colour(9, 0);
|
|
||||||
fflush(stdout);
|
|
||||||
GetstrC(*(sLiNE + iLine), 75);
|
|
||||||
|
|
||||||
if ((strcmp(*(sLiNE + iLine), "")) == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
iLine++;
|
|
||||||
if(iLine >= 11)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
pout(14, 0, (char *)" Ô");
|
|
||||||
for(iLoop = 0; iLoop <= 75; iLoop++)
|
|
||||||
printf("Í");
|
|
||||||
printf("¾");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Save Abort File */
|
|
||||||
int finish(void)
|
|
||||||
{
|
|
||||||
FILE *pTextFileANS, *pTextFileASC;
|
|
||||||
int iStrLen, i, x, NLChk = FALSE;
|
|
||||||
char *temp, *temp1;
|
|
||||||
|
|
||||||
temp = calloc(PATH_MAX, sizeof(char));
|
|
||||||
temp1 = calloc(PATH_MAX, sizeof(char));
|
|
||||||
|
|
||||||
while (TRUE) {
|
|
||||||
Enter(1);
|
|
||||||
poutCR(15, 0, (char *) Language(113));
|
|
||||||
Enter(1);
|
|
||||||
/* (L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave */
|
|
||||||
pout(15, 1, (char *) Language(114));
|
|
||||||
Enter(2);
|
|
||||||
|
|
||||||
/* Select: */
|
|
||||||
pout(15, 0, (char *) Language(115));
|
|
||||||
|
|
||||||
fflush(stdout);
|
|
||||||
|
|
||||||
alarm_on();
|
|
||||||
i = toupper(Getone());
|
|
||||||
|
|
||||||
if (i == Keystroke(114, 3)) {
|
|
||||||
/* Aborting... */
|
|
||||||
pout(15, 0, (char *) Language(116));
|
|
||||||
Enter(1);
|
|
||||||
Enter(1);
|
|
||||||
pout(15, 0, (char *) Language(117));
|
|
||||||
poutCR(15, 0, CFG.bbs_name);
|
|
||||||
sleep(2);
|
|
||||||
Syslog('+', "User aborted message and exited door");
|
|
||||||
free(temp);
|
|
||||||
free(temp1);
|
|
||||||
return TRUE;
|
|
||||||
} else
|
|
||||||
|
|
||||||
if (i == Keystroke(114, 2)) {
|
|
||||||
/* Edit which line: */
|
|
||||||
printf("\n %s", (char *) Language(118));
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0)
|
|
||||||
break;
|
|
||||||
|
|
||||||
i = atoi(temp);
|
|
||||||
if( i > iLine - 1) {
|
|
||||||
/* Line does not exist. */
|
|
||||||
printf("%s\n", (char *) Language(119));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
x = strlen(sLiNE[i]);
|
|
||||||
printf("%d : %s", i, *(sLiNE + i));
|
|
||||||
fflush(stdout);
|
|
||||||
GetstrP(sLiNE[i],74, x);
|
|
||||||
} else
|
|
||||||
|
|
||||||
if (i == Keystroke(114, 0)) {
|
|
||||||
colour(14, 0);
|
|
||||||
printf("\n\n Õ");
|
|
||||||
for (iLoop = 0; iLoop <= 75; iLoop++)
|
|
||||||
printf("Í");
|
|
||||||
printf("¸");
|
|
||||||
|
|
||||||
for(i = 1; i < iLine; i++) {
|
|
||||||
colour(12, 0);
|
|
||||||
printf("%d: ", i);
|
|
||||||
colour(9, 0);
|
|
||||||
printf("%s\n", *(sLiNE + i));
|
|
||||||
}
|
|
||||||
|
|
||||||
colour(14, 0);
|
|
||||||
printf(" Ô");
|
|
||||||
for (iLoop = 0; iLoop <= 75; iLoop++)
|
|
||||||
printf("Í");
|
|
||||||
printf("¾\n");
|
|
||||||
} else
|
|
||||||
|
|
||||||
if (i == Keystroke(114, 4)) {
|
|
||||||
/* Open TextFile for Writing NextUser Info */
|
|
||||||
sprintf(temp, "%s/%s.ans", CFG.bbs_txtfiles, CFG.sNuScreen);
|
|
||||||
sprintf(temp1, "%s/%s.ans.bak", CFG.bbs_txtfiles, CFG.sNuScreen);
|
|
||||||
rename(temp, temp1);
|
|
||||||
|
|
||||||
if((pTextFileANS = fopen(temp, "w")) == NULL) {
|
|
||||||
perror("");
|
|
||||||
WriteError("NextUser: Can't open file: %s", temp);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
sprintf(temp, "%s/%s.asc", CFG.bbs_txtfiles, CFG.sNuScreen);
|
|
||||||
if(( pTextFileASC = fopen(temp, "w")) == NULL) {
|
|
||||||
perror("");
|
|
||||||
WriteError("NextUser: Can't open file: %s", temp);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(pTextFileANS,"%s%s%s%s",ANSI_CLEAR,ANSI_NORMAL,ANSI_WHITE,ANSI_BOLD);
|
|
||||||
|
|
||||||
if((iStrLen = strlen(sFrom)) > 1) {
|
|
||||||
fprintf(pTextFileANS,"%s\x1B[1;4HFrom:%s %s\n",ANSI_RED,ANSI_BLUE,sFrom);
|
|
||||||
fprintf(pTextFileASC,"\n From: %s\n", sFrom);
|
|
||||||
Syslog('+', " From: %s", sFrom);
|
|
||||||
NLChk = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if((iStrLen = strlen(To)) > 1) {
|
|
||||||
fprintf(pTextFileANS,"%s\x1B[2;6HTo:%s %s\n",ANSI_RED,ANSI_BLUE,To);
|
|
||||||
fprintf(pTextFileASC," To: %s\n", To);
|
|
||||||
Syslog('+', " To: %s", To);
|
|
||||||
NLChk = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if((iStrLen = strlen(Subject)) > 1) {
|
|
||||||
fprintf(pTextFileANS,"%sSubject:%s %s\n\n",ANSI_RED,ANSI_BLUE,Subject);
|
|
||||||
fprintf(pTextFileASC,"Subject: %s\n\n", Subject);
|
|
||||||
Syslog('+', "Subject: %s", Subject);
|
|
||||||
NLChk = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!NLChk) {
|
|
||||||
fprintf(pTextFileANS, "\n");
|
|
||||||
fprintf(pTextFileASC, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(pTextFileANS,"%sÕ",ANSI_YELLOW);
|
|
||||||
for(iLoop = 0; iLoop <= 75; iLoop++) {
|
|
||||||
fprintf(pTextFileANS,"Í");
|
|
||||||
fprintf(pTextFileASC,"=");
|
|
||||||
}
|
|
||||||
fprintf(pTextFileANS,"¸\n");
|
|
||||||
fprintf(pTextFileASC,"\n");
|
|
||||||
|
|
||||||
for(i = 0; i < iLine; i++) {
|
|
||||||
if((iStrLen = strlen( *(sLiNE + i) )) > 0) {
|
|
||||||
fprintf(pTextFileANS," %s%s\n",ANSI_BLUE, *(sLiNE + i));
|
|
||||||
fprintf(pTextFileASC," %s\n", *(sLiNE + i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Enter(2);
|
|
||||||
pout(12, 0, (char *) Language(340));
|
|
||||||
fprintf(pTextFileANS,"%sÔ",ANSI_YELLOW);
|
|
||||||
for(iLoop = 0; iLoop <= 75; iLoop++) {
|
|
||||||
fprintf(pTextFileANS,"Í");
|
|
||||||
fprintf(pTextFileASC,"=");
|
|
||||||
}
|
|
||||||
fprintf(pTextFileANS,"¾\n");
|
|
||||||
fprintf(pTextFileASC,"\n");
|
|
||||||
|
|
||||||
fprintf(pTextFileANS,"%s%s",ANSI_RED,CFG.sNuQuote);
|
|
||||||
fprintf(pTextFileASC,"%s", CFG.sNuQuote);
|
|
||||||
|
|
||||||
fclose(pTextFileANS);
|
|
||||||
fclose(pTextFileASC);
|
|
||||||
colour(9, 0);
|
|
||||||
/* Returning to */
|
|
||||||
printf("\n%s%s\n", (char *) Language(117), CFG.bbs_name);
|
|
||||||
|
|
||||||
Syslog('+', "User Saved Nextuser message and exited door");
|
|
||||||
free(temp);
|
|
||||||
free(temp1);
|
|
||||||
return TRUE;
|
|
||||||
} else
|
|
||||||
|
|
||||||
if (i == Keystroke(114, 1)) {
|
|
||||||
/* Edit which line: */
|
|
||||||
colour(15, 0);
|
|
||||||
printf("\n%s", (char *) Language(118));
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0)
|
|
||||||
break;
|
|
||||||
|
|
||||||
i = atoi(temp);
|
|
||||||
|
|
||||||
if( i > iLine - 1) {
|
|
||||||
/* Line does not exist. */
|
|
||||||
printf("\n%s", (char *) Language(119));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
Enter(1);
|
|
||||||
/* Line reads: */
|
|
||||||
colour(15, 0);
|
|
||||||
poutCR(15, 0, (char *) Language(186));
|
|
||||||
printf("%2d: %s\n", i, *(sLiNE + i));
|
|
||||||
|
|
||||||
Enter(1);
|
|
||||||
/* Text to replace: */
|
|
||||||
pout(15, 0, (char *) Language(195));
|
|
||||||
GetstrC(temp, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp, "")) == 0)
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* Replacement text: */
|
|
||||||
pout(15, 0, (char *) Language(196));
|
|
||||||
GetstrC(temp1, 80);
|
|
||||||
|
|
||||||
if((strcmp(temp1, "")) == 0)
|
|
||||||
break;
|
|
||||||
|
|
||||||
strreplace(*(sLiNE + i), temp, temp1);
|
|
||||||
} else
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
free(temp);
|
|
||||||
free(temp1);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
#ifndef _NEXTUSER_H
|
|
||||||
#define _NEXTUSER_H
|
|
||||||
|
|
||||||
void nextuser(void);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
307
mbsebbs/signature.c
Normal file
307
mbsebbs/signature.c
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
/*****************************************************************************
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
* Purpose ...............: Edit message signature.
|
||||||
|
*
|
||||||
|
*****************************************************************************
|
||||||
|
* Copyright (C) 1997-2003
|
||||||
|
*
|
||||||
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
|
* Beekmansbos 10
|
||||||
|
* 1971 BV IJmuiden
|
||||||
|
* the Netherlands
|
||||||
|
*
|
||||||
|
* This file is part of MBSE BBS.
|
||||||
|
*
|
||||||
|
* This BBS is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation; either version 2, or (at your option) any
|
||||||
|
* later version.
|
||||||
|
*
|
||||||
|
* MBSE BBS is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with MBSE BBS; see the file COPYING. If not, write to the Free
|
||||||
|
* Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#include "../config.h"
|
||||||
|
#include "../lib/libs.h"
|
||||||
|
#include "../lib/memwatch.h"
|
||||||
|
#include "../lib/mbse.h"
|
||||||
|
#include "../lib/structs.h"
|
||||||
|
#include "../lib/users.h"
|
||||||
|
#include "../lib/records.h"
|
||||||
|
#include "../lib/ansi.h"
|
||||||
|
#include "../lib/clcomm.h"
|
||||||
|
#include "../lib/common.h"
|
||||||
|
#include "signature.h"
|
||||||
|
#include "funcs.h"
|
||||||
|
#include "input.h"
|
||||||
|
#include "language.h"
|
||||||
|
#include "timeout.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define MAXSIGLINES 4
|
||||||
|
#define LENSIGLINES 74
|
||||||
|
|
||||||
|
char sLiNE[MAXSIGLINES+1][LENSIGLINES+1]; /* Edit buffer */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Internal prototypes
|
||||||
|
*/
|
||||||
|
int editsignature(void);
|
||||||
|
int loadsignature(void);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Edit signature file, called by menu 319
|
||||||
|
*/
|
||||||
|
void signature(void)
|
||||||
|
{
|
||||||
|
memset(&sLiNE, 0, sizeof(sLiNE));
|
||||||
|
|
||||||
|
if (loadsignature()) {
|
||||||
|
while (TRUE) {
|
||||||
|
if (editsignature() == TRUE)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Enter(2);
|
||||||
|
/* Returning to */
|
||||||
|
pout(CFG.MoreF, CFG.MoreB, (char *) Language(117));
|
||||||
|
poutCR(CFG.MoreF, CFG.MoreB, CFG.bbs_name);
|
||||||
|
sleep(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void toprow(void);
|
||||||
|
void toprow(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
pout(YELLOW, BLACK, (char *)" Õ");
|
||||||
|
for (i = 0; i < LENSIGLINES; i++)
|
||||||
|
printf("Í");
|
||||||
|
printf("¸\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void botrow(void);
|
||||||
|
void botrow(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
pout(YELLOW, BLACK, (char *)" Ô");
|
||||||
|
for (i = 0; i < LENSIGLINES; i++)
|
||||||
|
printf("Í");
|
||||||
|
printf("¾\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Load signature file in memory for editing.
|
||||||
|
*/
|
||||||
|
int loadsignature(void)
|
||||||
|
{
|
||||||
|
char *temp;
|
||||||
|
FILE *fp;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
temp = calloc(PATH_MAX, sizeof(char));
|
||||||
|
sprintf(temp, "%s/%s/.signature", CFG.bbs_usersdir, exitinfo.Name);
|
||||||
|
|
||||||
|
if ((fp = fopen(temp, "r")) == NULL) {
|
||||||
|
WriteError("$Can't load %s", temp);
|
||||||
|
free(temp);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
clear();
|
||||||
|
|
||||||
|
/* Edit message signature */
|
||||||
|
pout(WHITE, BLACK, (char *) Language(107));
|
||||||
|
Enter(2);
|
||||||
|
|
||||||
|
Syslog('+', "%s will edit his .signature", exitinfo.sUserName);
|
||||||
|
|
||||||
|
i = 0;
|
||||||
|
while (fgets(temp, LENSIGLINES+1, fp)) {
|
||||||
|
Striplf(temp);
|
||||||
|
strcpy(sLiNE[i], temp);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
free(temp);
|
||||||
|
|
||||||
|
toprow();
|
||||||
|
for (i = 0; i < MAXSIGLINES; i++) {
|
||||||
|
colour(LIGHTRED, BLACK);
|
||||||
|
printf("%d:", i+1);
|
||||||
|
colour(CFG.MoreF, CFG.MoreB);
|
||||||
|
printf("%s\n", sLiNE[i]);
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
|
botrow();
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Edit signature file with a simple line editor.
|
||||||
|
*/
|
||||||
|
int editsignature(void)
|
||||||
|
{
|
||||||
|
FILE *fp;
|
||||||
|
int i, x;
|
||||||
|
char *temp, *temp1;
|
||||||
|
|
||||||
|
temp = calloc(PATH_MAX, sizeof(char));
|
||||||
|
temp1 = calloc(PATH_MAX, sizeof(char));
|
||||||
|
sprintf(temp, "%s/%s/.signature", CFG.bbs_usersdir, exitinfo.Name);
|
||||||
|
|
||||||
|
while (TRUE) {
|
||||||
|
Enter(1);
|
||||||
|
/* Functions available: */
|
||||||
|
poutCR(CFG.HiliteF, CFG.HiliteB, (char *) Language(113));
|
||||||
|
Enter(1);
|
||||||
|
/* (L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave */
|
||||||
|
pout(YELLOW, RED, (char *) Language(114));
|
||||||
|
Enter(2);
|
||||||
|
|
||||||
|
/* Select: */
|
||||||
|
pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(115));
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
alarm_on();
|
||||||
|
i = toupper(Getone());
|
||||||
|
Enter(1);
|
||||||
|
|
||||||
|
if (i == Keystroke(114, 3)) {
|
||||||
|
/* Aborting... */
|
||||||
|
pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(116));
|
||||||
|
Syslog('+', "User aborted .signature editor");
|
||||||
|
free(temp);
|
||||||
|
free(temp1);
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
} else if (i == Keystroke(114, 2)) {
|
||||||
|
/* Edit which line: */
|
||||||
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
|
printf("\n %s", (char *) Language(118));
|
||||||
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
|
GetstrC(temp, 3);
|
||||||
|
|
||||||
|
if ((strcmp(temp, "")) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
i = atoi(temp);
|
||||||
|
if ((i < 1) || (i > MAXSIGLINES)) {
|
||||||
|
/* Line does not exist. */
|
||||||
|
printf("%s\n", (char *) Language(119));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
x = strlen(sLiNE[i-1]);
|
||||||
|
colour(LIGHTRED, BLACK);
|
||||||
|
printf("%d:", i);
|
||||||
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
|
printf("%s", sLiNE[i-1]);
|
||||||
|
fflush(stdout);
|
||||||
|
GetstrP(sLiNE[i-1], LENSIGLINES-1, x);
|
||||||
|
|
||||||
|
} else if (i == Keystroke(114, 0)) {
|
||||||
|
/* List lines */
|
||||||
|
toprow();
|
||||||
|
for (i = 0; i < MAXSIGLINES; i++) {
|
||||||
|
colour(LIGHTRED, BLACK);
|
||||||
|
printf("%d:", i+1);
|
||||||
|
colour(CFG.MoreF, CFG.MoreB);
|
||||||
|
printf("%s\n", sLiNE[i]);
|
||||||
|
}
|
||||||
|
botrow();
|
||||||
|
|
||||||
|
} else if (i == Keystroke(114, 4)) {
|
||||||
|
Enter(1);
|
||||||
|
/* Saving... */
|
||||||
|
pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(340));
|
||||||
|
|
||||||
|
/* Open TextFile for Writing NextUser Info */
|
||||||
|
sprintf(temp, "%s/%s/.signature", CFG.bbs_usersdir, exitinfo.Name);
|
||||||
|
if ((fp = fopen(temp, "w")) == NULL) {
|
||||||
|
WriteError("$Can't open %s", temp);
|
||||||
|
free(temp);
|
||||||
|
free(temp1);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
for (i = 0; i < MAXSIGLINES; i++) {
|
||||||
|
if (strlen(sLiNE[i]))
|
||||||
|
fprintf(fp, "%s\n", sLiNE[i]);
|
||||||
|
}
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
|
Syslog('+', "User Saved .signature");
|
||||||
|
free(temp);
|
||||||
|
free(temp1);
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
} else if (i == Keystroke(114, 1)) {
|
||||||
|
/* Edit which line: */
|
||||||
|
colour(CFG.HiliteF, CFG.HiliteB);
|
||||||
|
printf("\n%s", (char *) Language(118));
|
||||||
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
|
GetstrC(temp, 3);
|
||||||
|
|
||||||
|
if ((strcmp(temp, "")) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
i = atoi(temp);
|
||||||
|
|
||||||
|
if ((i < 1) || (i > MAXSIGLINES)) {
|
||||||
|
/* Line does not exist. */
|
||||||
|
printf("\n%s", (char *) Language(119));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Enter(1);
|
||||||
|
/* Line reads: */
|
||||||
|
poutCR(CFG.MoreF, CFG.MoreB, (char *) Language(186));
|
||||||
|
printf("%d:%s\n", i, sLiNE[i-1]);
|
||||||
|
|
||||||
|
Enter(1);
|
||||||
|
/* Text to replace: */
|
||||||
|
pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(195));
|
||||||
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
|
GetstrC(temp, LENSIGLINES-1);
|
||||||
|
|
||||||
|
if ((strcmp(temp, "")) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Replacement text: */
|
||||||
|
pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(196));
|
||||||
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
|
GetstrC(temp1, LENSIGLINES-1);
|
||||||
|
|
||||||
|
if ((strcmp(temp1, "")) == 0)
|
||||||
|
break;
|
||||||
|
strreplace(sLiNE[i-1], temp, temp1);
|
||||||
|
|
||||||
|
} else
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
free(temp);
|
||||||
|
free(temp1);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
8
mbsebbs/signature.h
Normal file
8
mbsebbs/signature.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef _SIGNATURE_H
|
||||||
|
#define _SIGNATURE_H
|
||||||
|
|
||||||
|
/* $Id$ */
|
||||||
|
|
||||||
|
void signature(void);
|
||||||
|
|
||||||
|
#endif
|
@ -2086,8 +2086,6 @@ char *getmenutype(int val)
|
|||||||
case 19: return (char *)"Display textfile with more";
|
case 19: return (char *)"Display textfile with more";
|
||||||
case 20: return (char *)"Display .A?? file with Enter";
|
case 20: return (char *)"Display .A?? file with Enter";
|
||||||
case 21: return (char *)"Display Text Only";
|
case 21: return (char *)"Display Text Only";
|
||||||
case 22: return (char *)"Message to nextuser door";
|
|
||||||
case 23: return (char *)"Time banking system";
|
|
||||||
|
|
||||||
case 25: return (char *)"Safe cracker door";
|
case 25: return (char *)"Safe cracker door";
|
||||||
|
|
||||||
@ -2150,6 +2148,7 @@ char *getmenutype(int val)
|
|||||||
case 316: return (char *)"Change fullscreen editor";
|
case 316: return (char *)"Change fullscreen editor";
|
||||||
case 317: return (char *)"Change FS edit shortcut keys";
|
case 317: return (char *)"Change FS edit shortcut keys";
|
||||||
case 318: return (char *)"Change address";
|
case 318: return (char *)"Change address";
|
||||||
|
case 319: return (char *)"Change .signature file";
|
||||||
|
|
||||||
case 401: return (char *)"Add oneliner";
|
case 401: return (char *)"Add oneliner";
|
||||||
case 402: return (char *)"List oneliners";
|
case 402: return (char *)"List oneliners";
|
||||||
|
@ -583,7 +583,7 @@ void EditFGroup(void)
|
|||||||
working(2, 0, 0);
|
working(2, 0, 0);
|
||||||
working(0, 0, 0);
|
working(0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
errmsg("Cannot add group, change global setting in menu 1.13.5");
|
errmsg("Cannot add group, change global setting in menu 1.11.5");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -542,34 +542,11 @@ void e_colors(void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void e_nu_door(void)
|
|
||||||
{
|
|
||||||
clr_index();
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
mvprintw( 5, 2, "1.9 EDIT NEXT USER DOOR");
|
|
||||||
set_color(CYAN, BLACK);
|
|
||||||
mvprintw( 7, 2, "1. Text file");
|
|
||||||
mvprintw( 8, 2, "2. Quote");
|
|
||||||
for (;;) {
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
show_str( 7,17,49, CFG.sNuScreen);
|
|
||||||
show_str( 8,17,64, CFG.sNuQuote);
|
|
||||||
|
|
||||||
switch(select_menu(2)) {
|
|
||||||
case 0: return;
|
|
||||||
case 1: E_STR(7,17,49, CFG.sNuScreen, "The ^text file^ to display to the next user.")
|
|
||||||
case 2: E_STR(8,17,64, CFG.sNuQuote, "The ^quote^ to insert in the next user text.")
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void e_safe_door(void)
|
void e_safe_door(void)
|
||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.10 EDIT SAFE DOOR");
|
mvprintw( 5, 2, "1.9 EDIT SAFE DOOR");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Digit 1");
|
mvprintw( 7, 2, "1. Digit 1");
|
||||||
mvprintw( 8, 2, "2. Digit 2");
|
mvprintw( 8, 2, "2. Digit 2");
|
||||||
@ -609,52 +586,11 @@ void e_safe_door(void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void e_timebank(void)
|
|
||||||
{
|
|
||||||
clr_index();
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
mvprintw( 5, 6, "1.11 EDIT TIME BANK");
|
|
||||||
set_color(CYAN, BLACK);
|
|
||||||
mvprintw( 7, 6, "1. Users time balance");
|
|
||||||
mvprintw( 8, 6, "2. Max time withdraw");
|
|
||||||
mvprintw( 9, 6, "3. Max time deposit");
|
|
||||||
mvprintw(10, 6, "4. Users Kb. balance");
|
|
||||||
mvprintw(11, 6, "5. Max Kb. withdraw");
|
|
||||||
mvprintw(12, 6, "6. Max Kb. deposit");
|
|
||||||
mvprintw(13, 6, "7. Users time ratio");
|
|
||||||
mvprintw(14, 6, "8. Users Kb. ratio");
|
|
||||||
for (;;) {
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
show_int( 7,31, CFG.iMaxTimeBalance);
|
|
||||||
show_int( 8,31, CFG.iMaxTimeWithdraw);
|
|
||||||
show_int( 9,31, CFG.iMaxTimeDeposit);
|
|
||||||
show_int(10,31, CFG.iMaxByteBalance);
|
|
||||||
show_int(11,31, CFG.iMaxByteWithdraw);
|
|
||||||
show_int(12,31, CFG.iMaxByteDeposit);
|
|
||||||
show_str(13,31,6, CFG.sTimeRatio);
|
|
||||||
show_str(14,31,6, CFG.sByteRatio);
|
|
||||||
|
|
||||||
switch(select_menu(8)) {
|
|
||||||
case 0: return;
|
|
||||||
case 1: E_INT( 7,31, CFG.iMaxTimeBalance, "Maximum ^time balance^")
|
|
||||||
case 2: E_INT( 8,31, CFG.iMaxTimeWithdraw, "Maximum ^time withdraw^")
|
|
||||||
case 3: E_INT( 9,31, CFG.iMaxTimeDeposit, "Maximum ^time deposit^")
|
|
||||||
case 4: E_INT(10,31, CFG.iMaxByteBalance, "Maximum ^bytes balance^")
|
|
||||||
case 5: E_INT(11,31, CFG.iMaxByteWithdraw, "Maximum ^bytes withdraw^")
|
|
||||||
case 6: E_INT(12,31, CFG.iMaxByteDeposit, "Maximum ^bytes deposit^")
|
|
||||||
case 7: E_STR(13,31,6, CFG.sTimeRatio, "^Time ratio^")
|
|
||||||
case 8: E_STR(14,31,6, CFG.sByteRatio, "^Bytes ratio^")
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void e_paging(void)
|
void e_paging(void)
|
||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.12 EDIT SYSOP PAGING");
|
mvprintw( 5, 2, "1.10 EDIT SYSOP PAGING");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Ext. Chat");
|
mvprintw( 7, 2, "1. Ext. Chat");
|
||||||
mvprintw( 8, 2, "2. Chat Device");
|
mvprintw( 8, 2, "2. Chat Device");
|
||||||
@ -758,7 +694,7 @@ void e_flags(int Users)
|
|||||||
if (Users)
|
if (Users)
|
||||||
mvprintw( 5, 6, "1.6 EDIT USER FLAG DESCRIPTIONS");
|
mvprintw( 5, 6, "1.6 EDIT USER FLAG DESCRIPTIONS");
|
||||||
else
|
else
|
||||||
mvprintw( 5, 6, "1.20 EDIT MANAGER FLAG DESCRIPTIONS");
|
mvprintw( 5, 6, "1.18 EDIT MANAGER FLAG DESCRIPTIONS");
|
||||||
|
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
@ -828,7 +764,7 @@ void e_ticconf(void)
|
|||||||
|
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 6, "1.13 EDIT FILEECHO PROCESSING");
|
mvprintw( 5, 6, "1.11 EDIT FILEECHO PROCESSING");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
|
|
||||||
mvprintw( 7, 2, "1. Keep days");
|
mvprintw( 7, 2, "1. Keep days");
|
||||||
@ -920,7 +856,7 @@ void s_fidomailcfg(void)
|
|||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 5, "1.14 EDIT FIDONET MAIL AND ECHOMAIL PROCESSING");
|
mvprintw( 5, 5, "1.12 EDIT FIDONET MAIL AND ECHOMAIL PROCESSING");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Badboard");
|
mvprintw( 7, 2, "1. Badboard");
|
||||||
mvprintw( 8, 2, "2. Dupeboard");
|
mvprintw( 8, 2, "2. Dupeboard");
|
||||||
@ -1028,7 +964,7 @@ void s_intmailcfg(void)
|
|||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 5, "1.15 EDIT INTERNET MAIL AND NEWS PROCESSING");
|
mvprintw( 5, 5, "1.13 EDIT INTERNET MAIL AND NEWS PROCESSING");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. POP3 node");
|
mvprintw( 7, 2, "1. POP3 node");
|
||||||
mvprintw( 8, 2, "2. SMTP node");
|
mvprintw( 8, 2, "2. SMTP node");
|
||||||
@ -1097,7 +1033,7 @@ void e_uucp(void)
|
|||||||
|
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 6, "1.15 EDIT UUCP GATEWAY");
|
mvprintw( 5, 6, "1.13 EDIT UUCP GATEWAY");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 6, "1. Zone");
|
mvprintw( 7, 6, "1. Zone");
|
||||||
mvprintw( 8, 6, "2. Net");
|
mvprintw( 8, 6, "2. Net");
|
||||||
@ -1181,7 +1117,7 @@ void s_newfiles(void)
|
|||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.16 ALLFILES & NEWFILES LISTINGS");
|
mvprintw( 5, 2, "1.14 ALLFILES & NEWFILES LISTINGS");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. New days");
|
mvprintw( 7, 2, "1. New days");
|
||||||
mvprintw( 8, 2, "2. Security");
|
mvprintw( 8, 2, "2. Security");
|
||||||
@ -1372,7 +1308,7 @@ void s_mailer(void)
|
|||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.17 EDIT MAILER SETTINGS");
|
mvprintw( 5, 2, "1.15 EDIT MAILER SETTINGS");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Mailer logl.");
|
mvprintw( 7, 2, "1. Mailer logl.");
|
||||||
mvprintw( 8, 2, "2. Default phone");
|
mvprintw( 8, 2, "2. Default phone");
|
||||||
@ -1407,7 +1343,7 @@ void e_trans(int start)
|
|||||||
|
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 6, "1.17 EDIT PHONE TRANSLATION");
|
mvprintw( 5, 6, "1.15 EDIT PHONE TRANSLATION");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 12, "String to match String to replace");
|
mvprintw( 7, 12, "String to match String to replace");
|
||||||
for (i = 0; i < 10; i++) {
|
for (i = 0; i < 10; i++) {
|
||||||
@ -1459,7 +1395,7 @@ void e_mailer(void)
|
|||||||
|
|
||||||
switch(select_menu(23)) {
|
switch(select_menu(23)) {
|
||||||
case 0: return;
|
case 0: return;
|
||||||
case 1: E_LOGL(CFG.cico_loglevel, "1.17.1", s_mailer)
|
case 1: E_LOGL(CFG.cico_loglevel, "1.15.1", s_mailer)
|
||||||
case 2: E_STR( 8,23,20,CFG.Phone, "The mailer default ^phone number^ for this system")
|
case 2: E_STR( 8,23,20,CFG.Phone, "The mailer default ^phone number^ for this system")
|
||||||
case 3: E_STR( 9,23,30,CFG.Flags, "The mailer ^TCP/IP capability flags^ for this system")
|
case 3: E_STR( 9,23,30,CFG.Flags, "The mailer ^TCP/IP capability flags^ for this system")
|
||||||
case 4: E_INT( 10,23, CFG.Speed, "The mailer ^default linespeed^ for this system")
|
case 4: E_INT( 10,23, CFG.Speed, "The mailer ^default linespeed^ for this system")
|
||||||
@ -1495,7 +1431,7 @@ void e_ftpd(void)
|
|||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.18 EDIT FTPD SETTINGS");
|
mvprintw( 5, 2, "1.16 EDIT FTPD SETTINGS");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Upload pth");
|
mvprintw( 7, 2, "1. Upload pth");
|
||||||
mvprintw( 8, 2, "2. Banner msg");
|
mvprintw( 8, 2, "2. Banner msg");
|
||||||
@ -1571,7 +1507,7 @@ void e_html(void)
|
|||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.19 EDIT HTML SETTINGS");
|
mvprintw( 5, 2, "1.17 EDIT HTML SETTINGS");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Docs root");
|
mvprintw( 7, 2, "1. Docs root");
|
||||||
mvprintw( 8, 2, "2. Link to ftp");
|
mvprintw( 8, 2, "2. Link to ftp");
|
||||||
@ -1685,21 +1621,19 @@ void global_menu(void)
|
|||||||
mvprintw(12, 6, "6. Edit User flag Descriptions");
|
mvprintw(12, 6, "6. Edit User flag Descriptions");
|
||||||
mvprintw(13, 6, "7. Edit New Users defaults");
|
mvprintw(13, 6, "7. Edit New Users defaults");
|
||||||
mvprintw(14, 6, "8. Edit Text Colors");
|
mvprintw(14, 6, "8. Edit Text Colors");
|
||||||
mvprintw(15, 6, "9. Edit Next User Door");
|
mvprintw(15, 6, "9. Edit Safe Door");
|
||||||
mvprintw(16, 6, "10. Edit Safe Door");
|
mvprintw(16, 6, "10. Edit Sysop Paging");
|
||||||
|
|
||||||
mvprintw( 7,46, "11. Edit Time Bank Door");
|
mvprintw( 7,46, "11. Edit Files Processing");
|
||||||
mvprintw( 8,46, "12. Edit Sysop Paging");
|
mvprintw( 8,46, "12. Edit Fidonet Mail/Echomail");
|
||||||
mvprintw( 9,46, "13. Edit Files Processing");
|
mvprintw( 9,46, "13. Edit Internet Mail/News");
|
||||||
mvprintw(10,46, "14. Edit Fidonet Mail/Echomail");
|
mvprintw(10,46, "14. Edit All-/Newfiles lists");
|
||||||
mvprintw(11,46, "15. Edit Internet Mail/News");
|
mvprintw(11,46, "15. Edit Mailer global setup");
|
||||||
mvprintw(12,46, "16. Edit All-/Newfiles lists");
|
mvprintw(12,46, "16. Edit Ftp daemon setup");
|
||||||
mvprintw(13,46, "17. Edit Mailer global setup");
|
mvprintw(13,46, "17. Edit HTML pages setup");
|
||||||
mvprintw(14,46, "18. Edit Ftp daemon setup");
|
mvprintw(14,46, "18. Edit Mgr flag descriptions");
|
||||||
mvprintw(15,46, "19. Edit HTML pages setup");
|
|
||||||
mvprintw(16,46, "20. Edit Mgr flag descriptions");
|
|
||||||
|
|
||||||
switch(select_menu(20)) {
|
switch(select_menu(18)) {
|
||||||
case 0:
|
case 0:
|
||||||
crc1 = 0xffffffff;
|
crc1 = 0xffffffff;
|
||||||
crc1 = upd_crc32((char *)&CFG, crc1, sizeof(CFG));
|
crc1 = upd_crc32((char *)&CFG, crc1, sizeof(CFG));
|
||||||
@ -1736,39 +1670,33 @@ void global_menu(void)
|
|||||||
e_colors();
|
e_colors();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
e_nu_door();
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
e_safe_door();
|
e_safe_door();
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 10:
|
||||||
e_timebank();
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
e_paging();
|
e_paging();
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 11:
|
||||||
e_ticconf();
|
e_ticconf();
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 12:
|
||||||
e_fidomailcfg();
|
e_fidomailcfg();
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 13:
|
||||||
e_intmailcfg();
|
e_intmailcfg();
|
||||||
break;
|
break;
|
||||||
case 16:
|
case 14:
|
||||||
e_newfiles();
|
e_newfiles();
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 15:
|
||||||
e_mailer();
|
e_mailer();
|
||||||
break;
|
break;
|
||||||
case 18:
|
case 16:
|
||||||
e_ftpd();
|
e_ftpd();
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 17:
|
||||||
e_html();
|
e_html();
|
||||||
break;
|
break;
|
||||||
case 20:
|
case 18:
|
||||||
e_flags(FALSE);
|
e_flags(FALSE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1992,12 +1920,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " File description %s on %s\n", get_color(CFG.FiledescF), get_color(CFG.FiledescB));
|
fprintf(fp, " File description %s on %s\n", get_color(CFG.FiledescF), get_color(CFG.FiledescB));
|
||||||
fprintf(fp, " Message input %s on %s\n", get_color(CFG.MsgInputColourF), get_color(CFG.MsgInputColourB));
|
fprintf(fp, " Message input %s on %s\n", get_color(CFG.MsgInputColourF), get_color(CFG.MsgInputColourB));
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 10, page, (char *)"Next user door");
|
addtoc(fp, toc, 1, 10, page, (char *)"Safecracker door");
|
||||||
|
|
||||||
fprintf(fp, " Text file %s\n", CFG.sNuScreen);
|
|
||||||
fprintf(fp, " Quote %s\n", CFG.sNuQuote);
|
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 11, page, (char *)"Safecracker door");
|
|
||||||
|
|
||||||
fprintf(fp, " Digit nr 1 %d\n", CFG.iSafeFirstDigit);
|
fprintf(fp, " Digit nr 1 %d\n", CFG.iSafeFirstDigit);
|
||||||
fprintf(fp, " Digit nr 2 %d\n", CFG.iSafeSecondDigit);
|
fprintf(fp, " Digit nr 2 %d\n", CFG.iSafeSecondDigit);
|
||||||
@ -2010,18 +1933,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Safe opened file %s\n", CFG.sSafeOpened);
|
fprintf(fp, " Safe opened file %s\n", CFG.sSafeOpened);
|
||||||
|
|
||||||
page = newpage(fp, page);
|
page = newpage(fp, page);
|
||||||
addtoc(fp, toc, 1, 12, page, (char *)"Timebank door");
|
addtoc(fp, toc, 1, 11, page, (char *)"Sysop paging");
|
||||||
|
|
||||||
fprintf(fp, " Users time balance %d\n", CFG.iMaxTimeBalance);
|
|
||||||
fprintf(fp, " Max. time withdraw %d\n", CFG.iMaxTimeWithdraw);
|
|
||||||
fprintf(fp, " Max. time deposit %d\n", CFG.iMaxTimeDeposit);
|
|
||||||
fprintf(fp, " Users kb. balance %d\n", CFG.iMaxByteBalance);
|
|
||||||
fprintf(fp, " Max. Kb. withdraw %d\n", CFG.iMaxByteWithdraw);
|
|
||||||
fprintf(fp, " Max. Kb. deposit %d\n", CFG.iMaxByteDeposit);
|
|
||||||
fprintf(fp, " Users time ratio %s\n", CFG.sTimeRatio);
|
|
||||||
fprintf(fp, " Users Kb. ratio %s\n", CFG.sByteRatio);
|
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 13, page, (char *)"Sysop paging");
|
|
||||||
|
|
||||||
fprintf(fp, " Ext. Chat program %s\n", CFG.sExternalChat);
|
fprintf(fp, " Ext. Chat program %s\n", CFG.sExternalChat);
|
||||||
fprintf(fp, " Chat device %s\n", CFG.sChatDevice);
|
fprintf(fp, " Chat device %s\n", CFG.sChatDevice);
|
||||||
@ -2045,7 +1957,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Friday %s %s\n", CFG.cStartTime[5], CFG.cStopTime[5]);
|
fprintf(fp, " Friday %s %s\n", CFG.cStartTime[5], CFG.cStopTime[5]);
|
||||||
fprintf(fp, " Saterday %s %s\n", CFG.cStartTime[6], CFG.cStopTime[6]);
|
fprintf(fp, " Saterday %s %s\n", CFG.cStartTime[6], CFG.cStopTime[6]);
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 14, page, (char *)"Fileecho processing");
|
addtoc(fp, toc, 1, 12, page, (char *)"Fileecho processing");
|
||||||
|
|
||||||
fprintf(fp, " Keep days on hold %d\n", CFG.tic_days);
|
fprintf(fp, " Keep days on hold %d\n", CFG.tic_days);
|
||||||
fprintf(fp, " Hatch password %s\n", CFG.hatchpasswd);
|
fprintf(fp, " Hatch password %s\n", CFG.hatchpasswd);
|
||||||
@ -2064,7 +1976,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " FileMgr: pause %s\n", getboolean(CFG.ct_Pause));
|
fprintf(fp, " FileMgr: pause %s\n", getboolean(CFG.ct_Pause));
|
||||||
|
|
||||||
page = newpage(fp, page);
|
page = newpage(fp, page);
|
||||||
addtoc(fp, toc, 1, 15, page, (char *)"Fidonet Mail and Echomail processing");
|
addtoc(fp, toc, 1, 13, page, (char *)"Fidonet Mail and Echomail processing");
|
||||||
|
|
||||||
fprintf(fp, " Max .pkt size %d Kb.\n", CFG.maxpktsize);
|
fprintf(fp, " Max .pkt size %d Kb.\n", CFG.maxpktsize);
|
||||||
fprintf(fp, " Max archive size %d Kb.\n", CFG.maxarcsize);
|
fprintf(fp, " Max archive size %d Kb.\n", CFG.maxarcsize);
|
||||||
@ -2084,7 +1996,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " AreaMgr: passwd %s\n", getboolean(CFG.ca_Passwd));
|
fprintf(fp, " AreaMgr: passwd %s\n", getboolean(CFG.ca_Passwd));
|
||||||
fprintf(fp, " AreaMgr: pause %s\n", getboolean(CFG.ca_Pause));
|
fprintf(fp, " AreaMgr: pause %s\n", getboolean(CFG.ca_Pause));
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 16, page, (char *)"Internet Mail and News processing");
|
addtoc(fp, toc, 1, 14, page, (char *)"Internet Mail and News processing");
|
||||||
|
|
||||||
fprintf(fp, " Split messages at %d KBytes\n", CFG.new_split);
|
fprintf(fp, " Split messages at %d KBytes\n", CFG.new_split);
|
||||||
fprintf(fp, " Force split at %d KBytes\n", CFG.new_force);
|
fprintf(fp, " Force split at %d KBytes\n", CFG.new_force);
|
||||||
@ -2110,14 +2022,14 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Allow control msgs %s\n", getboolean(CFG.allowcontrol));
|
fprintf(fp, " Allow control msgs %s\n", getboolean(CFG.allowcontrol));
|
||||||
fprintf(fp, " Don't regate msgs %s\n", getboolean(CFG.dontregate));
|
fprintf(fp, " Don't regate msgs %s\n", getboolean(CFG.dontregate));
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 17, page, (char *)"Newfile reports");
|
addtoc(fp, toc, 1, 15, page, (char *)"Newfile reports");
|
||||||
|
|
||||||
fprintf(fp, " New files days %d\n", CFG.newdays);
|
fprintf(fp, " New files days %d\n", CFG.newdays);
|
||||||
fprintf(fp, " Highest sec. level %s\n", get_secstr(CFG.security));
|
fprintf(fp, " Highest sec. level %s\n", get_secstr(CFG.security));
|
||||||
fprintf(fp, " Max. newfile grps %ld\n", CFG.new_groups);
|
fprintf(fp, " Max. newfile grps %ld\n", CFG.new_groups);
|
||||||
|
|
||||||
page = newpage(fp, page);
|
page = newpage(fp, page);
|
||||||
addtoc(fp, toc, 1, 18, page, (char *)"Mailer setup");
|
addtoc(fp, toc, 1, 16, page, (char *)"Mailer setup");
|
||||||
|
|
||||||
p = getloglevel(CFG.cico_loglevel);
|
p = getloglevel(CFG.cico_loglevel);
|
||||||
fprintf(fp, " Mailer loglevel %s\n", p);
|
fprintf(fp, " Mailer loglevel %s\n", p);
|
||||||
@ -2144,7 +2056,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Translate %-20s %s\n", CFG.phonetrans[i].match, CFG.phonetrans[i].repl);
|
fprintf(fp, " Translate %-20s %s\n", CFG.phonetrans[i].match, CFG.phonetrans[i].repl);
|
||||||
|
|
||||||
page = newpage(fp, page);
|
page = newpage(fp, page);
|
||||||
addtoc(fp, toc, 1, 19, page, (char *)"FTP server setup");
|
addtoc(fp, toc, 1, 17, page, (char *)"FTP server setup");
|
||||||
|
|
||||||
fprintf(fp, " Connections limit %d\n", CFG.ftp_limit);
|
fprintf(fp, " Connections limit %d\n", CFG.ftp_limit);
|
||||||
fprintf(fp, " Login fails %d\n", CFG.ftp_loginfails);
|
fprintf(fp, " Login fails %d\n", CFG.ftp_loginfails);
|
||||||
@ -2164,7 +2076,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Path filter %s\n", CFG.ftp_pth_filter);
|
fprintf(fp, " Path filter %s\n", CFG.ftp_pth_filter);
|
||||||
fprintf(fp, " Path message %s\n", CFG.ftp_pth_message);
|
fprintf(fp, " Path message %s\n", CFG.ftp_pth_message);
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 20, page, (char *)"WWW server setup");
|
addtoc(fp, toc, 1, 18, page, (char *)"WWW server setup");
|
||||||
|
|
||||||
fprintf(fp, " HTML root %s\n", CFG.www_root);
|
fprintf(fp, " HTML root %s\n", CFG.www_root);
|
||||||
fprintf(fp, " Link to FTP base %s\n", CFG.www_link2ftp);
|
fprintf(fp, " Link to FTP base %s\n", CFG.www_link2ftp);
|
||||||
@ -2175,7 +2087,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " File per webpage %d\n", CFG.www_files_page);
|
fprintf(fp, " File per webpage %d\n", CFG.www_files_page);
|
||||||
|
|
||||||
page = newpage(fp, page);
|
page = newpage(fp, page);
|
||||||
addtoc(fp, toc, 1,21, page, (char *)"Manager flag descriptions");
|
addtoc(fp, toc, 1,19, page, (char *)"Manager flag descriptions");
|
||||||
fprintf(fp, " 1 1 2 2 3 3\n");
|
fprintf(fp, " 1 1 2 2 3 3\n");
|
||||||
fprintf(fp, " 1 5 0 5 0 5 0 2\n");
|
fprintf(fp, " 1 5 0 5 0 5 0 2\n");
|
||||||
fprintf(fp, " --------------------------------\n");
|
fprintf(fp, " --------------------------------\n");
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Edit BBS menus
|
* Purpose ...............: Edit BBS menus
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2002
|
* Copyright (C) 1997-2003
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -201,7 +201,7 @@ int GetMenuType(void)
|
|||||||
case 1: return GetSubmenu(1, 25);
|
case 1: return GetSubmenu(1, 25);
|
||||||
case 2: return GetSubmenu(101, 19);
|
case 2: return GetSubmenu(101, 19);
|
||||||
case 3: return GetSubmenu(201, 20);
|
case 3: return GetSubmenu(201, 20);
|
||||||
case 4: return GetSubmenu(301, 18);
|
case 4: return GetSubmenu(301, 19);
|
||||||
case 5: return GetSubmenu(401, 5);
|
case 5: return GetSubmenu(401, 5);
|
||||||
case 6: return GetSubmenu(501, 6);
|
case 6: return GetSubmenu(501, 6);
|
||||||
default: return 0;
|
default: return 0;
|
||||||
|
@ -517,7 +517,7 @@ void EditMGroup(void)
|
|||||||
working(2, 0, 0);
|
working(2, 0, 0);
|
||||||
working(0, 0, 0);
|
working(0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
errmsg("Cannot add group, change global setting in menu 1.14.12");
|
errmsg("Cannot add group, change global setting in menu 1.12.12");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -515,7 +515,7 @@ void EditNewfiles(void)
|
|||||||
working(2, 0, 0);
|
working(2, 0, 0);
|
||||||
working(0, 0, 0);
|
working(0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
errmsg("Cannot add, change global setting in menu 1.16.3");
|
errmsg("Cannot add, change global setting in menu 1.14.3");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1262,9 +1262,9 @@ void EditNodes(void)
|
|||||||
working(0, 0, 0);
|
working(0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
if ((records + 1) > CFG.toss_systems) {
|
if ((records + 1) > CFG.toss_systems) {
|
||||||
errmsg("Cannot add node, change global setting in menu 1.14.11");
|
errmsg("Cannot add node, change global setting in menu 1.12.11");
|
||||||
} else {
|
} else {
|
||||||
errmsg("Cannot add node, change global setting in menu 1.13.4");
|
errmsg("Cannot add node, change global setting in menu 1.11.4");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -166,6 +166,7 @@ void load_maincfg(void)
|
|||||||
sprintf(CFG.req_magic, "%s/magic", getenv("MBSE_ROOT"));
|
sprintf(CFG.req_magic, "%s/magic", getenv("MBSE_ROOT"));
|
||||||
sprintf(CFG.alists_path, "%s/var/arealists", getenv("MBSE_ROOT"));
|
sprintf(CFG.alists_path, "%s/var/arealists", getenv("MBSE_ROOT"));
|
||||||
sprintf(CFG.out_queue, "%s/var/queue", getenv("MBSE_ROOT"));
|
sprintf(CFG.out_queue, "%s/var/queue", getenv("MBSE_ROOT"));
|
||||||
|
sprintf(CFG.rulesdir, "%s/var/rules", getenv("MBSE_ROOT"));
|
||||||
CFG.leavecase = TRUE;
|
CFG.leavecase = TRUE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -248,12 +249,6 @@ void load_maincfg(void)
|
|||||||
CFG.MsgInputColourF = CYAN;
|
CFG.MsgInputColourF = CYAN;
|
||||||
CFG.MsgInputColourB = BLACK;
|
CFG.MsgInputColourB = BLACK;
|
||||||
|
|
||||||
/*
|
|
||||||
* NextUser Door
|
|
||||||
*/
|
|
||||||
sprintf(CFG.sNuScreen, "welcome");
|
|
||||||
sprintf(CFG.sNuQuote, "Please press [ENTER] to continue: ");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Safe Door
|
* Safe Door
|
||||||
*/
|
*/
|
||||||
@ -285,18 +280,6 @@ void load_maincfg(void)
|
|||||||
sprintf(CFG.cStopTime[i], "23:59");
|
sprintf(CFG.cStopTime[i], "23:59");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Time Bank
|
|
||||||
*/
|
|
||||||
CFG.iMaxTimeBalance = 200;
|
|
||||||
CFG.iMaxTimeWithdraw = 100;
|
|
||||||
CFG.iMaxTimeDeposit = 60;
|
|
||||||
CFG.iMaxByteBalance = 500;
|
|
||||||
CFG.iMaxByteWithdraw = 300;
|
|
||||||
CFG.iMaxByteDeposit = 150;
|
|
||||||
strcpy(CFG.sTimeRatio, "3:1");
|
|
||||||
strcpy(CFG.sByteRatio, "3:1");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fill ticconf defaults
|
* Fill ticconf defaults
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user