* More vcard editing form stuff
authorArt Cancro <ajc@citadel.org>
Wed, 6 Mar 2002 05:22:33 +0000 (05:22 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 6 Mar 2002 05:22:33 +0000 (05:22 +0000)
webcit/ChangeLog
webcit/vcard_edit.c
webcit/webcit.c
webcit/webcit.h

index dcc1a6c9261668d71ecc754786edcb8ad5ef0f8f..cb15edbfb05d1e6eb49efa5d192a0c3bab662da6 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 323.9  2002/03/06 05:22:33  ajc
+* More vcard editing form stuff
+
 Revision 323.8  2002/03/05 05:05:06  ajc
 * More vCard editing stuff
 
@@ -735,4 +738,3 @@ 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 f481807e147e98a1951a6fad1e31471a49597d46..e920ec942455ab9c73aed2810316c542c3cc9a96 100644 (file)
@@ -134,7 +134,7 @@ void edit_vcard(void) {
                }
 
                else if (!strcasecmp(key, "tel;work")) {
-                       extract_token(hometel, value, 0, ';');
+                       extract_token(worktel, value, 0, ';');
                }
 
                else {
@@ -149,7 +149,7 @@ void edit_vcard(void) {
        vcard_free(v);
 
        /* Display the form */
-       wprintf("<FORM METHOD=\"POST\" ACTION=\"/do_FIXME_stuff\">\n");
+       wprintf("<FORM METHOD=\"POST\" ACTION=\"/submit_vcard\">\n");
        wprintf("<H2><IMG VALIGN=CENTER SRC=\"/static/vcard.gif\">"
                "Contact information for FIXME</H2>\n");
 
@@ -167,7 +167,7 @@ void edit_vcard(void) {
                firstname);
        wprintf("<TD><INPUT TYPE=\"text\" NAME=\"middlename\" "
                "VALUE=\"%s\" MAXLENGTH=\"29\"></TD>",
-               firstname);
+               middlename);
        wprintf("<TD><INPUT TYPE=\"text\" NAME=\"lastname\" "
                "VALUE=\"%s\" MAXLENGTH=\"29\"></TD>",
                lastname);
@@ -213,10 +213,57 @@ void edit_vcard(void) {
                "VALUE=\"%s\" MAXLENGTH=\"29\"></TD></TR></TABLE>\n",
                worktel);
 
-       wprintf("<TEXTAREA NAME=\"extrafields\" ROWS=10 COLS=80 WIDTH=80>");
+       wprintf("<INPUT TYPE=\"hidden\" NAME=\"extrafields\" VALUE=\"");
        escputs(extrafields);
-       wprintf("</TEXTAREA><BR>\n");
+       wprintf("\">\n");
+
+       wprintf("<CENTER>\n");
+                wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
+                wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
+                wprintf("</CENTER></FORM>\n");
 
         
        wDumpContent(1);
 }
+
+
+
+void submit_vcard(void) {
+       char buf[SIZ];
+
+
+       sprintf(buf, "ENT0 1|||4||");
+       fprintf(stderr, "%s\n", buf);
+       serv_puts(buf);
+       serv_gets(buf);
+       fprintf(stderr, "%s\n", buf);
+       if (buf[0] != '4') {
+               edit_vcard();
+               return;
+       }
+
+       serv_puts("Content-type: text/x-vcard");
+       serv_puts("");
+       serv_puts("begin:vcard");
+       serv_printf("n:%s;%s;%s;%s;%s",
+               bstr("lastname"),
+               bstr("firstname"),
+               bstr("middlename"),
+               bstr("prefix"),
+               bstr("suffix") );
+       serv_printf("adr:%s;%s;%s;%s;%s;%s;%s",
+               bstr("pobox"),
+               bstr("extadr"),
+               bstr("street"),
+               bstr("city"),
+               bstr("state"),
+               bstr("zipcode"),
+               bstr("country") );
+       serv_printf("tel;home:%s", bstr("hometel") );
+       serv_printf("tel;work:%s", bstr("worktel") );
+       serv_printf("%s", bstr("extrafields") );
+       serv_puts("end:vcard");
+       serv_puts("000");
+
+       edit_vcard();
+}
index 6020da81bca3b40c2533e22e5913722f133b2be7..c285ab10849061878a1804bbce63ba35d2574d8a 100644 (file)
@@ -1033,6 +1033,8 @@ void session_loop(struct httprequest *req)
                output_mimepart();
        } else if (!strcasecmp(action, "edit_vcard")) {
                edit_vcard();
+       } else if (!strcasecmp(action, "submit_vcard")) {
+               submit_vcard();
        } else if (!strcasecmp(action, "diagnostics")) {
                output_headers(1);
 
index 5b98fb1e8b87dcf5a4c2a96bbe779753f86c63ff..18cfeea3d77c79a30cb82a0915acb259d6d85384 100644 (file)
@@ -288,3 +288,4 @@ int decode_base64(char *dest, char *source);
 char *load_mimepart(long msgnum, char *partnum);
 int pattern2(char *search, char *patn);
 void edit_vcard(void);
+void submit_vcard(void);