diff --git a/ChangeLog b/ChangeLog index 02e287f1..b712829e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,10 +18,21 @@ v0.83.14 23-Feb-2006 mbfido: Uses archiver from the setup to pack mail for a node. + mbsebbs: + Added Change archiver menu. + Added crontrol-U0 to display current archiver. + mbsetup: Added archiver selection for nodes in node setup. In archiver select added checks for valid archivers and allowed escape without selecting an archiver. + Added selection of archiver select menu. + + lang: + New prompts 86, 87, 88 and 89. + + examples: + Updated Engish menus and txtfiles. v0.83.13 13-Feb-2006 - 23-Feb-2006 diff --git a/examples/menus-en.tar b/examples/menus-en.tar index f73ab204..3026c7d4 100644 Binary files a/examples/menus-en.tar and b/examples/menus-en.tar differ diff --git a/examples/txtfiles-en.tar b/examples/txtfiles-en.tar index 96210532..e68b81e6 100644 Binary files a/examples/txtfiles-en.tar and b/examples/txtfiles-en.tar differ diff --git a/html/menus/control.html b/html/menus/control.html index 5dfa4d70..29e0d3f9 100644 --- a/html/menus/control.html +++ b/html/menus/control.html @@ -14,7 +14,7 @@
-
Last update 06-Nov-2004
+
Last update 05-Mar-2006

MBSE BBS Control Codes in ANSI and ASCII files


@@ -119,6 +119,7 @@ For example: ^B32000^BThis is the text^B
7 User's Third address line. 8 User's OLR Extended Onfo (On/Off). 9 User's charactewr set. + 0 User's current archiver. diff --git a/html/menus/menu300.html b/html/menus/menu300.html index 52445a7b..d680acef 100644 --- a/html/menus/menu300.html +++ b/html/menus/menu300.html @@ -14,7 +14,7 @@
-
Last update 02-Mar-2003
+
Last update 05-Mar-2006

MBSE BBS User Settings Menus


@@ -55,8 +55,7 @@ Optional data: None.

