Added archiver selection for nodes in node setup
This commit is contained in:
parent
7ba32f5d22
commit
fc4f560781
@ -12,6 +12,10 @@ $Id$
|
||||
|
||||
v0.83.14 23-Feb-2006
|
||||
|
||||
mbsetup:
|
||||
Added archiver selection for nodes in node setup.
|
||||
|
||||
|
||||
v0.83.13 13-Feb-2006 - 23-Feb-2006
|
||||
|
||||
upgrade:
|
||||
|
@ -1738,6 +1738,7 @@ struct _nodes {
|
||||
char Ct_remark[65]; /* Remark */
|
||||
|
||||
securityrec Security; /* Security flags */
|
||||
char Archiver[6]; /* Archiver to use */
|
||||
};
|
||||
|
||||
|
||||
|
@ -95,7 +95,7 @@ m_fdb.o: ../config.h ../lib/mbselib.h ../lib/users.h ../lib/mbsedb.h screen.h mu
|
||||
m_global.o: ../config.h ../paths.h ../lib/mbselib.h screen.h mutil.h ledit.h m_node.h m_marea.h m_ticarea.h m_new.h m_fgroup.h m_mgroup.h m_limits.h m_global.h
|
||||
m_magic.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h stlist.h m_ticarea.h m_global.h m_magic.h
|
||||
m_mgroup.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h stlist.h m_global.h m_node.h m_marea.h m_mgroup.h
|
||||
m_node.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h grlist.h stlist.h m_global.h m_lang.h m_ticarea.h m_marea.h m_node.h
|
||||
m_node.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h grlist.h stlist.h m_global.h m_lang.h m_ticarea.h m_marea.h m_archive.h m_node.h
|
||||
m_task.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h m_task.h
|
||||
m_users.o: ../config.h ../lib/mbselib.h ../lib/users.h screen.h mutil.h ledit.h m_lang.h m_global.h m_archive.h m_protocol.h m_users.h
|
||||
screen.o: ../config.h ../lib/mbselib.h screen.h
|
||||
|
@ -710,71 +710,79 @@ void InitArchive(void)
|
||||
|
||||
|
||||
|
||||
char *PickArchive(char *shdr)
|
||||
char *PickArchive(char *shdr, int mailmode)
|
||||
{
|
||||
static char Arch[6] = "";
|
||||
int records, i, x, y;
|
||||
char pick[12];
|
||||
FILE *fil;
|
||||
char temp[PATH_MAX];
|
||||
int offset;
|
||||
static char Arch[6] = "";
|
||||
int records, i, y, o = 0;
|
||||
char pick[12];
|
||||
FILE *fil;
|
||||
char temp[PATH_MAX];
|
||||
int offset;
|
||||
|
||||
|
||||
clr_index();
|
||||
working(1, 0, 0);
|
||||
if (config_read() == -1) {
|
||||
working(2, 0, 0);
|
||||
return Arch;
|
||||
}
|
||||
|
||||
records = CountArchive();
|
||||
if (records == -1) {
|
||||
working(2, 0, 0);
|
||||
return Arch;
|
||||
}
|
||||
|
||||
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
snprintf(temp, 81, "%s. ARCHIVER SELECT", shdr);
|
||||
mbse_mvprintw( 5, 4, temp);
|
||||
set_color(CYAN, BLACK);
|
||||
if (records != 0) {
|
||||
snprintf(temp, PATH_MAX, "%s/etc/archiver.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&archiverhdr, sizeof(archiverhdr), 1, fil);
|
||||
x = 2;
|
||||
y = 7;
|
||||
set_color(CYAN, BLACK);
|
||||
for (i = 1; i <= records; i++) {
|
||||
offset = sizeof(archiverhdr) + ((i - 1) * archiverhdr.recsize);
|
||||
fseek(fil, offset, 0);
|
||||
fread(&archiver, archiverhdr.recsize, 1, fil);
|
||||
if (i == 11) {
|
||||
x = 41;
|
||||
y = 7;
|
||||
}
|
||||
if (archiver.available)
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
snprintf(temp, 81, "%3d. %-32s", i, archiver.comment);
|
||||
temp[37] = 0;
|
||||
mbse_mvprintw(y, x, temp);
|
||||
y++;
|
||||
}
|
||||
strcpy(pick, select_pick(records, 20));
|
||||
|
||||
if ((atoi(pick) >= 1) && (atoi(pick) <= records)) {
|
||||
offset = sizeof(archiverhdr) + ((atoi(pick) - 1) * archiverhdr.recsize);
|
||||
fseek(fil, offset, 0);
|
||||
fread(&archiver, archiverhdr.recsize, 1, fil);
|
||||
strcpy(Arch, archiver.name);
|
||||
}
|
||||
fclose(fil);
|
||||
}
|
||||
}
|
||||
clr_index();
|
||||
working(1, 0, 0);
|
||||
if (config_read() == -1) {
|
||||
working(2, 0, 0);
|
||||
return Arch;
|
||||
}
|
||||
|
||||
records = CountArchive();
|
||||
if (records == -1) {
|
||||
working(2, 0, 0);
|
||||
return Arch;
|
||||
}
|
||||
|
||||
if (records != 0) {
|
||||
snprintf(temp, PATH_MAX, "%s/etc/archiver.data", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(temp, "r")) != NULL) {
|
||||
fread(&archiverhdr, sizeof(archiverhdr), 1, fil);
|
||||
|
||||
for (;;) {
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
snprintf(temp, 81, "%s. ARCHIVER SELECT", shdr);
|
||||
mbse_mvprintw( 5, 4, temp);
|
||||
set_color(CYAN, BLACK);
|
||||
y = 7;
|
||||
for (i = 1; i <= 10; i++) {
|
||||
if ((o + i) <= records) {
|
||||
offset = sizeof(archiverhdr) + (((o + i) - 1) * archiverhdr.recsize);
|
||||
fseek(fil, offset, 0);
|
||||
fread(&archiver, archiverhdr.recsize, 1, fil);
|
||||
if (mailmode && archiver.available && strlen(archiver.marc))
|
||||
set_color(CYAN, BLACK);
|
||||
else if (! mailmode && archiver.available && strlen(archiver.farc))
|
||||
set_color(CYAN, BLACK);
|
||||
else
|
||||
set_color(LIGHTBLUE, BLACK);
|
||||
snprintf(temp, 81, "%3d. %-5s %-32s", o+i, archiver.name, archiver.comment);
|
||||
mbse_mvprintw(y, 2, temp);
|
||||
y++;
|
||||
}
|
||||
}
|
||||
strcpy(pick, select_pick(records, 10));
|
||||
|
||||
if (strncmp(pick, "N", 1) == 0)
|
||||
if ((o + 10) < records)
|
||||
o = o + 10;
|
||||
|
||||
if (strncmp(pick, "P", 1) == 0)
|
||||
if ((o - 10) >= 0)
|
||||
o = o - 10;
|
||||
|
||||
if ((atoi(pick) >= 1) && (atoi(pick) <= records)) {
|
||||
offset = sizeof(archiverhdr) + ((atoi(pick) - 1) * archiverhdr.recsize);
|
||||
fseek(fil, offset, 0);
|
||||
fread(&archiver, archiverhdr.recsize, 1, fil);
|
||||
strcpy(Arch, archiver.name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
fclose(fil);
|
||||
}
|
||||
}
|
||||
return Arch;
|
||||
}
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
int CountArchive(void);
|
||||
void EditArchive(void);
|
||||
char *PickArchive(char *);
|
||||
char *PickArchive(char *, int);
|
||||
void InitArchive(void);
|
||||
int archive_doc(FILE *, FILE *, int);
|
||||
|
||||
|
@ -480,7 +480,7 @@ int EditFileRec(int Area)
|
||||
case 19:E_INT( 12,73, area.DLdays, "The not ^downloaded days^ to move/kill files")
|
||||
case 20:E_INT( 13,73, area.FDdays, "The ^file age^ in days to move/kill files")
|
||||
case 21:E_INT( 14,73, area.MoveArea, "The ^area to move^ files to, 0 is kill")
|
||||
case 22:strcpy(area.Archiver, PickArchive((char *)"8.4"));
|
||||
case 22:strcpy(area.Archiver, PickArchive((char *)"8.4", FALSE));
|
||||
FileScreen();
|
||||
break;
|
||||
case 23:E_INT( 16,73, area.Upload, "The ^upload^ area, 0 if upload in this area")
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Setup FGroups.
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2005
|
||||
* Copyright (C) 1997-2006
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -425,7 +425,7 @@ int EditFGrpRec(int Area)
|
||||
case 6: E_STR( 11,16,12,fgroup.AreaFile, "The name of the ^Areas File^ from the uplink (case sensitive)")
|
||||
case 7: E_BOOL(12,16, fgroup.FileGate, "Is the areas file in ^filegate.zxx^ format")
|
||||
case 8: E_STR( 13,16,14,fgroup.Banner, "The ^banner^ to add to the archives")
|
||||
case 9: strcpy(fgroup.Convert, PickArchive((char *)"10.1.9"));
|
||||
case 9: strcpy(fgroup.Convert, PickArchive((char *)"10.1.9", FALSE));
|
||||
FgScreen();
|
||||
break;
|
||||
case 10:strncpy(fgroup.BbsGroup, PickFGroup((char *)"8.4.17"), 12);
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "m_lang.h"
|
||||
#include "m_ticarea.h"
|
||||
#include "m_marea.h"
|
||||
#include "m_archive.h"
|
||||
#include "m_node.h"
|
||||
|
||||
|
||||
@ -154,6 +155,9 @@ int OpenNoderec(void)
|
||||
nodes.Security.level = 1;
|
||||
nodes.Security.flags = 1;
|
||||
}
|
||||
if (strlen(nodes.Archiver) == 0) {
|
||||
snprintf(nodes.Archiver, 6, (char *)"ZIP");
|
||||
}
|
||||
}
|
||||
fwrite(&nodes, sizeof(nodes), 1, fout);
|
||||
memset(&nodes, 0, sizeof(nodes));
|
||||
@ -435,31 +439,44 @@ void E_UplMgr(void)
|
||||
void E_Mail(void);
|
||||
void E_Mail(void)
|
||||
{
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
mbse_mvprintw( 5, 6, "7.4 EDIT NODE - MAIL PROCESSING");
|
||||
set_color(CYAN, BLACK);
|
||||
mbse_mvprintw( 7, 6, "1. PKT password");
|
||||
mbse_mvprintw( 8, 6, "2. Check PKT pwd");
|
||||
mbse_mvprintw( 9, 6, "3. Mail forward");
|
||||
mbse_mvprintw(10, 6, "4. ARCmail comp.");
|
||||
mbse_mvprintw(11, 6, "5. ARCmail a..z");
|
||||
char temp[6];
|
||||
int show = TRUE;
|
||||
|
||||
for (;;) {
|
||||
if (show) {
|
||||
clr_index();
|
||||
set_color(WHITE, BLACK);
|
||||
mbse_mvprintw( 5, 6, "7.4 EDIT NODE - MAIL PROCESSING");
|
||||
set_color(CYAN, BLACK);
|
||||
mbse_mvprintw( 7, 6, "1. PKT password");
|
||||
mbse_mvprintw( 8, 6, "2. Check PKT pwd");
|
||||
mbse_mvprintw( 9, 6, "3. Mail forward");
|
||||
mbse_mvprintw(10, 6, "4. ARCmail comp.");
|
||||
mbse_mvprintw(11, 6, "5. ARCmail a..z");
|
||||
mbse_mvprintw(12, 6, "6. Archiver");
|
||||
show = FALSE;
|
||||
}
|
||||
|
||||
set_color(WHITE, BLACK);
|
||||
show_str( 7,25,15, (char *)"***************");
|
||||
show_bool( 8,25, nodes.MailPwdCheck);
|
||||
show_bool( 9,25, nodes.MailFwd);
|
||||
show_bool(10,25, nodes.ARCmailCompat);
|
||||
show_bool(11,25, nodes.ARCmailAlpha);
|
||||
show_str( 12,25, 5, nodes.Archiver);
|
||||
|
||||
switch(select_menu(5)) {
|
||||
switch(select_menu(6)) {
|
||||
case 0: return;
|
||||
case 1: E_STR( 7,25,15, nodes.Epasswd, "The ^Mail (.pkt)^ password^ for this node")
|
||||
case 2: E_BOOL( 8,25, nodes.MailPwdCheck, "Check the ^mail PKT^ password")
|
||||
case 3: E_BOOL( 9,25, nodes.MailFwd, "^Forward^ echomail for this node")
|
||||
case 4: E_BOOL(10,25, nodes.ARCmailCompat, "Use ^ARCmail 0.60^ file naming convention for out of zone mail")
|
||||
case 5: E_BOOL(11,25, nodes.ARCmailAlpha, "Allow ^0..9 and a..z^ filename extensions for ARCmail archives")
|
||||
case 6: strcpy(temp, PickArchive((char *)"7.4", TRUE));
|
||||
if (strlen(temp) != 0)
|
||||
strcpy(nodes.Archiver, temp);
|
||||
show = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: TIC Areas Setup Program
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2005
|
||||
* Copyright (C) 1997-2006
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -959,7 +959,7 @@ int EditTicRec(int Area)
|
||||
tic.Aka = CFG.aka[tmp];
|
||||
SetTicScreen();
|
||||
break;
|
||||
case 9: strcpy(tic.Convert, PickArchive((char *)"10.2.9"));
|
||||
case 9: strcpy(tic.Convert, PickArchive((char *)"10.2.9", FALSE));
|
||||
SetTicScreen();
|
||||
break;
|
||||
case 10:E_STR(15,16,14, tic.Banner, "The ^banner^ to put in the file archives");
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Edit Users
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2005
|
||||
* Copyright (C) 1997-2006
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@ -403,7 +403,7 @@ int EditUsrRec2(void)
|
||||
clr_index();
|
||||
Screen2();
|
||||
break;
|
||||
case 12:strcpy(temp, PickArchive((char *)"15"));
|
||||
case 12:strcpy(temp, PickArchive((char *)"15", TRUE));
|
||||
if (strlen(temp) != 0)
|
||||
strcpy(usrconfig.Archiver, temp);
|
||||
clr_index();
|
||||
|
Reference in New Issue
Block a user