* Completed the "Internet Configuration" screen
authorArt Cancro <ajc@citadel.org>
Wed, 21 Jul 2004 02:45:15 +0000 (02:45 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 21 Jul 2004 02:45:15 +0000 (02:45 +0000)
webcit/ChangeLog
webcit/inetconf.c

index 00029866f59c27f8dfe698428e7358e4d3316fa8..b99e6974fd3c10a566ae2ef8b14305e91a28f768 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 522.18  2004/07/21 02:45:15  ajc
+* Completed the "Internet Configuration" screen
+
 Revision 522.17  2004/07/16 19:13:37  ajc
 *** empty log message ***
 
@@ -1983,3 +1986,4 @@ Sun Dec  6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
+
index c77b0a898a93001aa70dd7cb6481af08163e775a..8858d5af2e8c322845e9acb3b8ab4c64201f9db4 100644 (file)
@@ -139,7 +139,13 @@ void display_inetconf(void)
                                wprintf("<font size=-1>(Delete)</font></a></TD></TR>\n");
                        }
                }
-               wprintf("<TR><TD>&nbsp;</TD><TD ALIGN=RIGHT>(add)</TD></TR></TABLE>\n");
+               wprintf("<FORM METHOD=\"POST\" ACTION=\"/save_inetconf\">\n"
+                       "<TR><TD>"
+                       "<INPUT TYPE=\"text\" NAME=\"ename\" MAXLENGTH=\"64\">"
+                       "<INPUT TYPE=\"hidden\" NAME=\"etype\" VALUE=\"%s\">", ic_keyword[which]);
+               wprintf("</TD><TD ALIGN=RIGHT>"
+                       "<INPUT TYPE=\"submit\" NAME=\"oper\" VALUE=\"Add\">"
+                       "</TD></TR></TABLE></FORM>\n");
                do_template("endbox");
                wprintf("</TD>");
                if (which % 2 != 0) {
@@ -158,8 +164,42 @@ void display_inetconf(void)
 
 
 void save_inetconf(void) {
+       char buf[SIZ];
+       char ename[SIZ];
+       char etype[SIZ];
+       char newconfig[65536];
 
-       strcpy(WC->ImportantMessage, "FIXME did we do anything?");
+       strcpy(newconfig, "");
+       serv_printf("CONF GETSYS|application/x-citadel-internet-config");
+       serv_gets(buf);
+       if (buf[0] == '1') while (serv_gets(buf), strcmp(buf, "000")) {
+               extract(ename, buf, 0);
+               extract(etype, buf, 1);
+               if (strlen(buf) == 0) {
+                       /* skip blank lines */
+               }
+               else if ((!strcasecmp(ename, bstr("ename")))
+                  &&   (!strcasecmp(etype, bstr("etype")))
+                  &&   (!strcasecmp(bstr("oper"), "delete"))
+               ) {
+                       sprintf(WC->ImportantMessage, "%s deleted.", ename);
+               }
+               else {
+                       if (strlen(newconfig) > 0) strcat(newconfig, "\n");
+                       strcat(newconfig, buf);
+               }
+       }
 
+       serv_printf("CONF PUTSYS|application/x-citadel-internet-config");
+       serv_gets(buf);
+       if (buf[0] == '4') {
+               serv_puts(newconfig);
+               if (!strcasecmp(bstr("oper"), "add")) {
+                       serv_printf("%s|%s", bstr("ename"), bstr("etype") );
+                       sprintf(WC->ImportantMessage, "%s added.", bstr("ename"));
+               }
+               serv_puts("000");
+       }
+       
        display_inetconf();
 }