From 3abfd5bfcc3dd94bf554917f20144ca36dfc4218 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Mon, 9 Jan 2006 05:40:24 +0000 Subject: [PATCH] Site Configuration screen moved to tabbed dialog --- webcit/ChangeLog | 3 + webcit/siteconfig.c | 1025 +++++++++++++++---------------------------- 2 files changed, 367 insertions(+), 661 deletions(-) diff --git a/webcit/ChangeLog b/webcit/ChangeLog index ef53b6b7b..dfa573c42 100644 --- a/webcit/ChangeLog +++ b/webcit/ChangeLog @@ -1,5 +1,8 @@ $Id$ +Mon Jan 9 00:39:59 EST 2006 ajc +* Site Configuration screen moved to tabbed dialog + Fri Jan 6 11:20:13 EST 2006 ajc * Localization enabled "Your info" from summary screen diff --git a/webcit/siteconfig.c b/webcit/siteconfig.c index 708df3380..1b866524e 100644 --- a/webcit/siteconfig.c +++ b/webcit/siteconfig.c @@ -12,9 +12,15 @@ void display_siteconfig(void) { char buf[SIZ]; - char *whichmenu; int i, j; + char general[SIZ]; + char access[SIZ]; + char network[SIZ]; + char tuning[SIZ]; + char directory[SIZ]; + char purger[SIZ]; + /* expire policy settings */ int sitepolicy = 0; int sitevalue = 0; @@ -31,142 +37,6 @@ void display_siteconfig(void) "\n
\n" ); - wprintf("
" - "
"); - - whichmenu = bstr("whichmenu"); - - if (!strcmp(whichmenu, "")) { - wprintf("\n"); - - wprintf("\n", - _("General"), - _("General site configuration items") - ); - - wprintf("\n", - _("Access"), - _("Access controls and site policy settings") - ); - - wprintf("\n", - _("Network"), - _("Network services") - ); - - wprintf("\n", - _("Tuning"), - _("Advanced server fine-tuning controls") - ); - - wprintf("\n", - _("Directory"), - _("Configure the LDAP connector for Citadel") - ); - - wprintf("\n", - _("Auto-purger"), - _("Configure automatic expiry of old messages") - ); - - wprintf("
" - "" - "\" \"" - "" - "" - "%s
" - "%s" - "
" - "" - "\" \"" - "" - "" - "%s
" - "%s" - "
" - "" - "\" \"" - "" - "" - "%s
" - "%s" - "
" - "" - "\" \"" - "" - "" - "%s
" - "%s" - "
" - "" - "\" \"" - "" - "" - "%s
" - "%s" - "
" - "" - "\" \"" - "" - "" - "%s
" - "%s" - "
"); - wprintf("
\n"); - wDumpContent(1); - return; - } - - if (!strcasecmp(whichmenu, "general")) { - wprintf("

"); - wprintf(_("General site configuration items")); - wprintf("

\n"); - } - - if (!strcasecmp(whichmenu, "access")) { - wprintf("

"); - wprintf(_("Access controls and site policy settings")); - wprintf("

\n"); - } - - if (!strcasecmp(whichmenu, "network")) { - wprintf("

"); - wprintf(_("Network services")); - wprintf("

"); - wprintf(_("Changes made on this screen will not take effect " - "until you restart the Citadel server.")); - wprintf("
\n"); - } - - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("

"); - wprintf(_("Advanced server fine-tuning controls")); - wprintf("

\n"); - } - - if (!strcasecmp(whichmenu, "ldap")) { - wprintf("

"); - wprintf(_("Citadel LDAP connector configuration")); - wprintf("

"); - wprintf(_("Changes made on this screen will not take effect " - "until you restart the Citadel server.")); - wprintf("
\n"); - } - - if (!strcasecmp(whichmenu, "purger")) { - wprintf("

"); - wprintf(_("Message auto-purger settings")); - wprintf("

"); - wprintf(_("These settings may be overridden on a per-floor or per-room basis.")); - wprintf("
\n"); - } - serv_printf("CONF get"); serv_getln(buf, sizeof buf); if (buf[0] != '1') { @@ -176,569 +46,394 @@ void display_siteconfig(void) wprintf("\n"); wprintf("
\n"); wprintf("%s
\n", &buf[4]); - do_template("endbox"); wDumpContent(1); return; } - wprintf("
\n"); - wprintf("\n"); + wprintf("
" + "
\n"); + + sprintf(&purger[strlen(purger)], "\n"); + + sprintf(&purger[strlen(purger)], "\n"); + + sprintf(&purger[strlen(purger)], "\n"); + + sprintf(&purger[strlen(purger)], "\n"); + + + sprintf(&general[strlen(general)], "
"); + + char *tabnames[] = { + _("General"), + _("Access"), + _("Network"), + _("Tuning"), + _("Directory"), + _("Auto-purger") + }; + + sprintf(general, "

%s

", + _("General site configuration items") + ); + + sprintf(access, "

%s

", + _("Access controls and site policy settings") + ); + + sprintf(network, "

%s

%s

", + _("Network services"), + _("Changes made on this screen will not take effect " + "until you restart the Citadel server.") + ); + + sprintf(tuning, "

%s

", + _("Advanced server fine-tuning controls") + ); + + sprintf(directory, "

%s

%s

", + _("Configure the LDAP connector for Citadel"), + _("Changes made on this screen will not take effect " + "until you restart the Citadel server.") + ); + + sprintf(purger, "

%s

%s

", + _("Configure automatic expiry of old messages"), + _("These settings may be overridden on a per-floor or per-room basis.") + ); + + + wprintf("\n"); i = 0; while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { switch (++i) { case 1: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 2: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 3: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 4: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 5: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 6: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 7: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 8: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 9: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 10: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 11: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 12: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 13: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 14: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 15: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 17: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 18: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 19: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 20: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 21: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 22: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 23: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 24: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 25: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 27: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 28: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 29: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 30: - if (!strcasecmp(whichmenu, "access")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&access[strlen(access)], "\n"); break; case 31: /* position 31 is no longer in use */ break; case 32: - if (!strcasecmp(whichmenu, "purger")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&purger[strlen(purger)], "\n"); break; case 33: - if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&directory[strlen(directory)], "\n"); break; case 34: - if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) { - wprintf("\n"); - } - else { - wprintf("", atoi(buf)); - } + sprintf(&directory[strlen(directory)], "\n"); break; case 35: - if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&directory[strlen(directory)], "\n"); break; case 36: - if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&directory[strlen(directory)], "\n"); break; case 37: - if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&directory[strlen(directory)], "\n"); break; case 38: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 39: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 40: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 41: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 42: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 43: - if (!strcasecmp(whichmenu, "general")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&general[strlen(general)], "\n"); break; case 44: - if (!strcasecmp(whichmenu, "tuning")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&tuning[strlen(tuning)], "\n"); break; case 45: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; case 46: - if (!strcasecmp(whichmenu, "network")) { - wprintf("\n"); - } - else { - wprintf("", buf); - } + sprintf(&network[strlen(network)], "\n"); break; } } @@ -757,65 +452,73 @@ void display_siteconfig(void) mboxvalue = extract_int(&buf[4], 1); } - if (!strcasecmp(whichmenu, "purger")) { - - wprintf("\n"); - - wprintf("\n"); - - wprintf("\n"); - - wprintf("\n"); - - wprintf("\n"); - - } - else { - wprintf("\n", sitepolicy); - wprintf("\n", sitevalue); - wprintf("\n", mboxpolicy); - wprintf("\n", mboxvalue); - } - wprintf("
"); - wprintf(_("Node name")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Node name")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Fully qualified domain name")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Fully qualified domain name")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Human-readable node name")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Human-readable node name")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Telephone number")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Telephone number")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Automatically grant room-aide status to users who create private rooms")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&access[strlen(access)], _("Automatically grant room-aide status to users who create private rooms")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Server connection idle timeout (in seconds)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Server connection idle timeout (in seconds)")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Initial access level for new users")); - wprintf(""); - wprintf(""); - wprintf("
"); + sprintf(&access[strlen(access)], _("Initial access level for new users")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Require registration for new users")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&access[strlen(access)], _("Require registration for new users")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Quarantine messages from problem users")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&access[strlen(access)], _("Quarantine messages from problem users")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Name of quarantine room")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&access[strlen(access)], _("Name of quarantine room")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", buf); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Paginator prompt (for text mode clients)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Paginator prompt (for text mode clients)")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Restrict access to Internet mail")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&access[strlen(access)], _("Restrict access to Internet mail")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Geographic location of this system")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Geographic location of this system")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Name of system administrator")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&general[strlen(general)], _("Name of system administrator")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", buf); + sprintf(&general[strlen(general)], "
"); - wprintf(_("Maximum concurrent sessions (0 = no limit)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Maximum concurrent sessions (0 = no limit)")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Default user purge time (days)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Default user purge time (days)")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Default room purge time (days)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Default room purge time (days)")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Name of room to log pages")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&access[strlen(access)], _("Name of room to log pages")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", buf); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Access level required to create rooms")); - wprintf(""); - wprintf(""); - wprintf("
"); + sprintf(&access[strlen(access)], _("Access level required to create rooms")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Maximum message length")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Maximum message length")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Minimum number of worker threads")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Minimum number of worker threads")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Maximum number of worker threads")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Maximum number of worker threads")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", buf); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("POP3 listener port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("POP3 listener port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("SMTP MTA port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("SMTP MTA port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("Allow aides to zap (forget) rooms")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&access[strlen(access)], _("Allow aides to zap (forget) rooms")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&access[strlen(access)], "
"); - wprintf(_("IMAP listener port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("IMAP listener port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("Network run frequency (in seconds)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("Network run frequency (in seconds)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("Disable self-service user account creation")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&access[strlen(access)], _("Disable self-service user account creation")); + sprintf(&access[strlen(access)], ""); + sprintf(&access[strlen(access)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&access[strlen(access)], "
"); - wprintf(_("Hour to run database auto-purge")); - wprintf(""); - wprintf(""); - wprintf("
"); + sprintf(&purger[strlen(purger)], _("Hour to run database auto-purge")); + sprintf(&purger[strlen(purger)], ""); + sprintf(&purger[strlen(purger)], ""); + sprintf(&purger[strlen(purger)], "
"); - wprintf(_("Host name of LDAP server (blank to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&directory[strlen(directory)], _("Host name of LDAP server (blank to disable)")); + sprintf(&directory[strlen(directory)], ""); + sprintf(&directory[strlen(directory)], "", buf); + sprintf(&directory[strlen(directory)], "
"); - wprintf(_("Port number of LDAP server (blank to disable)")); - wprintf(""); - wprintf("", atoi(buf)); - wprintf("
"); + sprintf(&directory[strlen(directory)], _("Port number of LDAP server (blank to disable)")); + sprintf(&directory[strlen(directory)], ""); + sprintf(&directory[strlen(directory)], "", atoi(buf)); + sprintf(&directory[strlen(directory)], "
"); - wprintf(_("Base DN")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&directory[strlen(directory)], _("Base DN")); + sprintf(&directory[strlen(directory)], ""); + sprintf(&directory[strlen(directory)], "", buf); + sprintf(&directory[strlen(directory)], "
"); - wprintf(_("Bind DN")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&directory[strlen(directory)], _("Bind DN")); + sprintf(&directory[strlen(directory)], ""); + sprintf(&directory[strlen(directory)], "", buf); + sprintf(&directory[strlen(directory)], "
"); - wprintf(_("Password for bind DN")); - wprintf(""); - wprintf("", - buf); - wprintf("
"); + sprintf(&directory[strlen(directory)], _("Password for bind DN")); + sprintf(&directory[strlen(directory)], ""); + sprintf(&directory[strlen(directory)], "", + buf); + sprintf(&directory[strlen(directory)], "
"); - wprintf(_("Server IP address (0.0.0.0 for 'any')")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("Server IP address (0.0.0.0 for 'any')")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("SMTP MSA port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("SMTP MSA port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("IMAP over SSL port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("IMAP over SSL port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("POP3 over SSL port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("POP3 over SSL port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("SMTP over SSL port (-1 to disable)")); - wprintf(""); - wprintf("", buf); - wprintf("
"); + sprintf(&network[strlen(network)], _("SMTP over SSL port (-1 to disable)")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", buf); + sprintf(&network[strlen(network)], "
"); - wprintf(_("Enable full text index (warning: resource intensive)")); - wprintf(""); - wprintf("", + sprintf(&general[strlen(general)], "
"); + sprintf(&general[strlen(general)], _("Enable full text index (warning: resource intensive)")); + sprintf(&general[strlen(general)], ""); + sprintf(&general[strlen(general)], "", ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); - wprintf(_("Automatically delete committed database logs")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&tuning[strlen(tuning)], _("Automatically delete committed database logs")); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&tuning[strlen(tuning)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&tuning[strlen(tuning)], "
"); - wprintf(_("Instantly expunge deleted messages in IMAP")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&network[strlen(network)], _("Instantly expunge deleted messages in IMAP")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&network[strlen(network)], "
"); - wprintf(_("Allow unauthenticated SMTP clients to spoof this site's domains")); - wprintf(""); - wprintf("", - ((atoi(buf) != 0) ? "CHECKED" : "")); - wprintf("
"); + sprintf(&network[strlen(network)], _("Allow unauthenticated SMTP clients to spoof this site's domains")); + sprintf(&network[strlen(network)], ""); + sprintf(&network[strlen(network)], "", + ((atoi(buf) != 0) ? "CHECKED" : "")); + sprintf(&network[strlen(network)], "

"); - wprintf(_("Default message expire policy for public rooms")); - wprintf(""); - wprintf("", - ((sitepolicy == 1) ? "CHECKED" : "") ); - wprintf(_("Never automatically expire messages")); - wprintf("
\n"); - wprintf("", - ((sitepolicy == 2) ? "CHECKED" : "") ); - wprintf(_("Expire by message count")); - wprintf("
\n"); - wprintf("", - ((sitepolicy == 3) ? "CHECKED" : "") ); - wprintf(_("Expire by message age")); - wprintf("
"); - wprintf(_("Number of messages or days: ")); - wprintf("", sitevalue); - wprintf("

"); - wprintf(_("Default message expire policy for private mailboxes")); - wprintf(""); - wprintf("", - ((mboxpolicy == 0) ? "CHECKED" : "") ); - wprintf(_("Same policy as public rooms")); - wprintf("
\n"); - wprintf("", - ((mboxpolicy == 1) ? "CHECKED" : "") ); - wprintf(_("Never automatically expire messages")); - wprintf("
\n"); - wprintf("", - ((mboxpolicy == 2) ? "CHECKED" : "") ); - wprintf(_("Expire by message count")); - wprintf("
\n"); - wprintf("", - ((mboxpolicy == 3) ? "CHECKED" : "") ); - wprintf(_("Expire by message age")); - wprintf("
"); - wprintf(_("Number of messages or days: ")); - wprintf("", mboxvalue); - wprintf("

"); + sprintf(&purger[strlen(purger)], "

"); + sprintf(&purger[strlen(purger)], _("Default message expire policy for public rooms")); + sprintf(&purger[strlen(purger)], ""); + sprintf(&purger[strlen(purger)], "", + ((sitepolicy == 1) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Never automatically expire messages")); + sprintf(&purger[strlen(purger)], "
\n"); + sprintf(&purger[strlen(purger)], "", + ((sitepolicy == 2) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Expire by message count")); + sprintf(&purger[strlen(purger)], "
\n"); + sprintf(&purger[strlen(purger)], "", + ((sitepolicy == 3) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Expire by message age")); + sprintf(&purger[strlen(purger)], "
"); + sprintf(&purger[strlen(purger)], _("Number of messages or days: ")); + sprintf(&purger[strlen(purger)], "", sitevalue); + sprintf(&purger[strlen(purger)], "

"); + sprintf(&purger[strlen(purger)], _("Default message expire policy for private mailboxes")); + sprintf(&purger[strlen(purger)], ""); + sprintf(&purger[strlen(purger)], "", + ((mboxpolicy == 0) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Same policy as public rooms")); + sprintf(&purger[strlen(purger)], "
\n"); + sprintf(&purger[strlen(purger)], "", + ((mboxpolicy == 1) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Never automatically expire messages")); + sprintf(&purger[strlen(purger)], "
\n"); + sprintf(&purger[strlen(purger)], "", + ((mboxpolicy == 2) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Expire by message count")); + sprintf(&purger[strlen(purger)], "
\n"); + sprintf(&purger[strlen(purger)], "", + ((mboxpolicy == 3) ? "CHECKED" : "") ); + sprintf(&purger[strlen(purger)], _("Expire by message age")); + sprintf(&purger[strlen(purger)], "
"); + sprintf(&purger[strlen(purger)], _("Number of messages or days: ")); + sprintf(&purger[strlen(purger)], "", mboxvalue); + sprintf(&purger[strlen(purger)], "

"); + sprintf(&access[strlen(access)], ""); + sprintf(&network[strlen(network)], ""); + sprintf(&tuning[strlen(tuning)], ""); + sprintf(&directory[strlen(directory)], ""); + sprintf(&purger[strlen(purger)], ""); + + tabbed_dialog(6, tabnames); + + begin_tab(0, 6); wprintf("%s", general); end_tab(0, 6); + begin_tab(1, 6); wprintf("%s", access); end_tab(1, 6); + begin_tab(2, 6); wprintf("%s", network); end_tab(2, 6); + begin_tab(3, 6); wprintf("%s", tuning); end_tab(3, 6); + begin_tab(4, 6); wprintf("%s", directory); end_tab(4, 6); + begin_tab(5, 6); wprintf("%s", purger); end_tab(5, 6); + + wprintf("
"); wprintf("", _("Save changes")); wprintf(" "); wprintf("\n", _("Cancel")); -- 2.39.2