+ sprintf(&access[strlen(access)], "<TR><TD>");
+ sprintf(&access[strlen(access)], _("Disable self-service user account creation"));
+ sprintf(&access[strlen(access)], "</TD><TD>");
+ sprintf(&access[strlen(access)], "<input type=\"checkbox\" NAME=\"c_disable_newu\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&access[strlen(access)], "</TD></TR>\n");
+ break;
+ case 31:
+ sprintf(&purger[strlen(purger)], "<TR><TD>");
+ sprintf(&purger[strlen(purger)], _("Hour to run database auto-purge"));
+ sprintf(&purger[strlen(purger)], "</TD><TD>");
+ sprintf(&purger[strlen(purger)], "<SELECT NAME=\"c_purge_hour\" SIZE=\"1\">\n");
+ for (j=0; j<=23; ++j) {
+ sprintf(&purger[strlen(purger)], "<OPTION %s VALUE=\"%d\">%d:00%s</OPTION>\n",
+ ((atoi(buf) == j) ? "SELECTED" : ""),
+ j,
+ (get_time_format_cached() == WC_TIMEFORMAT_24) ? j : ((j == 0) ? 12 : ((j>12) ? j-12 : j)),
+ (get_time_format_cached() == WC_TIMEFORMAT_24) ? "" : ((j >= 12) ? "pm" : "am")
+ );
+ }
+ sprintf(&purger[strlen(purger)], "</SELECT>");
+ sprintf(&purger[strlen(purger)], "</TD></TR>\n");
+ break;
+ case 32:
+ sprintf(&directory[strlen(directory)], "<TR><TD>");
+ sprintf(&directory[strlen(directory)], _("Host name of LDAP server (blank to disable)"));
+ sprintf(&directory[strlen(directory)], "</TD><TD>");
+ sprintf(&directory[strlen(directory)], "<input type=\"text\" NAME=\"c_ldap_host\" MAXLENGTH=\"127\" VALUE=\"%s\">", buf);
+ sprintf(&directory[strlen(directory)], "</TD></TR>\n");
+ break;
+ case 33:
+ sprintf(&directory[strlen(directory)], "<TR><TD>");
+ sprintf(&directory[strlen(directory)], _("Port number of LDAP server (blank to disable)"));
+ sprintf(&directory[strlen(directory)], "</TD><TD>");
+ sprintf(&directory[strlen(directory)], "<input type=\"text\" NAME=\"c_ldap_port\" MAXLENGTH=\"127\" VALUE=\"%d\">", atoi(buf));
+ sprintf(&directory[strlen(directory)], "</TD></TR>\n");
+ break;
+ case 34:
+ sprintf(&directory[strlen(directory)], "<TR><TD>");
+ sprintf(&directory[strlen(directory)], _("Base DN"));
+ sprintf(&directory[strlen(directory)], "</TD><TD>");
+ sprintf(&directory[strlen(directory)], "<input type=\"text\" NAME=\"c_ldap_base_dn\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
+ sprintf(&directory[strlen(directory)], "</TD></TR>\n");
+ break;
+ case 35:
+ sprintf(&directory[strlen(directory)], "<TR><TD>");
+ sprintf(&directory[strlen(directory)], _("Bind DN"));
+ sprintf(&directory[strlen(directory)], "</TD><TD>");
+ sprintf(&directory[strlen(directory)], "<input type=\"text\" NAME=\"c_ldap_bind_dn\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
+ sprintf(&directory[strlen(directory)], "</TD></TR>\n");
+ break;
+ case 36:
+ sprintf(&directory[strlen(directory)], "<TR><TD>");
+ sprintf(&directory[strlen(directory)], _("Password for bind DN"));
+ sprintf(&directory[strlen(directory)], "</TD><TD>");
+ sprintf(&directory[strlen(directory)], "<input type=\"password\" NAME=\"c_ldap_bind_pw\" MAXLENGTH=\"255\" VALUE=\"%s\">",
+ buf);
+ sprintf(&directory[strlen(directory)], "</TD></TR>\n");
+ break;
+ case 37:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("Server IP address (0.0.0.0 for 'any')"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"text\" NAME=\"c_ip_addr\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
+ case 38:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("SMTP MSA port (-1 to disable)"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"text\" NAME=\"c_msa_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
+ case 39:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("IMAP over SSL port (-1 to disable)"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"text\" NAME=\"c_imaps_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
+ case 40:
+ sprintf(&pop3[strlen(pop3)], "<TR><TD>");
+ sprintf(&pop3[strlen(pop3)], _("POP3 over SSL port (-1 to disable)"));
+ sprintf(&pop3[strlen(pop3)], "</TD><TD>");
+ sprintf(&pop3[strlen(pop3)], "<input type=\"text\" NAME=\"c_pop3s_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+ sprintf(&pop3[strlen(pop3)], "</TD></TR>\n");
+ break;
+ case 41:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("SMTP over SSL port (-1 to disable)"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"text\" NAME=\"c_smtps_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
+ case 42:
+ sprintf(&idxjnl[strlen(idxjnl)], "<TR><TD>");
+ sprintf(&idxjnl[strlen(idxjnl)], _("Enable full text index"));
+ sprintf(&idxjnl[strlen(idxjnl)], "</TD><TD>");
+ sprintf(&idxjnl[strlen(idxjnl)], "<input type=\"checkbox\" NAME=\"c_enable_fulltext\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&idxjnl[strlen(idxjnl)], "</TD></TR>\n");
+ break;
+ case 43:
+ sprintf(&tuning[strlen(tuning)], "<TR><TD>");
+ sprintf(&tuning[strlen(tuning)], _("Automatically delete committed database logs"));
+ sprintf(&tuning[strlen(tuning)], "</TD><TD>");
+ sprintf(&tuning[strlen(tuning)], "<input type=\"checkbox\" NAME=\"c_auto_cull\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&tuning[strlen(tuning)], "</TD></TR>\n");
+ break;
+ case 44:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("Instantly expunge deleted messages in IMAP"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"checkbox\" NAME=\"c_instant_expunge\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
+ case 45:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("Allow unauthenticated SMTP clients to spoof this site's domains"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"checkbox\" NAME=\"c_allow_spoofing\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
+ case 46:
+ sprintf(&idxjnl[strlen(idxjnl)], "<TR><TD>");
+ sprintf(&idxjnl[strlen(idxjnl)], _("Perform journaling of email messages"));
+ sprintf(&idxjnl[strlen(idxjnl)], "</TD><TD>");
+ sprintf(&idxjnl[strlen(idxjnl)], "<input type=\"checkbox\" NAME=\"c_journal_email\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&idxjnl[strlen(idxjnl)], "</TD></TR>\n");
+ break;
+ case 47:
+ sprintf(&idxjnl[strlen(idxjnl)], "<TR><TD>");
+ sprintf(&idxjnl[strlen(idxjnl)], _("Perform journaling of non-email messages"));
+ sprintf(&idxjnl[strlen(idxjnl)], "</TD><TD>");
+ sprintf(&idxjnl[strlen(idxjnl)], "<input type=\"checkbox\" NAME=\"c_journal_pubmsgs\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&idxjnl[strlen(idxjnl)], "</TD></TR>\n");