From 6ef385afb2bf37df10019b9e8f4741cae23d0865 Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Sun, 28 Mar 2004 19:36:30 +0000 Subject: [PATCH] Updates for html sitedocs --- TODO | 3 - mbsetup/m_farea.c | 4 +- mbsetup/m_fgroup.c | 8 +-- mbsetup/m_modem.c | 146 +++++++++++++++++++++++++++++++++------------ mbsetup/m_new.c | 133 ++++++++++++++++++++++++++--------------- mbsetup/m_ngroup.c | 111 +++++++++++++++++++++++++++------- mbsetup/mbsetup.c | 7 ++- 7 files changed, 290 insertions(+), 122 deletions(-) diff --git a/TODO b/TODO index 98215de9..c8686c3a 100644 --- a/TODO +++ b/TODO @@ -170,14 +170,11 @@ mbsetup: N: When a message area is deleted, delete the rulesfile too. X: Generate crossreference document: - File Areas <=> BBS groups - File Areas <=> Newfiles groups Filefind flags <=> TIC Areas Echomail <=> Nodes Fileechos <=> Groups Fileechos <=> Nodes Fileechos <=> Magic processing Fileechos <=> Hatch - Newfiles <=> BBS Areas Newfiles <=> Newfiles groups diff --git a/mbsetup/m_farea.c b/mbsetup/m_farea.c index 53910ca9..ede84071 100644 --- a/mbsetup/m_farea.c +++ b/mbsetup/m_farea.c @@ -809,8 +809,8 @@ int bbs_file_doc(FILE *fp, FILE *toc, int page) add_webtable(wp, (char *)"Allow filerequest", getboolean(area.FileReq)); fprintf(wp, "BBS (tic) file group%s\n", area.BbsGroup, area.BbsGroup); - fprintf(wp, "Newfiles announce group%s\n", - area.NewGroup, area.NewGroup); + fprintf(wp, "Newfiles announce group%s\n", + area.NewGroup); add_webdigit(wp, (char *)"Minimum age for access", area.Age); add_webtable(wp, (char *)"Area password", area.Password); add_webdigit(wp, (char *)"Kill Download days", area.DLdays); diff --git a/mbsetup/m_fgroup.c b/mbsetup/m_fgroup.c index 84d6be5c..b0f751f9 100644 --- a/mbsetup/m_fgroup.c +++ b/mbsetup/m_fgroup.c @@ -717,8 +717,8 @@ int tic_group_doc(FILE *fp, FILE *toc, int page) if ((wp = open_webdoc(temp, (char *)"File group", fgroup.Comment))) { fprintf(wp, "Main Back\n"); fprintf(wp, "

\n"); - fprintf(wp, "\n"); - fprintf(wp, "\n"); + fprintf(wp, "
\n"); + fprintf(wp, "\n"); fprintf(wp, "\n"); add_webtable(wp, (char *)"Group name", fgroup.Name); add_webtable(wp, (char *)"Comment", fgroup.Comment); @@ -750,8 +750,8 @@ int tic_group_doc(FILE *fp, FILE *toc, int page) add_webtable(wp, (char *)"Default tic security", getflag(fgroup.LinkSec.flags, fgroup.LinkSec.notflags)); fprintf(wp, "\n", fgroup.BbsGroup, fgroup.BbsGroup); - fprintf(wp, "\n", - fgroup.AnnGroup, fgroup.AnnGroup); + fprintf(wp, "\n", + fgroup.AnnGroup); sprintf(temp, "%d", fgroup.Upload); add_webtable(wp, (char *)"Upload area", temp); add_webtable(wp, (char *)"Start date", ctime(&fgroup.StartDate)); diff --git a/mbsetup/m_modem.c b/mbsetup/m_modem.c index cc17b140..b52301ca 100644 --- a/mbsetup/m_modem.c +++ b/mbsetup/m_modem.c @@ -683,50 +683,120 @@ char *PickModem(char *shdr) int modem_doc(FILE *fp, FILE *toc, int page) { - char temp[PATH_MAX]; - FILE *mdm; - int i, j; + char temp[PATH_MAX]; + FILE *ti, *wp, *ip, *mdm; + int refs, nr = 0, i, j; - sprintf(temp, "%s/etc/modem.data", getenv("MBSE_ROOT")); - if ((mdm = fopen(temp, "r")) == NULL) - return page; + sprintf(temp, "%s/etc/modem.data", getenv("MBSE_ROOT")); + if ((mdm = fopen(temp, "r")) == NULL) + return page; - page = newpage(fp, page); - addtoc(fp, toc, 5, 0, page, (char *)"Modem types information"); - j = 0; + page = newpage(fp, page); + addtoc(fp, toc, 5, 0, page, (char *)"Modem types information"); + j = 0; - fprintf(fp, "\n\n"); - fread(&modemhdr, sizeof(modemhdr), 1, mdm); + fprintf(fp, "\n\n"); + fread(&modemhdr, sizeof(modemhdr), 1, mdm); - while ((fread(&modem, modemhdr.recsize, 1, mdm)) == 1) { - if (j == 1) { - page = newpage(fp, page); - fprintf(fp, "\n"); - j = 0; - } - - fprintf(fp, " Modem type %s\n", modem.modem); - for (i = 0; i < 3; i++) - fprintf(fp, " Init string %s\n", modem.init[i]); - fprintf(fp, " OK string %s\n", modem.ok); - fprintf(fp, " Hangup %s\n", modem.hangup); - fprintf(fp, " Info command %s\n", modem.info); - fprintf(fp, " Dial command %s\n", modem.dial); - for (i = 0; i < 20; i++) - fprintf(fp, " Connect %s\n", modem.connect[i]); - fprintf(fp, " Reset cmd %s\n", modem.reset); - for (i = 0; i < 10; i++) - fprintf(fp, " Error string %s\n", modem.error[i]); - fprintf(fp, " Cost offset %d\n", modem.costoffset); - fprintf(fp, " EMSI speed %s\n", modem.speed); - fprintf(fp, " Strip dashes %s\n", getboolean(modem.stripdash)); - fprintf(fp, " Available %s\n", getboolean(modem.available)); - fprintf(fp, "\n\n\n"); - j++; + ip = open_webdoc((char *)"modem.html", (char *)"Modems", NULL); + fprintf(ip, "Main\n"); + fprintf(ip, "
BBS (tic) file group%s
Newfiles announce group%s
Newfiles announce group%s
\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + add_webtable(wp, (char *)"Modem type", modem.modem); + for (i = 0; i < 3; i++) + if (strlen(modem.init[i])) { + sprintf(temp, "Init string %d", i+1); + add_webtable(wp, temp, modem.init[i]); + } + add_webtable(wp, (char *)"OK string", modem.ok); + add_webtable(wp, (char *)"Hangup", modem.hangup); + add_webtable(wp, (char *)"Info command", modem.info); + add_webtable(wp, (char *)"Dial command", modem.dial); + for (i = 0; i < 20; i++) + if (strlen(modem.connect[i])) + add_webtable(wp, (char *)"Connect", modem.connect[i]); + add_webtable(wp, (char *)"Reset", modem.reset); + for (i = 0; i < 10; i++) + if (strlen(modem.error[i])) + add_webtable(wp, (char *)"Error string", modem.error[i]); + add_webdigit(wp, (char *)"Cost offset", modem.costoffset); + add_webtable(wp, (char *)"EMSI speed", modem.speed); + add_webtable(wp, (char *)"Strip dashes", getboolean(modem.stripdash)); + add_webtable(wp, (char *)"Available", getboolean(modem.available)); + fprintf(wp, "\n"); + fprintf(wp, "
\n"); + fprintf(wp, "


\n"); + fprintf(wp, "

TTY Lines Reference

\n"); + refs = 0; + sprintf(temp, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT")); + if ((ti = fopen(temp, "r"))) { + fread(&ttyinfohdr, sizeof(ttyinfohdr), 1, ti); + fseek(ti, 0, SEEK_SET); + fread(&ttyinfo, ttyinfohdr.hdrsize, 1, ti); + while ((fread(&ttyinfo, ttyinfohdr.recsize, 1, ti)) == 1) { + if (ttyinfo.available && (strcmp(modem.modem, ttyinfo.modem) == 0)) { + if (refs == 0) { + fprintf(wp, "\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + } + fprintf(wp, "\n", + ttyinfo.tty, ttyinfo.tty, ttyinfo.comment); + refs++; + } + } + fclose(ti); + } + if (refs == 0) + fprintf(wp, "No TTY Lines References\n"); + else { + fprintf(wp, "\n"); + fprintf(wp, "
%s%s
\n"); + } + close_webdoc(wp); + } + + fprintf(fp, " Modem type %s\n", modem.modem); + for (i = 0; i < 3; i++) + fprintf(fp, " Init string %s\n", modem.init[i]); + fprintf(fp, " OK string %s\n", modem.ok); + fprintf(fp, " Hangup %s\n", modem.hangup); + fprintf(fp, " Info command %s\n", modem.info); + fprintf(fp, " Dial command %s\n", modem.dial); + for (i = 0; i < 20; i++) + fprintf(fp, " Connect %s\n", modem.connect[i]); + fprintf(fp, " Reset cmd %s\n", modem.reset); + for (i = 0; i < 10; i++) + fprintf(fp, " Error string %s\n", modem.error[i]); + fprintf(fp, " Cost offset %d\n", modem.costoffset); + fprintf(fp, " EMSI speed %s\n", modem.speed); + fprintf(fp, " Strip dashes %s\n", getboolean(modem.stripdash)); + fprintf(fp, " Available %s\n", getboolean(modem.available)); + fprintf(fp, "\n\n\n"); + j++; + } + + fprintf(ip, "\n"); + close_webdoc(ip); + + fclose(mdm); + return page; } diff --git a/mbsetup/m_new.c b/mbsetup/m_new.c index 97cbcf62..abaf5868 100644 --- a/mbsetup/m_new.c +++ b/mbsetup/m_new.c @@ -539,57 +539,92 @@ void InitNewfiles(void) int new_doc(FILE *fp, FILE *toc, int page) { - char temp[PATH_MAX], group[13]; - FILE *no; - int groups, i, j; + char temp[PATH_MAX], group[13]; + FILE *wp, *ip, *no; + int groups, i, j, nr = 0; - sprintf(temp, "%s/etc/newfiles.data", getenv("MBSE_ROOT")); - if ((no = fopen(temp, "r")) == NULL) - return page; - - page = newpage(fp, page); - addtoc(fp, toc, 12, 0, page, (char *)"Newfiles reports"); - j = 0; - - fprintf(fp, "\n\n"); - fread(&newfileshdr, sizeof(newfileshdr), 1, no); - - while ((fread(&newfiles, newfileshdr.recsize, 1, no)) == 1) { - - if (j == 3) { - page = newpage(fp, page); - fprintf(fp, "\n"); - j = 0; - } - - fprintf(fp, " Area comment %s\n", newfiles.Comment); - fprintf(fp, " Message area %s\n", newfiles.Area); - fprintf(fp, " Origin line %s\n", newfiles.Origin); - fprintf(fp, " From name %s\n", newfiles.From); - fprintf(fp, " To name %s\n", newfiles.Too); - fprintf(fp, " Subject %s\n", newfiles.Subject); - fprintf(fp, " Language %c\n", newfiles.Language); - fprintf(fp, " Aka to use %s\n", aka2str(newfiles.UseAka)); - fprintf(fp, " Active %s\n", getboolean(newfiles.Active)); - fprintf(fp, " Allow High ASCII %s\n", getboolean(newfiles.HiAscii)); - fprintf(fp, "\n File groups:\n "); - groups = newfileshdr.grpsize / sizeof(group); - for (i = 0; i < groups; i++) { - fread(&group, sizeof(group), 1, no); - if (strlen(group)) { - fprintf(fp, "%-12s ", group); - if (((i+1) %5) == 0) - fprintf(fp, "\n "); - } - } - if ((i+1) % 5) - fprintf(fp, "\n"); - fprintf(fp, "\n\n\n"); - j++; - } - - fclose(no); + sprintf(temp, "%s/etc/newfiles.data", getenv("MBSE_ROOT")); + if ((no = fopen(temp, "r")) == NULL) return page; + + page = newpage(fp, page); + addtoc(fp, toc, 12, 0, page, (char *)"Newfiles reports"); + j = 0; + + fprintf(fp, "\n\n"); + fread(&newfileshdr, sizeof(newfileshdr), 1, no); + + ip = open_webdoc((char *)"newfiles.html", (char *)"Newfiles Reports", NULL); + fprintf(ip, "Main\n"); + fprintf(ip, "\n"); + close_webdoc(ip); + + fclose(no); + return page; } diff --git a/mbsetup/m_ngroup.c b/mbsetup/m_ngroup.c index 09e84c75..e54dd4e2 100644 --- a/mbsetup/m_ngroup.c +++ b/mbsetup/m_ngroup.c @@ -496,32 +496,97 @@ char *PickNGroup(char *shdr) int newf_group_doc(FILE *fp, FILE *toc, int page) { - char *temp; - FILE *no; + char *temp; + FILE *ip, *wp, *no; + int refs, nr; - temp = calloc(PATH_MAX, sizeof(char)); - sprintf(temp, "%s/etc/ngroups.data", getenv("MBSE_ROOT")); - if ((no = fopen(temp, "r")) == NULL) { - free(temp); - return page; - } + temp = calloc(PATH_MAX, sizeof(char)); + sprintf(temp, "%s/etc/ngroups.data", getenv("MBSE_ROOT")); + if ((no = fopen(temp, "r")) == NULL) { free(temp); - - page = newpage(fp, page); - addtoc(fp, toc, 11, 0, page, (char *)"Newfiles announce groups"); - fprintf(fp, "\n"); - fprintf(fp, " Name Act Comment\n"); - fprintf(fp, " ------------ --- --------------------------------------------------\n"); - - fread(&ngrouphdr, sizeof(ngrouphdr), 1, no); - fseek(no, 0, SEEK_SET); - fread(&ngrouphdr, ngrouphdr.hdrsize, 1, no); - - while ((fread(&ngroup, ngrouphdr.recsize, 1, no)) == 1) - fprintf(fp, " %-12s %s %s\n", ngroup.Name, getboolean(ngroup.Active), ngroup.Comment); - - fclose(no); return page; + } + + wp = open_webdoc((char *)"newgroup.html", (char *)"Newfiles groups", NULL); + fprintf(wp, "Main\n"); + + page = newpage(fp, page); + addtoc(fp, toc, 11, 0, page, (char *)"Newfiles announce groups"); + fprintf(fp, "\n"); + fprintf(fp, " Name Act Comment\n"); + fprintf(fp, " ------------ --- --------------------------------------------------\n"); + + fread(&ngrouphdr, sizeof(ngrouphdr), 1, no); + fseek(no, 0, SEEK_SET); + fread(&ngrouphdr, ngrouphdr.hdrsize, 1, no); + + fprintf(wp, "

\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + + while ((fread(&ngroup, ngrouphdr.recsize, 1, no)) == 1) { + fprintf(fp, " %-12s %s %s\n", ngroup.Name, getboolean(ngroup.Active), ngroup.Comment); + fprintf(wp, "\n", ngroup.Name, getboolean(ngroup.Active), ngroup.Comment); + } + + fprintf(wp, "\n"); + fprintf(wp, "
NameActComment
%s%s%s
\n"); + + fseek(no, ngrouphdr.hdrsize, SEEK_SET); + while ((fread(&ngroup, ngrouphdr.recsize, 1, no)) == 1) { + refs = 0; + sprintf(temp, "%s/etc/fareas.data", getenv("MBSE_ROOT")); + if ((ip = fopen(temp, "r"))) { + fread(&areahdr, sizeof(areahdr), 1, ip); + nr = 0; + while ((fread(&area, areahdr.recsize, 1, ip)) == 1) { + nr++; + if (area.Available && (strcmp(ngroup.Name, area.NewGroup) == 0)) { + if (refs == 0) { + fprintf(wp, "


\n"); + fprintf(wp, "

References for group %s

\n", ngroup.Name); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + } + refs++; + fprintf(wp, "\n", nr, nr, area.Name); + } + } + fclose(ip); + } + sprintf(temp, "%s/etc/fgroups.data", getenv("MBSE_ROOT")); + if ((ip = fopen(temp, "r"))) { + fread(&fgrouphdr, fgrouphdr.hdrsize, 1, ip); + while ((fread(&fgroup, fgrouphdr.recsize, 1, ip)) == 1) { + if (strcmp(ngroup.Name, fgroup.AnnGroup) == 0) { + if (refs == 0) { + fprintf(wp, "
\n"); + fprintf(wp, "

References for group %s

\n", ngroup.Name); + fprintf(wp, "
File area %d%s
\n"); + fprintf(wp, "\n"); + fprintf(wp, "\n"); + } + refs++; + fprintf(wp, "\n", + fgroup.Name, fgroup.Name, fgroup.Comment); + } + } + fclose(ip); + } + if (refs) { + fprintf(wp, "\n"); + fprintf(wp, "
File group %s%s
\n"); + } + } + + close_webdoc(wp); + + free(temp); + fclose(no); + return page; } diff --git a/mbsetup/mbsetup.c b/mbsetup/mbsetup.c index a3e23ad1..365ec105 100644 --- a/mbsetup/mbsetup.c +++ b/mbsetup/mbsetup.c @@ -189,6 +189,7 @@ int horiz; void dotter(void); void dotter(void) { + Nopper(); mvprintw(8, horiz++, (char *)"."); fflush(stdout); } @@ -235,7 +236,7 @@ void site_docs(void) fprintf(hp, "
  • Fido Networks
  • \n"); fprintf(hp, "
  • Archivers
  • \n"); fprintf(hp, "
  • Virus Scaners
  • \n"); - fprintf(hp, "
  • Modem Types
  • \n"); + fprintf(hp, "
  • Modem Types
  • \n"); fprintf(hp, "
  • TTY Lines Info
  • \n"); fprintf(hp, "
  • Fidonet Nodes
  • \n"); fprintf(hp, "
  • BBS: Security Limits
  • \n"); @@ -250,8 +251,8 @@ void site_docs(void) fprintf(hp, "
  • TIC: Fileecho Areas
  • \n"); fprintf(hp, "
  • TIC: Hatch Manager
  • \n"); fprintf(hp, "
  • TIC: Magic Files
  • \n"); - fprintf(hp, "
  • Newfiles Groups
  • \n"); - fprintf(hp, "
  • Newfiles Reports
  • \n"); + fprintf(hp, "
  • Newfiles Groups
  • \n"); + fprintf(hp, "
  • Newfiles Reports
  • \n"); fprintf(hp, "
  • Filefind Setup
  • \n"); fprintf(hp, "
  • BBS Users
  • \n"); fprintf(hp, "
  • Mail Services
  • \n");