]> code.citadel.org Git - citadel.git/commitdiff
* Create Room can now offer calendar and address book rooms
authorArt Cancro <ajc@citadel.org>
Wed, 28 Jan 2004 04:30:48 +0000 (04:30 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 28 Jan 2004 04:30:48 +0000 (04:30 +0000)
webcit/ChangeLog
webcit/roomops.c

index 7d897367ef301f0eeb8f137a0ccf3b5c5d77a6c6..d57b94caccf69ae417997cb6bce9fc4206a1de3d 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 502.4  2004/01/28 04:30:48  ajc
+* Create Room can now offer calendar and address book rooms
+
 Revision 502.3  2004/01/17 21:25:30  ajc
 * Add 'base DN' and 'bind DN' and 'bind DN password' to siteconfig
 * Split the config for LDAP Connector into its own panel
@@ -1627,4 +1630,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 8f580df660c3fbe37214289de3fa88dbe52f78b3..b0c36a3b065e99bfa45c980b6d9a815d0e8615ee 100644 (file)
@@ -1429,6 +1429,18 @@ void display_entroom(void)
        wprintf("<UL><LI>Name of room: ");
        wprintf("<INPUT TYPE=\"text\" NAME=\"er_name\" MAXLENGTH=\"19\">\n");
 
+        wprintf("<LI>Resides on floor: ");
+        load_floorlist(); 
+        wprintf("<SELECT NAME=\"er_floor\" SIZE=\"1\">\n");
+        for (i = 0; i < 128; ++i)
+                if (strlen(floorlist[i]) > 0) {
+                        wprintf("<OPTION ");
+                        wprintf("VALUE=\"%d\">", i);
+                        escputs(floorlist[i]);
+                        wprintf("</OPTION>\n");
+                }
+        wprintf("</SELECT>\n");
+
        wprintf("<LI>Type of room:<UL>\n");
 
        wprintf("<LI><INPUT TYPE=\"radio\" NAME=\"type\" VALUE=\"public\" ");
@@ -1448,19 +1460,15 @@ void display_entroom(void)
        wprintf("> Personal (mailbox for you only)\n");
        wprintf("</UL>\n");
 
-        wprintf("<LI>Resides on floor: ");
-        load_floorlist(); 
-        wprintf("<SELECT NAME=\"er_floor\" SIZE=\"1\">\n");
-        for (i = 0; i < 128; ++i)
-                if (strlen(floorlist[i]) > 0) {
-                        wprintf("<OPTION ");
-                        wprintf("VALUE=\"%d\">", i);
-                        escputs(floorlist[i]);
-                        wprintf("</OPTION>\n");
-                }
-        wprintf("</SELECT>\n");                
-       wprintf("</UL>\n");
-
+       wprintf("<LI>Default view for room: "); /* FOO */
+        wprintf("<SELECT NAME=\"er_view\" SIZE=\"1\">\n");
+       for (i=0; i<(sizeof viewdefs / sizeof (char *)); ++i) {
+               wprintf("<OPTION %s VALUE=\"%d\">",
+                       ((i == 0) ? "SELECTED" : ""), i );
+               escputs(viewdefs[i]);
+               wprintf("</OPTION>\n");
+       }
+       wprintf("</SELECT>\n");
 
        wprintf("<CENTER>\n");
        wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
@@ -1478,6 +1486,43 @@ void display_entroom(void)
 
 
 
+
+/*
+ * support function for entroom() -- sets the default view 
+ */
+void er_set_default_view(int newview) {
+
+       char buf[SIZ];
+
+       char rm_name[SIZ];
+       char rm_pass[SIZ];
+       char rm_dir[SIZ];
+       int rm_bits1;
+       int rm_floor;
+       int rm_listorder;
+       int rm_bits2;
+
+       serv_puts("GETR");
+       serv_gets(buf);
+       if (buf[0] != '2') return;
+
+       extract(rm_name, &buf[4], 0);
+       extract(rm_pass, &buf[4], 1);
+       extract(rm_dir, &buf[4], 2);
+       rm_bits1 = extract_int(&buf[4], 3);
+       rm_floor = extract_int(&buf[4], 4);
+       rm_listorder = extract_int(&buf[4], 5);
+       rm_bits2 = extract_int(&buf[4], 7);
+
+       serv_printf("SETR %s|%s|%s|%d|0|%d|%d|%d|%d",
+               rm_name, rm_pass, rm_dir, rm_bits1, rm_floor,
+               rm_listorder, newview, rm_bits2
+       );
+       serv_gets(buf);
+}
+
+
+
 /*
  * enter a new room
  */
@@ -1520,6 +1565,8 @@ void entroom(void)
                display_main_menu();
                return;
        }
+       gotoroom(er_name, 0);
+       er_set_default_view(atoi(bstr("er_view")));
        smart_goto(er_name);
 }