]> code.citadel.org Git - citadel.git/commitdiff
messages.c: added "move message" functionality
authorArt Cancro <ajc@citadel.org>
Mon, 14 Dec 1998 00:26:41 +0000 (00:26 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 14 Dec 1998 00:26:41 +0000 (00:26 +0000)
webcit/ChangeLog
webcit/child.h
webcit/messages.c
webcit/webcit.c

index 74379fbd299bf96598a6381aaf4b6edea0275a3c..6c53eb9e64af7c8163c8707e16bdb52ad29057c5 100644 (file)
@@ -6,6 +6,7 @@ Sun Dec 13 13:35:12 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Added a housekeeping thread to periodically remove dead sessions
          and kill idle sessions.
        * messages.c: added "delete message" functionality
+       * messages.c: added "move message" functionality
 
 Fri Dec 11 21:14:36 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Brought over message reading and entry functions from old WebCit
index 93481dece3d68ec8e99da02a1b5e281522f0bbbb..78bc3123651c00a9b6fa98770842c346a8ead2e8 100644 (file)
@@ -46,3 +46,5 @@ void display_enter(void);
 void post_message(void);
 void confirm_delete_msg(void);
 void delete_msg(void);
+void confirm_move_msg(void);
+void move_msg(void);
index 3fe11b41489a9b83e0bb617ba7f87003a5245535..b68c67cb7496ada9cd676299a2faa0eceed8448f 100644 (file)
@@ -387,7 +387,6 @@ DONE:       wprintf("</BODY></HTML>\n");
 
 
 
-
 /*
  * Confirm deletion of a message
  */
@@ -448,3 +447,86 @@ void delete_msg(void) {
        wprintf("</BODY></HTML>\n");
        wDumpContent();
        }
+
+
+
+
+/*
+ * Confirm move of a message
+ */
+void confirm_move_msg(void) {
+       long msgid;
+       char buf[256];
+       char targ[256];
+
+       msgid = atol(bstr("msgid"));
+       
+       printf("HTTP/1.0 200 OK\n");
+       output_headers();
+        wprintf("<HTML>");
+        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+
+       wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
+       wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
+       wprintf("<B>Confirm move of message</B>\n");
+       wprintf("</FONT></TD></TR></TABLE>\n");
+
+       wprintf("<CENTER>");
+
+       wprintf("Please select the room to which you would like this message moved:<BR>\n");
+
+       wprintf("<FORM METHOD=\"POST\" ACTION=\"/move_msg\">\n");
+       wprintf("<INPUT TYPE=\"hidden\" NAME=\"msgid\" VALUE=\"%s\">\n",
+               bstr("msgid"));
+
+
+       wprintf("<SELECT NAME=\"target_room\" SIZE=5>\n");
+        serv_puts("LKRA");
+        serv_gets(buf);
+        if (buf[0]=='1') {
+                while(serv_gets(buf), strcmp(buf,"000")) {
+                        extract(targ,buf,0);
+                        wprintf("<OPTION>");
+                        escputs(targ);
+                        wprintf("\n");
+                        }
+                }
+        wprintf("</SELECT>\n");
+        wprintf("<BR>\n");
+
+       wprintf("<INPUT TYPE=\"submit\" NAME=\"yesno\" VALUE=\"Move\">");
+       wprintf("<INPUT TYPE=\"submit\" NAME=\"yesno\" VALUE=\"Cancel\">");
+       wprintf("</FORM></CENTER>\n");
+
+       wprintf("</CENTER>\n");
+       wprintf("</BODY></HTML>\n");
+       wDumpContent();
+       }
+
+
+
+void move_msg(void) {
+       long msgid;
+       char buf[256];
+
+       msgid = atol(bstr("msgid"));
+
+       printf("HTTP/1.0 200 OK\n");
+       output_headers();
+        wprintf("<HTML>");
+        wprintf("</HEAD><BODY BACKGROUND=\"/image&name=background\" TEXT=\"#000000\" LINK=\"#004400\">\n");
+
+       if (!strcasecmp(bstr("yesno"), "Move")) {
+               sprintf(buf, "MOVE %ld|%s", msgid, bstr("target_room"));
+               serv_puts(buf);
+               serv_gets(buf);
+               wprintf("<EM>%s</EM><BR>\n", &buf[4]);
+               }
+       else {
+               wprintf("<EM>Message not deleted.</EM><BR>\n");
+               }
+
+       wprintf("</BODY></HTML>\n");
+       wDumpContent();
+       }
+
index bedb70db679caaa42ff10042435a65384b19960d..d5f931dfc0c1cc29aa4422b0357e1c02c2f118e9 100644 (file)
@@ -587,6 +587,14 @@ fclose(fp);
                delete_msg();
                }
 
+       else if (!strcasecmp(action, "confirm_move_msg")) {
+               confirm_move_msg();
+               }
+
+       else if (!strcasecmp(action, "move_msg")) {
+               move_msg();
+               }
+
        /* When all else fails... */
        else {
                printf("HTTP/1.0 200 OK\n");