-

  • Change Scrennlength: This command will - let the user set a new screenlength, the default is 24.
    +
  • Obsolete: This command does not exist.
    Optional data: None.

    @@ -118,6 +117,16 @@ Optional data: None.

    +

  • Change character set: Let the user change + the default character set for messages.
    + Optional data: None.
    +

    + +

  • Change archiver: Let the user change the + archhiver to use to build offline reader packages.
    + Optional data: None.
    +

    +


    diff --git a/lang/Language.xref b/lang/Language.xref index ba3bdd95..26f62000 100644 --- a/lang/Language.xref +++ b/lang/Language.xref @@ -84,10 +84,10 @@ 83 change.c |Please enter the correct date format 84 misc.c |Todays Callers to 85 misc.c |# User Name Device TimeOn Calls Location -86 .c | -87 .c | -88 .c | -89 .c | +86 change.c |Can't open archiver file. +87 change.c |Select your preferred archiver +88 change.c |Select Archiver (Enter to Quit): +89 change.c |Archiver now set to: 90 .c | 91 .c | 92 .c | diff --git a/lang/chinese.txt b/lang/chinese.txt index abb0eace..6f6633b2 100644 --- a/lang/chinese.txt +++ b/lang/chinese.txt @@ -84,27 +84,27 @@ YN|Would you like Hot-Keyed menus? [Y/n]: |Please enter the correct date format |Todays Callers to |# User Name Device TimeOn Calls Location -|Safe Cracker Door -|Please press a key to continue: -|In the safe lies ... -|Please enter three numbers consisting from 1 to -|Please enter three combinations. -|1st digit: -|Please try again! You must input a number greater than Zero and less than -|2nd digit: -|3rd digit: -| Left: -|Right: -YN|Attempt to open safe with this combination [Y/n]: -|You have won the following... -|Sorry - You didn't open the safe! -|The safe code was: -YN|Do you want to try again ? [Y/n]: -YN|Do you want to open the safe ? [Y/n]: -|THE SAFE IS CURRENTLY LOCKED -|has cracked the safe. -|The safe will remain locked until the sysop rewards the user. -|Maximum trys per day Exceeded! +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| |Edit message signature |The FROM, TO and SUBJECT fields are optional. | From: diff --git a/lang/dutch.txt b/lang/dutch.txt index b7a220d4..a6a63ff6 100644 --- a/lang/dutch.txt +++ b/lang/dutch.txt @@ -84,27 +84,27 @@ JN|Wilt U sneltoets menus? [J/n]: |Geef het juiste datum formaat |Bellers vandaag bij |# Gebruiker Poort Tijd Keren Woonplaats -|Kluis kraker programma -|Druk een toets om verder te gaan: -|In de kluis ligt ... -|Geef drie nummers tussen 1 en -|Geef drie kombinaties. -|Eerste cijfer: -|Probeer opnieuw! U moet een nummer geven groter dan 0 en kleiner dan -|Tweede cijfer: -|Derde cijfer : -| Links: -|Rechts: -JN|Proberen de kluis met deze kombinatie te openenen [J/n]: -|U hebt het volgende gewonnen ... -|Spijtig - U hebt de kluis niet geopend! -|De cijferkombinatie was: -JN|Wilt U het opnieuw proberen ? [J/n]: -JN|Wilt U de kluis openenen ? [J/n]: -|DE KLUIS ZIT NU OP SLOT -|heeft de kluis grkraakt. -|De kluis blijft op slot tot de sysop de gebruiker beloond heeft. -|Maximaal aantal pogingen perdag bereikt! +|Kan archiver file niet openenen. +|Kies je favourite archiver +|Kies archiver (Enter is Stop): +|Archiver is nu: +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| |Wijzig berichten handtekening |De VAN, AAN en ONDERWERP velden zijn opties. | Van: diff --git a/lang/english.txt b/lang/english.txt index c77850f2..0641d2a9 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -84,10 +84,10 @@ YN|Would you like Hot-Keyed menus? [Y/n]: |Please enter the correct date format |Todays Callers to |# User Name Device TimeOn Calls Location -|Safe Cracker Door -|Please press a key to continue: -|In the safe lies ... -|Please enter three numbers consisting from 1 to +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: |Please enter three combinations. |1st digit: |Please try again! You must input a number greater than Zero and less than diff --git a/lang/french.txt b/lang/french.txt index 04b6c04b..5344f8cb 100644 --- a/lang/french.txt +++ b/lang/french.txt @@ -84,10 +84,10 @@ ON|Voulez vous les menus Hot-Keyed ? [O/n]: |Veuillez entrer la date au format correct |Appels d'aujourd'hui pour |# User Name Device TimeOn Calls Location -|Safe Cracker Door -|Pressez une touche pour continuer: -|Dans le coffre, il y a ... -|Entrez 3 chiffres de 1 à +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: |Entrez trois combinaisons. |1er chiffre: |Essayez encore! Le chiffre doit être compris entre zéro et diff --git a/lang/galego.txt b/lang/galego.txt index 24271250..8fdb56e5 100644 --- a/lang/galego.txt +++ b/lang/galego.txt @@ -84,10 +84,10 @@ SN| |Teclea o formato de data correcto |Hoxe chamaron a |# Usr. Nombre Puerto Tiempo Llams Localidad -|Xogo de Rouba-la Caixa Forte -|Pulsa unha tecla para seguir: -|Na caixa hay ... -|Teclea tres n£meros de 1 a +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: |Teclea tres combinaci¢ns. |1§ dixito: |­Repite! Debe ser un n£mero maior que cero e menor que diff --git a/lang/german.txt b/lang/german.txt index 9e477a6f..c833af5f 100644 --- a/lang/german.txt +++ b/lang/german.txt @@ -84,10 +84,10 @@ JN|Moechten Sie in den Menues "Hot-Keys" verwenden? [J/n]: |Bitte verwenden Sie das vorgegebene Datumsformat |Logins heute bis |# Benutzername Leitg. TimeOn Anrufe Ort -|Safe Cracker Door -|Um fortzufahren druecken Sie bitte eine Taste: -|Im Safe liegt ... -|Bitte geben Sie drei Zahlen ein - von 1 bis +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: |Bitte geben Sie drei Kombinationen ein. |1. Zahl: |Bitte versuchen Sie es erneut! Verwenden Sie Zahlen groesser 0 und kleiner diff --git a/lang/germandu.txt b/lang/germandu.txt index d6dc2943..842784d4 100644 --- a/lang/germandu.txt +++ b/lang/germandu.txt @@ -84,10 +84,10 @@ JN|Moechtest Du Menues mit "Hot-Keys" verwenden? [a/ein]: |Bitte verwende das vorgegebene Datumsformat |Logins heute bis |# User Name Leitg. TimeOn Calls Ort -|Safe Cracker Door -|Um fortzufahren druecke bitte eine Taste: -|Im Safe liegt ... -|Bitte gib drei Zahlen ein - von 1 bis +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: |Bitte gib Deine Kombination ein. |1. Zahl: |Bitte versuche es erneut! Verwende Zahlen groesser 0 und kleiner diff --git a/lang/spanish.txt b/lang/spanish.txt index 54804686..849811bf 100644 --- a/lang/spanish.txt +++ b/lang/spanish.txt @@ -84,10 +84,10 @@ SN| |Teclee el formato de fecha correcto |Hoy llamaron a |# Usr. Nombre Puerto Tiempo Llams Localidad -|Juego de Robar la Caja Fuerte -|Pulse una tecla para seguir: -|En la caja hay ... -|Teclee tres n£meros de 1 a +|Can't open archiver file. +|Select your preferred archiver +|Select Archiver (Enter to Quit): +|Archiver now set to: |Teclee tres combinaciones. |1er digito: |­Repita! Debe ser un n£mero mayor que cero y menor que diff --git a/mbsebbs/change.c b/mbsebbs/change.c index 4a1d4f24..9a78cd2d 100644 --- a/mbsebbs/change.c +++ b/mbsebbs/change.c @@ -4,7 +4,7 @@ * Purpose ...............: Change user settings * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2006 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -804,6 +804,98 @@ void Chg_DOB() +/* + * Change default archiver. + */ +void Chg_Archiver() +{ + FILE *fp; + int Found = FALSE; + char *temp; + + temp = calloc(PATH_MAX, sizeof(char)); + ReadExitinfo(); + Syslog('+', "Old archiver %s", exitinfo.Archiver); + + while(TRUE) { + snprintf(temp, PATH_MAX, "%s/etc/archiver.data", getenv("MBSE_ROOT")); + + if ((fp = fopen(temp, "r")) == NULL) { + WriteError("$Can't open %s", temp); + /* Can't open archiver file. */ + Enter(1); + PUTSTR((char *) Language(86)); + Enter(2); + Pause(); + free(temp); + return; + } + fread(&archiverhdr, sizeof(archiverhdr), 1, fp); + + Enter(1); + /* Select your preferred archiver */ + pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(87)); + Enter(2); + while (fread(&archiver, archiverhdr.recsize, 1, fp) == 1) { + if (archiver.available && strlen(archiver.marc) && strlen(archiver.farc)) { + colour(LIGHTBLUE, BLACK); + snprintf(temp, 81, "%-6s", archiver.name); + PUTSTR(temp); + colour(WHITE, BLACK); + snprintf(temp, 81, "%s\r\n", archiver.comment); + PUTSTR(temp); + } + } + + Enter(1); + /* Select Archiver (Enter to Quit): */ + pout(CFG.HiliteF, CFG.HiliteB, (char *) Language(88)); + + alarm_on(); + memset(temp, 0, PATH_MAX); + GetstrC(temp, 5); + if (strlen(temp) == 0) { + free(temp); + return; + } + + Found = FALSE; + fseek(fp, archiverhdr.hdrsize, SEEK_SET); + while (fread(&archiver, archiverhdr.recsize, 1, fp) == 1) { + if (archiver.available && strlen(archiver.marc) && strlen(archiver.farc)) { + if (strcasecmp(archiver.name, temp) == 0) { + /* Valid input, set new archiver */ + Found = TRUE; + break; + } + } + } + fclose(fp); + + if (Found) + break; + + Enter(2); + /* Invalid selection, please try again! */ + pout(LIGHTGREEN, BLACK, (char *) Language(265)); + Enter(2); + /* Loop for new attempt */ + } + + strncpy(exitinfo.Archiver, archiver.name, 6); + /* Archiver now set to: */ + snprintf(temp, 81, "%s %s", Language(89), exitinfo.Archiver); + colour(WHITE, BLACK); + PUTSTR(temp); + Syslog('+', "New archiver %s", exitinfo.Archiver); + WriteExitinfo(); + free(temp); + Enter(2); + Pause(); +} + + + /* * Change default protocol. */ diff --git a/mbsebbs/change.h b/mbsebbs/change.h index 67b7a1dc..e3c8e197 100644 --- a/mbsebbs/change.h +++ b/mbsebbs/change.h @@ -20,6 +20,7 @@ void Chg_DataPhone(void); /* Change dataphone */ void Chg_News(void); /* Toggle News Bulletins */ int Test_DOB(char *); /* Test of Date of Birth is valid */ void Chg_DOB(void); /* Change Date of Birth */ +void Chg_Archiver(void); /* Change default archiver */ void Chg_Protocol(void); /* Change default transfer protocol. */ void Set_Protocol(char *); /* Set default protocol */ void Chg_OLR_ExtInfo(void); /* Set OLR Extended Info */ diff --git a/mbsebbs/dispfile.c b/mbsebbs/dispfile.c index 9c80e700..eb09b812 100644 --- a/mbsebbs/dispfile.c +++ b/mbsebbs/dispfile.c @@ -4,7 +4,7 @@ * Purpose ...............: Display ANSI/ASCII textfiles * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2006 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -562,6 +562,10 @@ void ControlCodeU(int ch) snprintf(temp, 81, "%s", getftnchrs(exitinfo.Charset)); break; + case '0': + snprintf(temp, 81, "%s", exitinfo.Archiver); + break; + default: snprintf(temp, 81, " "); } diff --git a/mbsebbs/menu.c b/mbsebbs/menu.c index da62e428..893095de 100644 --- a/mbsebbs/menu.c +++ b/mbsebbs/menu.c @@ -4,7 +4,7 @@ * Purpose ...............: Display and handle the menus. * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2006 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -659,6 +659,10 @@ void DoMenu(int Type) Chg_Charset(); break; + case 322: + Chg_Archiver(); + break; + case 401: Oneliner_Add(); break; diff --git a/mbsetup/ledit.c b/mbsetup/ledit.c index 4a2b6334..054b18ae 100644 --- a/mbsetup/ledit.c +++ b/mbsetup/ledit.c @@ -4,7 +4,7 @@ * Purpose ...............: Line Editor * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2006 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -2224,6 +2224,7 @@ char *getmenutype(int val) case 319: return (char *)"Change .signature file"; case 320: return (char *)"Change OLR Extended Info"; case 321: return (char *)"Change character set"; + case 322: return (char *)"Change archiver"; case 401: return (char *)"Add oneliner"; case 402: return (char *)"List oneliners"; diff --git a/mbsetup/m_menu.c b/mbsetup/m_menu.c index 067f8619..70b5219d 100644 --- a/mbsetup/m_menu.c +++ b/mbsetup/m_menu.c @@ -4,7 +4,7 @@ * Purpose ...............: Edit BBS menus * ***************************************************************************** - * Copyright (C) 1997-2005 + * Copyright (C) 1997-2006 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -192,7 +192,7 @@ int GetMenuType(void) case 1: return GetSubmenu(1, 22); case 2: return GetSubmenu(101, 19); case 3: return GetSubmenu(201, 21); - case 4: return GetSubmenu(301, 21); + case 4: return GetSubmenu(301, 22); case 5: return GetSubmenu(401, 5); default: return 0; }